From 1cb6212fc6244640e75988829b7b3ab1f82aabc4 Mon Sep 17 00:00:00 2001 From: Koushik Dutta Date: Tue, 15 Apr 2025 07:53:28 -0700 Subject: [PATCH] webrtc: implement default clocks for assigned payload types --- common/src/sdp-utils.ts | 12 +++++++++++- plugins/webrtc/package-lock.json | 4 ++-- plugins/webrtc/package.json | 2 +- 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/common/src/sdp-utils.ts b/common/src/sdp-utils.ts index 445740596..e383f302f 100644 --- a/common/src/sdp-utils.ts +++ b/common/src/sdp-utils.ts @@ -242,12 +242,22 @@ export function parseRtpMap(mline: ReturnType, rtpmap: string } } + // assigned payload types do not need to provide a clock, there is a default. + let clock = parseInt(match?.[3]); + if (!clock) { + clock = undefined; + if (codec === 'pcm_mulaw' || codec === 'pcm_alaw') + clock = 8000; + else if (codec === 'pcm_s16be') + clock = 16000; + } + return { line: rtpmap, codec, ffmpegEncoder, rawCodec: match?.[2], - clock: parseInt(match?.[3]), + clock, channels: parseInt(match?.[5]) || undefined, payloadType: parseInt(match?.[1]), } diff --git a/plugins/webrtc/package-lock.json b/plugins/webrtc/package-lock.json index 91da81966..d0b624fc2 100644 --- a/plugins/webrtc/package-lock.json +++ b/plugins/webrtc/package-lock.json @@ -1,12 +1,12 @@ { "name": "@scrypted/webrtc", - "version": "0.2.76", + "version": "0.2.77", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@scrypted/webrtc", - "version": "0.2.76", + "version": "0.2.77", "dependencies": { "@scrypted/common": "file:../../common", "@scrypted/sdk": "file:../../sdk", diff --git a/plugins/webrtc/package.json b/plugins/webrtc/package.json index 2a55f3d00..4d857b454 100644 --- a/plugins/webrtc/package.json +++ b/plugins/webrtc/package.json @@ -1,6 +1,6 @@ { "name": "@scrypted/webrtc", - "version": "0.2.76", + "version": "0.2.77", "scripts": { "scrypted-setup-project": "scrypted-setup-project", "prescrypted-setup-project": "scrypted-package-json",