From fd7b4cbe43c75e5063dbb115b33301419c73fd33 Mon Sep 17 00:00:00 2001 From: Koushik Dutta Date: Wed, 18 May 2022 11:07:56 -0700 Subject: [PATCH] webrtc: fix regression with transcoding --- plugins/webrtc/package-lock.json | 4 ++-- plugins/webrtc/package.json | 2 +- plugins/webrtc/src/ffmpeg-to-wrtc.ts | 3 ++- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/plugins/webrtc/package-lock.json b/plugins/webrtc/package-lock.json index 402d0e7b2..0ebae3810 100644 --- a/plugins/webrtc/package-lock.json +++ b/plugins/webrtc/package-lock.json @@ -1,12 +1,12 @@ { "name": "@scrypted/webrtc", - "version": "0.0.32", + "version": "0.0.33", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@scrypted/webrtc", - "version": "0.0.32", + "version": "0.0.33", "dependencies": { "@koush/werift": "file:../../external/werift/packages/webrtc", "@scrypted/common": "file:../../common", diff --git a/plugins/webrtc/package.json b/plugins/webrtc/package.json index d741157d5..0d8878065 100644 --- a/plugins/webrtc/package.json +++ b/plugins/webrtc/package.json @@ -1,6 +1,6 @@ { "name": "@scrypted/webrtc", - "version": "0.0.32", + "version": "0.0.33", "scripts": { "prepublishOnly": "NODE_ENV=production scrypted-webpack", "prescrypted-vscode-launch": "scrypted-webpack", diff --git a/plugins/webrtc/src/ffmpeg-to-wrtc.ts b/plugins/webrtc/src/ffmpeg-to-wrtc.ts index a9d097f7c..20785de48 100644 --- a/plugins/webrtc/src/ffmpeg-to-wrtc.ts +++ b/plugins/webrtc/src/ffmpeg-to-wrtc.ts @@ -238,7 +238,7 @@ export async function createRTCPeerConnectionSink( ); const scaleFilter = `scale='min(${width},iw)':-2`; - if (ffmpegInput.h264FilterArguments.length) { + if (ffmpegInput.h264FilterArguments?.length) { const filterIndex = ffmpegInput.h264FilterArguments?.findIndex(f => f === '-filter_complex'); if (filterIndex !== undefined && filterIndex !== -1) ffmpegInput.h264FilterArguments[filterIndex + 1] = ffmpegInput.h264FilterArguments[filterIndex + 1] + `[unscaled] ; [unscaled] ${scaleFilter}`; @@ -246,6 +246,7 @@ export async function createRTCPeerConnectionSink( ffmpegInput.h264FilterArguments.push('-filter_complex', scaleFilter); } else { + ffmpegInput.h264FilterArguments = ffmpegInput.h264FilterArguments || []; ffmpegInput.h264FilterArguments.push('-filter_complex', scaleFilter); }