make validate!() print message only in debug builds
[nihav.git] / nihav-rad / src / demuxers / mod.rs
1 use nihav_core::demuxers::*;
2
3 #[allow(unused_macros)]
4 #[cfg(debug_assertions)]
5 macro_rules! validate {
6 ($a:expr) => { if !$a { println!("check failed at {}:{}", file!(), line!()); return Err(DemuxerError::InvalidData); } };
7 }
8 #[cfg(not(debug_assertions))]
9 macro_rules! validate {
10 ($a:expr) => { if !$a { return Err(DemuxerError::InvalidData); } };
11 }
12
13 #[cfg(feature="demuxer_smk")]
14 mod smacker;
15 #[cfg(feature="demuxer_bink")]
16 mod bink;
17
18 const RAD_DEMUXERS: &[&dyn DemuxerCreator] = &[
19 #[cfg(feature="demuxer_smk")]
20 &smacker::SMKDemuxerCreator {},
21 #[cfg(feature="demuxer_bink")]
22 &bink::BinkDemuxerCreator {},
23 ];
24
25 /// Registers all available demuxers provided by this crate.
26 pub fn rad_register_all_demuxers(rd: &mut RegisteredDemuxers) {
27 for demuxer in RAD_DEMUXERS.iter() {
28 rd.add_demuxer(*demuxer);
29 }
30 }