From 638642d3de2b18d3613583b6a7e3cc09bcccb5f3 Mon Sep 17 00:00:00 2001 From: Ingo Oppermann Date: Thu, 24 Nov 2022 10:26:56 +0100 Subject: [PATCH] Fix missing parameters for coder defaults --- src/misc/EncodingSelect.js | 2 -- src/views/Publication/Add.js | 4 ++-- src/views/Publication/Edit.js | 4 ++-- src/views/Publication/helper.js | 10 ++++++---- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/misc/EncodingSelect.js b/src/misc/EncodingSelect.js index 43d8889..0541239 100644 --- a/src/misc/EncodingSelect.js +++ b/src/misc/EncodingSelect.js @@ -15,8 +15,6 @@ import H from '../utils/help'; export default function EncodingSelect(props) { const { i18n } = useLingui(); - console.log(props.streams); - const profile = props.profile; let availableEncoders = []; let availableDecoders = []; diff --git a/src/views/Publication/Add.js b/src/views/Publication/Add.js index b8c77c0..364f901 100644 --- a/src/views/Publication/Add.js +++ b/src/views/Publication/Add.js @@ -139,8 +139,8 @@ export default function Add(props) { const serviceSkills = helper.conflateServiceSkills(s.requires, $skills); const profiles = $settings.profiles; - profiles[0].video = helper.preselectProfile(profiles[0].video, 'video', $sources[0].streams, serviceSkills.codecs.video, $skills.encoders.video); - profiles[0].audio = helper.preselectProfile(profiles[0].audio, 'audio', $sources[0].streams, serviceSkills.codecs.audio, $skills.encoders.audio); + profiles[0].video = helper.preselectProfile(profiles[0].video, 'video', $sources[0].streams, serviceSkills.codecs.video, $skills); + profiles[0].audio = helper.preselectProfile(profiles[0].audio, 'audio', $sources[0].streams, serviceSkills.codecs.audio, $skills); setSettings({ ...$settings, diff --git a/src/views/Publication/Edit.js b/src/views/Publication/Edit.js index 37f2d0e..1c59011 100644 --- a/src/views/Publication/Edit.js +++ b/src/views/Publication/Edit.js @@ -162,8 +162,8 @@ export default function Edit(props) { const settings = await props.restreamer.GetEgressMetadata(_channelid, id); const profiles = settings.profiles; - profiles[0].video = helper.preselectProfile(profiles[0].video, 'video', ingest.streams, serviceSkills.codecs.video, skills.encoders.video); - profiles[0].audio = helper.preselectProfile(profiles[0].audio, 'audio', ingest.streams, serviceSkills.codecs.audio, skills.encoders.audio); + profiles[0].video = helper.preselectProfile(profiles[0].video, 'video', ingest.streams, serviceSkills.codecs.video, skills); + profiles[0].audio = helper.preselectProfile(profiles[0].audio, 'audio', ingest.streams, serviceSkills.codecs.audio, skills); settings.profiles = profiles; settings.streams = M.createOutputStreams(sources, profiles); diff --git a/src/views/Publication/helper.js b/src/views/Publication/helper.js index f59826b..c39f5ae 100644 --- a/src/views/Publication/helper.js +++ b/src/views/Publication/helper.js @@ -237,10 +237,12 @@ export function conflateServiceSkills(requires, skills) { * @param {*} type Either 'audio' or 'video' * @param {*} streams List of available streams * @param {*} codecs List of target codecs - * @param {*} encoders list of available (to ffmpeg) encoders + * @param {*} skills FFmpeg skills * @returns {boolean} Whether the provided profile is valid */ -export function preselectProfile(profile, type, streams, codecs, encoders) { +export function preselectProfile(profile, type, streams, codecs, skills) { + const encoders = skills.encoders[type]; + /** * Checks if the given profile makes sense, i.e. matches to the available * streams and codecs. @@ -325,7 +327,7 @@ export function preselectProfile(profile, type, streams, codecs, encoders) { if (coder === null) { profile.encoder.coder = 'none'; } else { - const defaults = coder.defaults(); + const defaults = coder.defaults(streams[i], skills); profile.encoder.coder = coder.coder; profile.encoder.settings = defaults.settings; profile.encoder.mapping = defaults.mapping; @@ -338,7 +340,7 @@ export function preselectProfile(profile, type, streams, codecs, encoders) { let coder = type === 'audio' ? Coders.Audio.Get('copy') : Coders.Video.Get('copy'); - const defaults = coder.defaults(); + const defaults = coder.defaults(streams[i], skills); profile.encoder.settings = defaults.settings; profile.encoder.mapping = defaults.mapping;