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