Fix missing parameters for coder defaults

This commit is contained in:
Ingo Oppermann 2022-11-24 10:26:56 +01:00
parent ec4edf2f47
commit 638642d3de
No known key found for this signature in database
GPG Key ID: 2AB32426E9DD229E
4 changed files with 10 additions and 10 deletions

View File

@ -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 = [];

View File

@ -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,

View File

@ -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);

View File

@ -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;