From 03b0803a1d08b4d4e420192ff15da359d4b1fb4c Mon Sep 17 00:00:00 2001 From: Kyle Simpson Date: Wed, 7 Sep 2022 01:32:57 +0100 Subject: [PATCH] Input: Fix audio stream selection for video files. (#150) `youtube-dl` has a tendency to return mp4 files containing video and audio data vs `yt-dlp`. Naturally, the default stream in such cases will be the video data, so we fail to create a decoder. This PR changes `LiveInput::promote` to first attempt to instantiate a decoder for the default track. If this fails to do so, then we reattempt this for all available tracks until one can be found. Previously, this method chose the default (or first available) track ID, and then failed if *that* track could not be decoded even if a compatible stream existed. This was tested using `cargo make ready`, as well as manually verifying and adding a test case with a simple mp4 file. --- Cargo.toml | 2 +- resources/ting-vid.mp4 | Bin 0 -> 110899 bytes src/constants.rs | 3 ++ src/input/live_input.rs | 64 ++++++++++++++++++++++++++-------------- 4 files changed, 46 insertions(+), 23 deletions(-) create mode 100644 resources/ting-vid.mp4 diff --git a/Cargo.toml b/Cargo.toml index 642e9a5..a908243 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -74,7 +74,7 @@ version = "0.5" [dev-dependencies] criterion = "0.3" ntest = "0.8" -symphonia = { version = "0.5", features = ["mp3"], git = "https://github.com/FelixMcFelix/Symphonia", branch = "songbird-fixes" } +symphonia = { version = "0.5", features = ["aac", "isomp4", "mp3"], git = "https://github.com/FelixMcFelix/Symphonia", branch = "songbird-fixes" } utils = { path = "utils" } tokio = { version = "1", features = ["rt", "rt-multi-thread"] } diff --git a/resources/ting-vid.mp4 b/resources/ting-vid.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..0d68855dd31297b0cd89f5b78783bf20647b18bc GIT binary patch literal 110899 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 literal 0 HcmV?d00001 diff --git a/src/constants.rs b/src/constants.rs index bf7e6d5..48976a5 100644 --- a/src/constants.rs +++ b/src/constants.rs @@ -114,4 +114,7 @@ pub mod test_data { /// Path to a Wav source which can be read via a File. pub const FILE_WAV_TARGET: &str = "resources/loop.wav"; + + /// Path to an MP4 (H264 + AAC) source which can be read via a File. + pub const FILE_VID_TARGET: &str = "resources/ting-vid.mp4"; } diff --git a/src/input/live_input.rs b/src/input/live_input.rs index a44166a..ee3cf9a 100644 --- a/src/input/live_input.rs +++ b/src/input/live_input.rs @@ -1,7 +1,7 @@ use super::{AudioStream, Metadata, MetadataError, Parsed}; use symphonia_core::{ - codecs::{CodecRegistry, Decoder, DecoderOptions}, + codecs::{CodecRegistry, DecoderOptions}, errors::Error as SymphError, formats::FormatOptions, io::{MediaSource, MediaSourceStream, MediaSourceStreamOptions}, @@ -66,31 +66,30 @@ impl LiveInput { let format = probe_data.format; let meta = probe_data.metadata; - let mut default_track_id = format.default_track().map(|track| track.id); - let mut decoder: Option> = None; - - // Awkward loop: we need BOTH a track ID, and a decoder matching that track ID. - // Take default track (if it exists), take first track to be found otherwise. - for track in format.tracks() { - if default_track_id.is_some() && Some(track.id) != default_track_id { - continue; - } - - let this_decoder = codecs.make(&track.codec_params, &DecoderOptions::default())?; - - decoder = Some(this_decoder); - default_track_id = Some(track.id); - - break; - } + // if default track exists, try to make a decoder + // if that fails, linear scan and take first that succeeds + let decoder = format + .default_track() + .and_then(|track| { + codecs + .make(&track.codec_params, &DecoderOptions::default()) + .ok() + .map(|d| (d, track.id)) + }) + .or_else(|| { + format.tracks().iter().find_map(|track| { + codecs + .make(&track.codec_params, &DecoderOptions::default()) + .ok() + .map(|d| (d, track.id)) + }) + }); // No tracks is a playout error, a bad default track is also possible. // These are probably malformed? We could go best-effort, and fall back to tracks[0] // but drop such tracks for now. - let track_id = default_track_id.ok_or(SymphError::DecodeError("no track found"))?; - let decoder = decoder.ok_or(SymphError::DecodeError( - "reported default track did not exist", - ))?; + let (decoder, track_id) = + decoder.ok_or(SymphError::DecodeError("no compatible track found"))?; let p = Parsed { format, @@ -145,3 +144,24 @@ impl LiveInput { } } } + +#[cfg(test)] +mod tests { + use crate::{ + constants::test_data::FILE_VID_TARGET, + input::{codecs::*, File, Input}, + }; + + #[tokio::test] + #[ntest::timeout(10_000)] + async fn promote_finds_valid_audio() { + // Video files often set their default to... the video stream, unsurprisingly. + // In these cases we still want to play the attached audio -- this checks that songbird + // finds the audio on a non-default track via `LiveInput::promote`. + let input = Input::from(File::new(FILE_VID_TARGET)); + input + .make_playable_async(&CODEC_REGISTRY, &PROBE) + .await + .unwrap(); + } +}