rebroadcast: show stream selection options when synthetic streams are configured (#2012)

* fix: show stream selection options when synthetic streams are configured

* fix: show stream selection options and enforce FFmpeg parser for synthetic streams
This commit is contained in:
Yuki MIZUNO
2026-04-16 23:57:28 +09:00
committed by GitHub
parent 194acf15e8
commit 55369aeb88
2 changed files with 8 additions and 2 deletions

View File

@@ -351,7 +351,12 @@ class PrebufferSession {
const currentParser = parser.isDefault ? STRING_DEFAULT : parser.parser;
const choices = this.canUseRtmpParser(this.advertisedMediaStreamOptions)
const choices = this.mixin.streamSettings.storageSettings.values.synthenticStreams.includes(this.streamId)
? [
FFMPEG_PARSER_TCP,
FFMPEG_PARSER_UDP,
]
: this.canUseRtmpParser(this.advertisedMediaStreamOptions)
? [
STRING_DEFAULT,
SCRYPTED_PARSER_TCP,
@@ -1405,6 +1410,7 @@ class PrebufferMixin extends SettingsMixinDeviceBase<VideoCamera> implements Vid
session = new PrebufferSession(this, {
id: synthetic,
container: 'rtsp',
}, false, false);
this.sessions.set(id, session);
this.console.log('stream', synthetic, 'is synthetic and will be rebroadcast on demand.');

View File

@@ -227,7 +227,7 @@ export function createStreamSettings(device: MixinDeviceBase<VideoCamera>) {
hide: false,
};
if (msos?.length > 1) {
if (msos?.length > 1 || storageSettings.values.synthenticStreams.length > 0) {
return {
enabledStreams,
defaultStream: createStreamOptions(streamTypes.defaultStream, msos),