make validate!() print message only in debug builds
[nihav.git] / nihav-commonfmt / src / demuxers / mod.rs
CommitLineData
38953fb5
KS
1use nihav_core::demuxers::*;
2
3
674ebc33 4#[allow(unused_macros)]
71d7f397 5#[cfg(debug_assertions)]
38953fb5
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}
38953fb5
KS
13
14#[cfg(feature="demuxer_avi")]
c83013a1 15#[allow(clippy::cast_lossless)]
38953fb5 16mod avi;
58309c73 17#[cfg(feature="demuxer_mov")]
61cab15b 18#[allow(clippy::cast_lossless)]
58309c73 19mod mov;
283abfa6
KS
20#[cfg(feature="demuxer_wav")]
21mod wav;
dbb2cbc9
KS
22#[cfg(feature="demuxer_y4m")]
23mod y4m;
38953fb5 24
ac818eac 25const DEMUXERS: &[&dyn DemuxerCreator] = &[
38953fb5
KS
26#[cfg(feature="demuxer_avi")]
27 &avi::AVIDemuxerCreator {},
58309c73
KS
28#[cfg(feature="demuxer_mov")]
29 &mov::MOVDemuxerCreator {},
88fd1059
KS
30#[cfg(feature="demuxer_mov")]
31 &mov::MacBinaryMOVDemuxerCreator {},
283abfa6
KS
32#[cfg(feature="demuxer_wav")]
33 &wav::WAVDemuxerCreator {},
dbb2cbc9
KS
34#[cfg(feature="demuxer_y4m")]
35 &y4m::Y4MDemuxerCreator {},
38953fb5
KS
36];
37
e64739f8 38/// Registers all available demuxers provided by this crate.
38953fb5 39pub fn generic_register_all_demuxers(rd: &mut RegisteredDemuxers) {
c83013a1 40 for demuxer in DEMUXERS.iter() {
38953fb5
KS
41 rd.add_demuxer(*demuxer);
42 }
43}