mirror of
https://github.com/koush/scrypted.git
synced 2026-02-10 01:02:18 +00:00
rebroadcast: Fix misreported codecs
This commit is contained in:
@@ -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]) {
|
||||
|
||||
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user