X-Git-Url: https://git.nihav.org/?a=blobdiff_plain;f=nihav-commonfmt%2Fsrc%2Fdemuxers%2Fmod.rs;h=32fe113cd4e07097cd08bb028048df79ae05bc2d;hb=71d7f39706f0f5004820f8d1d36c87d5f9ec3e97;hp=9c05c1859b051a1a947e44815b426d53d93e6ef7;hpb=c83013a1f409bc5f83e343cf1b2293aa736e6c93;p=nihav.git diff --git a/nihav-commonfmt/src/demuxers/mod.rs b/nihav-commonfmt/src/demuxers/mod.rs index 9c05c18..32fe113 100644 --- a/nihav-commonfmt/src/demuxers/mod.rs +++ b/nihav-commonfmt/src/demuxers/mod.rs @@ -2,19 +2,40 @@ use nihav_core::demuxers::*; #[allow(unused_macros)] +#[cfg(debug_assertions)] macro_rules! validate { ($a:expr) => { if !$a { println!("check failed at {}:{}", file!(), line!()); return Err(DemuxerError::InvalidData); } }; } +#[cfg(not(debug_assertions))] +macro_rules! validate { + ($a:expr) => { if !$a { return Err(DemuxerError::InvalidData); } }; +} #[cfg(feature="demuxer_avi")] #[allow(clippy::cast_lossless)] mod avi; +#[cfg(feature="demuxer_mov")] +#[allow(clippy::cast_lossless)] +mod mov; +#[cfg(feature="demuxer_wav")] +mod wav; +#[cfg(feature="demuxer_y4m")] +mod y4m; -const DEMUXERS: &[&DemuxerCreator] = &[ +const DEMUXERS: &[&dyn DemuxerCreator] = &[ #[cfg(feature="demuxer_avi")] &avi::AVIDemuxerCreator {}, +#[cfg(feature="demuxer_mov")] + &mov::MOVDemuxerCreator {}, +#[cfg(feature="demuxer_mov")] + &mov::MacBinaryMOVDemuxerCreator {}, +#[cfg(feature="demuxer_wav")] + &wav::WAVDemuxerCreator {}, +#[cfg(feature="demuxer_y4m")] + &y4m::Y4MDemuxerCreator {}, ]; +/// Registers all available demuxers provided by this crate. pub fn generic_register_all_demuxers(rd: &mut RegisteredDemuxers) { for demuxer in DEMUXERS.iter() { rd.add_demuxer(*demuxer);