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