]> git.nihav.org Git - nihav.git/blob - nihav-indeo/src/demuxers/mod.rs
a00831043646441e962eb12c90b8f397cb707597
[nihav.git] / nihav-indeo / src / demuxers / mod.rs
1 use nihav_core::demuxers::*;
2
3
4 #[allow(unused_macros)]
5 #[cfg(debug_assertions)]
6 macro_rules! validate {
7 ($a:expr) => { if !$a { println!("check failed at {}:{}", file!(), line!()); return Err(DemuxerError::InvalidData); } };
8 }
9 #[cfg(not(debug_assertions))]
10 macro_rules! validate {
11 ($a:expr) => { if !$a { return Err(DemuxerError::InvalidData); } };
12 }
13
14 #[cfg(feature="demuxer_dvi")]
15 mod dvi;
16
17 #[cfg(feature="demuxer_ivf")]
18 mod ivf;
19
20 const DEMUXERS: &[&dyn DemuxerCreator] = &[
21 #[cfg(feature="demuxer_dvi")]
22 &dvi::DVIDemuxerCreator {},
23 #[cfg(feature="demuxer_ivf")]
24 &ivf::IVFDemuxerCreator {},
25 ];
26
27 /// Registers all available demuxers provided by this crate.
28 pub fn indeo_register_all_demuxers(rd: &mut RegisteredDemuxers) {
29 for demuxer in DEMUXERS.iter() {
30 rd.add_demuxer(*demuxer);
31 }
32 }