fix some warnings (unneeded parentheses, missing dyn keyword)
[nihav.git] / nihav-game / src / demuxers / mod.rs
... / ...
CommitLineData
1use nihav_core::demuxers::*;
2
3#[allow(unused_macros)]
4macro_rules! validate {
5 ($a:expr) => { if !$a { println!("check failed at {}:{}", file!(), line!()); return Err(DemuxerError::InvalidData); } };
6}
7
8#[cfg(any(feature="demuxer_bmv",feature="demuxer_bmv3"))]
9mod bmv;
10#[cfg(feature="demuxer_gdv")]
11mod gdv;
12#[cfg(feature="demuxer_vmd")]
13mod vmd;
14#[cfg(feature="demuxer_vx")]
15mod vx;
16
17const GAME_DEMUXERS: &[&dyn DemuxerCreator] = &[
18#[cfg(feature="demuxer_bmv")]
19 &bmv::BMVDemuxerCreator {},
20#[cfg(feature="demuxer_bmv3")]
21 &bmv::BMV3DemuxerCreator {},
22#[cfg(feature="demuxer_gdv")]
23 &gdv::GDVDemuxerCreator {},
24#[cfg(feature="demuxer_vmd")]
25 &vmd::VMDDemuxerCreator {},
26#[cfg(feature="demuxer_vx")]
27 &vx::VXDemuxerCreator {},
28];
29
30/// Registers all available demuxers provided by this crate.
31pub fn game_register_all_demuxers(rd: &mut RegisteredDemuxers) {
32 for demuxer in GAME_DEMUXERS.iter() {
33 rd.add_demuxer(*demuxer);
34 }
35}