make validate!() print message only in debug builds
[nihav.git] / nihav-rad / src / demuxers / mod.rs
index c88fdd69ad723c91c06161954a94a178e239fdfa..65ddf2cffaf93fca04887b23b7bf0c5a24a0943f 100644 (file)
@@ -1,22 +1,28 @@
 use nihav_core::demuxers::*;
 
 #[allow(unused_macros)]
+#[cfg(debug_assertions)]
 macro_rules! validate {
     ($a:expr) => { if !$a { println!("check failed at {}:{}", file!(), line!()); return Err(DemuxerError::InvalidData); } };
 }
+#[cfg(not(debug_assertions))]
+macro_rules! validate {
+    ($a:expr) => { if !$a { return Err(DemuxerError::InvalidData); } };
+}
 
 #[cfg(feature="demuxer_smk")]
 mod smacker;
 #[cfg(feature="demuxer_bink")]
 mod bink;
 
-const RAD_DEMUXERS: &[&DemuxerCreator] = &[
+const RAD_DEMUXERS: &[&dyn DemuxerCreator] = &[
 #[cfg(feature="demuxer_smk")]
     &smacker::SMKDemuxerCreator {},
 #[cfg(feature="demuxer_bink")]
     &bink::BinkDemuxerCreator {},
 ];
 
+/// Registers all available demuxers provided by this crate.
 pub fn rad_register_all_demuxers(rd: &mut RegisteredDemuxers) {
     for demuxer in RAD_DEMUXERS.iter() {
         rd.add_demuxer(*demuxer);