mov: add support for MacBinary format
[nihav.git] / nihav-commonfmt / src / demuxers / mod.rs
CommitLineData
38953fb5
KS
1use nihav_core::demuxers::*;
2
3
674ebc33 4#[allow(unused_macros)]
38953fb5
KS
5macro_rules! validate {
6 ($a:expr) => { if !$a { println!("check failed at {}:{}", file!(), line!()); return Err(DemuxerError::InvalidData); } };
7}
8
9#[cfg(feature="demuxer_avi")]
c83013a1 10#[allow(clippy::cast_lossless)]
38953fb5 11mod avi;
58309c73 12#[cfg(feature="demuxer_mov")]
61cab15b 13#[allow(clippy::cast_lossless)]
58309c73 14mod mov;
283abfa6
KS
15#[cfg(feature="demuxer_wav")]
16mod wav;
dbb2cbc9
KS
17#[cfg(feature="demuxer_y4m")]
18mod y4m;
38953fb5 19
ac818eac 20const DEMUXERS: &[&dyn DemuxerCreator] = &[
38953fb5
KS
21#[cfg(feature="demuxer_avi")]
22 &avi::AVIDemuxerCreator {},
58309c73
KS
23#[cfg(feature="demuxer_mov")]
24 &mov::MOVDemuxerCreator {},
88fd1059
KS
25#[cfg(feature="demuxer_mov")]
26 &mov::MacBinaryMOVDemuxerCreator {},
283abfa6
KS
27#[cfg(feature="demuxer_wav")]
28 &wav::WAVDemuxerCreator {},
dbb2cbc9
KS
29#[cfg(feature="demuxer_y4m")]
30 &y4m::Y4MDemuxerCreator {},
38953fb5
KS
31];
32
e64739f8 33/// Registers all available demuxers provided by this crate.
38953fb5 34pub fn generic_register_all_demuxers(rd: &mut RegisteredDemuxers) {
c83013a1 35 for demuxer in DEMUXERS.iter() {
38953fb5
KS
36 rd.add_demuxer(*demuxer);
37 }
38}