From e33e9f13fe6a1fee97b456b0a7071b40b172d432 Mon Sep 17 00:00:00 2001 From: Vanilagy <1696106+Vanilagy@users.noreply.github.com> Date: Wed, 12 Nov 2025 10:05:41 +0100 Subject: [PATCH] Fix missing VideoSample.close() calls in CanvasSink conversion path --- dev/convert.html | 11 +++++++---- src/conversion.ts | 4 ++-- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/dev/convert.html b/dev/convert.html index bb9b7a4..e548520 100644 --- a/dev/convert.html +++ b/dev/convert.html @@ -57,7 +57,7 @@ output, audio: (_, n) => ({ discard: n > 1, - codec: 'aac', + //codec: 'opus', //codec: 'opus', /* process: (sample) => { @@ -73,7 +73,7 @@ //numberOfChannels: 1, //sampleRate: 4000 //discard: true - forceTranscode: true, + //forceTranscode: true, }), /* video: { @@ -100,6 +100,9 @@ }, */ video: () => ({ + width: 720, + frameRate: 30, + bitrate: Mediabunny.QUALITY_VERY_LOW, //discard: true, /* process: (sample) => { @@ -176,8 +179,8 @@ } }, trim: { - //start: 0, - //end: 10 + start: 0, + end: 20 }, }); console.log(conversion); diff --git a/src/conversion.ts b/src/conversion.ts index 0cabe1a..2771f7c 100644 --- a/src/conversion.ts +++ b/src/conversion.ts @@ -1043,6 +1043,7 @@ export class Conversion { duration: 1 / frameRate, }); await this._registerVideoSample(track, trackOptions, source, sample); + sample.close(); } }; @@ -1079,12 +1080,11 @@ export class Conversion { duration: frameRate !== undefined ? 1 / frameRate : duration, }); await this._registerVideoSample(track, trackOptions, source, sample); + sample.close(); if (frameRate !== undefined) { lastCanvas = canvas; lastCanvasTimestamp = adjustedSampleTimestamp; - } else { - sample.close(); } }