rebroadcast: Fix misreported codecs

This commit is contained in:
Koushik Dutta
2022-02-14 20:14:06 -08:00
parent 9b1af86854
commit fa4c9b1d13
2 changed files with 18 additions and 8 deletions

View File

@@ -671,6 +671,7 @@ class PrebufferSession {
const { reencodeAudio } = this.getAudioConfig();
let codecCopy = false;
if (!rtspMode || container !== 'rtsp') {
if (this.audioDisabled) {
mediaStreamOptions.audio = null;
@@ -683,16 +684,25 @@ class PrebufferSession {
}
}
else {
mediaStreamOptions.audio = {
codec: session?.inputAudioCodec,
}
codecCopy = true;
}
}
else {
// rtsp mode never transcodes.
mediaStreamOptions.audio = {
codec: session?.inputAudioCodec,
}
codecCopy = true;
}
if (codecCopy) {
// reported codecs may be wrong/cached/etc, so before blindly copying the audio codec info,
// verify what was found.
if (session?.mediaStreamOptions?.audio?.codec === session?.inputAudioCodec) {
mediaStreamOptions.audio = session?.mediaStreamOptions?.audio;
}
else {
mediaStreamOptions.audio = {
codec: session?.inputAudioCodec,
}
}
}
if (mediaStreamOptions.video && session.inputVideoResolution?.[2] && session.inputVideoResolution?.[3]) {

View File

@@ -75,8 +75,8 @@ export async function startRFC4571Parser(socket: net.Socket, sdp: string, mediaS
return {
sdp: Promise.resolve([Buffer.from(sdp)]),
inputAudioCodec: 'pcm',
inputVideoCodec: 'h264',
inputAudioCodec: mediaStreamOptions.audio.codec,
inputVideoCodec: mediaStreamOptions.video.codec,
inputVideoResolution: undefined,
isActive() { return isActive },
kill,