diff --git a/src/csui/src/PlayerUiPanels/AutodetectionSettingsPanel.vue b/src/csui/src/PlayerUiPanels/AutodetectionSettingsPanel.vue index 8286d33..f464a28 100644 --- a/src/csui/src/PlayerUiPanels/AutodetectionSettingsPanel.vue +++ b/src/csui/src/PlayerUiPanels/AutodetectionSettingsPanel.vue @@ -234,6 +234,7 @@ /> @@ -244,10 +245,10 @@
Frame extraction canvas type:
- - +
diff --git a/src/ext/lib/aard/Aard.ts b/src/ext/lib/aard/Aard.ts index 22603e0..4833b8b 100644 --- a/src/ext/lib/aard/Aard.ts +++ b/src/ext/lib/aard/Aard.ts @@ -370,14 +370,14 @@ export class Aard { return new GlCanvas({...this.settings.active.arDetect.canvasDimensions.sampleCanvas, id: 'main-gl'}); } catch (e) { if (this.settings.active.arDetect.aardType !== 'webgl') { - return new FallbackCanvas({...this.settings.active.arDetect.canvasDimensions.sampleCanvas, id: 'main-fallback'}); + return new FallbackCanvas({...this.settings.active.arDetect.canvasDimensions.sampleCanvas, id: 'main-legacy'}); } console.error('[ultrawidify|Aard::createCanvas] could not create webgl canvas:', e); this.eventBus.send('uw-config-broadcast', {type: 'aard-error', aardErrors: {webglError: true}}); throw e; } } else if (this.settings.active.arDetect.aardType === 'legacy') { - return new FallbackCanvas({...this.settings.active.arDetect.canvasDimensions.sampleCanvas, id: 'main-fallback'}); + return new FallbackCanvas({...this.settings.active.arDetect.canvasDimensions.sampleCanvas, id: 'main-legacy'}); } else { console.error('[ultrawidify|Aard::createCanvas] invalid value in settings.arDetect.aardType:', this.settings.active.arDetect.aardType); this.eventBus.send('uw-config-broadcast', {type: 'aard-error', aardErrors: {invalidSettings: true}}); diff --git a/src/ext/lib/aard/gl/FallbackCanvas.ts b/src/ext/lib/aard/gl/FallbackCanvas.ts index 901b277..5256d75 100644 --- a/src/ext/lib/aard/gl/FallbackCanvas.ts +++ b/src/ext/lib/aard/gl/FallbackCanvas.ts @@ -2,7 +2,9 @@ import { GlCanvas, GlCanvasOptions } from './GlCanvas'; export class FallbackCanvas extends GlCanvas { - + get type() { + return 'legacy'; + } context: CanvasRenderingContext2D; constructor(options: GlCanvasOptions) { @@ -24,7 +26,7 @@ export class FallbackCanvas extends GlCanvas { protected initWebgl() { } drawVideoFrame(video: HTMLVideoElement) { - this.context.drawImage(video, this.context.canvas.width, this.context.canvas.height); + this.context.drawImage(video, 0, 0, this.context.canvas.width, this.context.canvas.height); } getImageData() { diff --git a/src/ext/lib/aard/gl/GlCanvas.ts b/src/ext/lib/aard/gl/GlCanvas.ts index 58307e7..8bc19b9 100644 --- a/src/ext/lib/aard/gl/GlCanvas.ts +++ b/src/ext/lib/aard/gl/GlCanvas.ts @@ -52,6 +52,9 @@ interface GlCanvasProgramInfo { } export class GlCanvas { + get type() { + return 'webgl'; + } private _canvas: HTMLCanvasElement; private set canvas(x: HTMLCanvasElement) { diff --git a/src/options/AutodetectionSettings.vue b/src/options/AutodetectionSettings.vue index 3f878ec..3a2b50e 100644 --- a/src/options/AutodetectionSettings.vue +++ b/src/options/AutodetectionSettings.vue @@ -574,7 +574,7 @@