From 6149288d2fbeef8d122c9e44b7420dc795f67d5b Mon Sep 17 00:00:00 2001 From: jb-alvarado Date: Thu, 3 Nov 2022 15:51:06 +0100 Subject: [PATCH] ignore muxed as a private data stream warning, validate channel count --- ffplayout-engine/src/main.rs | 10 ++++++++-- lib/src/utils/config.rs | 7 ++++--- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/ffplayout-engine/src/main.rs b/ffplayout-engine/src/main.rs index e7300a8e..e29e4cc2 100644 --- a/ffplayout-engine/src/main.rs +++ b/ffplayout-engine/src/main.rs @@ -107,20 +107,26 @@ fn main() { exit(1); }; + if ![2, 4, 6, 8].contains(&config.processing.audio_channels) { + error!( + "Encoding {} channel(s) is not allowed. Only 2, 4, 6 and 8 channels are supported!", + config.processing.audio_channels + ); + exit(1); + } + if config.general.generate.is_some() { // run a simple playlist generator and save them to disk if let Err(e) = generate_playlist(&config, None) { error!("{e}"); exit(1); }; - exit(0); } if let Some(path) = args.import { if args.date.is_none() { error!("Import needs date parameter!"); - exit(1); } diff --git a/lib/src/utils/config.rs b/lib/src/utils/config.rs index 03cc12d8..3bb1ea1a 100644 --- a/lib/src/utils/config.rs +++ b/lib/src/utils/config.rs @@ -19,8 +19,9 @@ pub const IMAGE_FORMAT: [&str; 21] = [ ]; // Some well known errors can be safely ignore -pub const FFMPEG_IGNORE_ERRORS: [&str; 9] = [ +pub const FFMPEG_IGNORE_ERRORS: [&str; 10] = [ "ac-tex damaged", + "codec s302m, is muxed as a private data stream", "corrupt decoded frame in stream", "corrupt input packet in stream", "end mismatch left", @@ -160,7 +161,7 @@ pub struct Processing { #[serde(default = "default_tracks")] pub audio_tracks: i32, #[serde(default = "default_channels")] - pub audio_channels: i32, + pub audio_channels: u8, pub add_loudnorm: bool, pub loudnorm_ingest: bool, pub loud_i: f32, @@ -248,7 +249,7 @@ fn default_tracks() -> i32 { 1 } -fn default_channels() -> i32 { +fn default_channels() -> u8 { 2 }