webrtc: talkback fixes

This commit is contained in:
Koushik Dutta
2023-11-16 21:17:01 -08:00
parent 26124b7647
commit f7d88273e4
3 changed files with 11 additions and 6 deletions

View File

@@ -1,12 +1,12 @@
{
"name": "@scrypted/webrtc",
"version": "0.1.76",
"version": "0.1.79",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "@scrypted/webrtc",
"version": "0.1.76",
"version": "0.1.79",
"dependencies": {
"@scrypted/common": "file:../../common",
"@scrypted/sdk": "file:../../sdk",

View File

@@ -1,6 +1,6 @@
{
"name": "@scrypted/webrtc",
"version": "0.1.76",
"version": "0.1.79",
"scripts": {
"scrypted-setup-project": "scrypted-setup-project",
"prescrypted-setup-project": "scrypted-package-json",

View File

@@ -261,14 +261,14 @@ export async function createRTCPeerConnectionSource(options: {
let destroyProcess: () => void;
const track = audioTransceiver.sender.sendRtp;
const audioCodec = audioTransceiver?.sender?.codec;
const ic: Intercom = {
async startIntercom(media: MediaObject) {
if (!isPeerConnectionAlive(pc))
throw new Error('peer connection is closed');
if (!track)
if (!audioTransceiver?.sender?.sendRtp || !audioCodec)
throw new Error('peer connection does not support two way audio');
@@ -276,8 +276,13 @@ export async function createRTCPeerConnectionSource(options: {
const { kill: destroy } = await startRtpForwarderProcess(console, ffmpegInput, {
audio: {
codecCopy: audioCodec.name,
encoderArguments: getFFmpegRtpAudioOutputArguments(ffmpegInput.mediaStreamOptions?.audio?.codec, audioTransceiver.sender.codec, maximumCompatibilityMode),
onRtp: (rtp) => audioTransceiver.sender.sendRtp(rtp),
onRtp: (rtp) => {
const packet = RtpPacket.deSerialize(rtp);
packet.header.payloadType = audioCodec.payloadType;
audioTransceiver.sender.sendRtp(packet.serialize());
},
},
});