X-Git-Url: https://git.nihav.org/?p=nihav.git;a=blobdiff_plain;f=nihav-game%2Fsrc%2Fdemuxers%2Fmod.rs;h=943ca5463bd4b00f6f82fa55aceb91338bf59506;hp=f361ea36a2e206a79962225061db66c9818fb3a9;hb=9e08bfdd316eae85b0da7b4802cf6787ea922f2a;hpb=9067c1f81447fe27bfa7e292e2dd21b29f5959cd diff --git a/nihav-game/src/demuxers/mod.rs b/nihav-game/src/demuxers/mod.rs index f361ea3..943ca54 100644 --- a/nihav-game/src/demuxers/mod.rs +++ b/nihav-game/src/demuxers/mod.rs @@ -5,20 +5,51 @@ macro_rules! validate { ($a:expr) => { if !$a { println!("check failed at {}:{}", file!(), line!()); return Err(DemuxerError::InvalidData); } }; } -#[cfg(feature="demuxer_bmv")] +#[cfg(any(feature="demuxer_bmv",feature="demuxer_bmv3"))] mod bmv; +#[cfg(any(feature="demuxer_fst",feature="demuxer_fcmp"))] +mod fst; #[cfg(feature="demuxer_gdv")] mod gdv; +#[cfg(feature="demuxer_imax")] +mod imax; +#[cfg(feature="demuxer_q")] +mod q; +#[cfg(feature="demuxer_smush")] +mod smush; +#[cfg(feature="demuxer_vmd")] +mod vmd; +#[cfg(feature="demuxer_vx")] +mod vx; -const GAME_DEMUXERS: &[&'static DemuxerCreator] = &[ +const GAME_DEMUXERS: &[&dyn DemuxerCreator] = &[ #[cfg(feature="demuxer_bmv")] &bmv::BMVDemuxerCreator {}, +#[cfg(feature="demuxer_bmv3")] + &bmv::BMV3DemuxerCreator {}, +#[cfg(feature="demuxer_fcmp")] + &fst::FCMPDemuxerCreator {}, +#[cfg(feature="demuxer_fst")] + &fst::FSTDemuxerCreator {}, #[cfg(feature="demuxer_gdv")] &gdv::GDVDemuxerCreator {}, +#[cfg(feature="demuxer_imax")] + &imax::IMAXDemuxerCreator {}, +#[cfg(feature="demuxer_q")] + &q::QDemuxerCreator {}, +#[cfg(feature="demuxer_smush")] + &smush::SmushDemuxerCreator {}, +#[cfg(feature="demuxer_smush")] + &smush::MCMPDemuxerCreator {}, +#[cfg(feature="demuxer_vmd")] + &vmd::VMDDemuxerCreator {}, +#[cfg(feature="demuxer_vx")] + &vx::VXDemuxerCreator {}, ]; +/// Registers all available demuxers provided by this crate. pub fn game_register_all_demuxers(rd: &mut RegisteredDemuxers) { - for demuxer in GAME_DEMUXERS.into_iter() { + for demuxer in GAME_DEMUXERS.iter() { rd.add_demuxer(*demuxer); } }