Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fba7533d authored by Simon Chan's avatar Simon Chan
Browse files

refactor(webcodecs): rename renderer types

parent aeaa9020
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
---
"@yume-chan/scrcpy-decoder-webcodecs": minor
---

Rename `XXXWebCodecsDecoderRenderer` to `XXXVideoFrameRenderer`
+3 −3
Original line number Diff line number Diff line
@@ -10,7 +10,7 @@ import { WritableStream } from "@yume-chan/stream-extra";

import { Av1Codec, H264Decoder, H265Decoder } from "./codec/index.js";
import type { CodecDecoder } from "./codec/type.js";
import type { WebCodecsVideoDecoderRenderer } from "./render/index.js";
import type { VideoFrameRenderer } from "./render/index.js";

class Pool<T> {
    #controller!: ReadableStreamDefaultController<T>;
@@ -123,7 +123,7 @@ export class WebCodecsVideoDecoder implements ScrcpyVideoDecoder {
    #error: Error | undefined;
    #controller!: WritableStreamDefaultController;

    #renderer: WebCodecsVideoDecoderRenderer;
    #renderer: VideoFrameRenderer;
    get renderer() {
        return this.#renderer;
    }
@@ -302,6 +302,6 @@ export namespace WebCodecsVideoDecoder {
         */
        codec: ScrcpyVideoCodecId;

        renderer: WebCodecsVideoDecoderRenderer;
        renderer: VideoFrameRenderer;
    }
}
+2 −2
Original line number Diff line number Diff line
import { CanvasWebCodecsDecoderRenderer } from "./canvas.js";
import { CanvasVideoFrameRenderer } from "./canvas.js";

export class BitmapWebCodecsDecoderRenderer extends CanvasWebCodecsDecoderRenderer {
export class BitmapVideoFrameRenderer extends CanvasVideoFrameRenderer {
    #context: ImageBitmapRenderingContext;

    constructor(canvas?: HTMLCanvasElement | OffscreenCanvas) {
+2 −4
Original line number Diff line number Diff line
import { createCanvas } from "@yume-chan/scrcpy-decoder-tinyh264";

import type { WebCodecsVideoDecoderRenderer } from "./type.js";
import type { VideoFrameRenderer } from "./type.js";

export abstract class CanvasWebCodecsDecoderRenderer
    implements WebCodecsVideoDecoderRenderer
{
export abstract class CanvasVideoFrameRenderer implements VideoFrameRenderer {
    #canvas: HTMLCanvasElement | OffscreenCanvas;
    get canvas() {
        return this.#canvas;
+2 −4
Original line number Diff line number Diff line
// cspell: ignore insertable

import type { WebCodecsVideoDecoderRenderer } from "./type.js";
import type { VideoFrameRenderer } from "./type.js";

declare class MediaStreamTrackGenerator extends MediaStreamTrack {
    constructor(options: { kind: "audio" | "video" });
@@ -8,9 +8,7 @@ declare class MediaStreamTrackGenerator extends MediaStreamTrack {
    writable: WritableStream<VideoFrame>;
}

export class InsertableStreamWebCodecsDecoderRenderer
    implements WebCodecsVideoDecoderRenderer
{
export class InsertableStreamVideoFrameRenderer implements VideoFrameRenderer {
    static get isSupported() {
        return typeof MediaStreamTrackGenerator !== "undefined";
    }
Loading