make validate!() print message only in debug builds
[nihav.git] / nihav-realmedia / src / demuxers / mod.rs
CommitLineData
5641dccf
KS
1use nihav_core::demuxers::*;
2
71d7f397 3#[cfg(debug_assertions)]
5641dccf
KS
4macro_rules! validate {
5 ($a:expr) => { if !$a { println!("check failed at {}:{}", file!(), line!()); return Err(DemuxerError::InvalidData); } };
6}
71d7f397
KS
7#[cfg(not(debug_assertions))]
8macro_rules! validate {
9 ($a:expr) => { if !$a { return Err(DemuxerError::InvalidData); } };
10}
5641dccf
KS
11
12#[cfg(feature="demuxer_real")]
fa57381e
KS
13#[allow(clippy::identity_op)]
14#[allow(clippy::needless_range_loop)]
5641dccf
KS
15mod realmedia;
16
ac818eac 17const RM_DEMUXERS: &[&dyn DemuxerCreator] = &[
5641dccf
KS
18#[cfg(feature="demuxer_real")]
19 &realmedia::RealMediaDemuxerCreator {},
20#[cfg(feature="demuxer_real")]
21 &realmedia::RealAudioDemuxerCreator {},
22#[cfg(feature="demuxer_real")]
23 &realmedia::RealIVRDemuxerCreator {},
24];
25
e64739f8 26/// Registers all available demuxers provided by this crate.
5641dccf 27pub fn realmedia_register_all_demuxers(rd: &mut RegisteredDemuxers) {
e07387c7 28 for demuxer in RM_DEMUXERS.iter() {
5641dccf
KS
29 rd.add_demuxer(*demuxer);
30 }
31}