make validate!() print message only in debug builds
[nihav.git] / nihav-realmedia / src / demuxers / mod.rs
index c5825b3ffc553d2aac21e1ea90187453e4871384..820dd2eea79d102da70a53b36a5b2b15f8506603 100644 (file)
@@ -1,13 +1,20 @@
 use nihav_core::demuxers::*;
 
+#[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_real")]
+#[allow(clippy::identity_op)]
+#[allow(clippy::needless_range_loop)]
 mod realmedia;
 
-const RM_DEMUXERS: &[&DemuxerCreator] = &[
+const RM_DEMUXERS: &[&dyn DemuxerCreator] = &[
 #[cfg(feature="demuxer_real")]
     &realmedia::RealMediaDemuxerCreator {},
 #[cfg(feature="demuxer_real")]
@@ -16,6 +23,7 @@ const RM_DEMUXERS: &[&DemuxerCreator] = &[
     &realmedia::RealIVRDemuxerCreator {},
 ];
 
+/// Registers all available demuxers provided by this crate.
 pub fn realmedia_register_all_demuxers(rd: &mut RegisteredDemuxers) {
     for demuxer in RM_DEMUXERS.iter() {
         rd.add_demuxer(*demuxer);