make validate!() print message only in debug builds
[nihav.git] / nihav-commonfmt / src / codecs / mod.rs
index f052ea3f9c4fad68d2b97d6b27e8caffc8ae1892..f69fc6441e5b6c70627713f2eed1350645bb33d5 100644 (file)
@@ -1,8 +1,13 @@
 use nihav_core::codecs::*;
 
+#[cfg(debug_assertions)]
 macro_rules! validate {
     ($a:expr) => { if !$a { println!("check failed at {}:{}", file!(), line!()); return Err(DecoderError::InvalidData); } };
 }
+#[cfg(not(debug_assertions))]
+macro_rules! validate {
+    ($a:expr) => { if !$a { return Err(DecoderError::InvalidData); } };
+}
 
 #[cfg(feature="decoder_cinepak")]
 mod cinepak;
@@ -31,6 +36,7 @@ mod sipro;
 #[cfg(feature="decoder_ts102366")]
 mod ts102366;
 
+#[cfg(feature="decoders")]
 const DECODERS: &[DecoderInfo] = &[
 #[cfg(feature="decoder_cinepak")]
     DecoderInfo { name: "cinepak", get_decoder: cinepak::get_decoder },
@@ -62,6 +68,7 @@ const DECODERS: &[DecoderInfo] = &[
 ];
 
 /// Registers all available codecs provided by this crate.
+#[cfg(feature="decoders")]
 pub fn generic_register_all_decoders(rd: &mut RegisteredDecoders) {
     for decoder in DECODERS.iter() {
         rd.add_decoder(*decoder);
@@ -73,6 +80,7 @@ mod cinepakenc;
 #[cfg(feature="encoder_zmbv")]
 mod zmbvenc;
 
+#[cfg(feature="encoders")]
 const ENCODERS: &[EncoderInfo] = &[
 #[cfg(feature="encoder_cinepak")]
     EncoderInfo { name: "cinepak", get_encoder: cinepakenc::get_encoder },
@@ -84,6 +92,7 @@ const ENCODERS: &[EncoderInfo] = &[
 ];
 
 /// Registers all available encoders provided by this crate.
+#[cfg(feature="encoders")]
 pub fn generic_register_all_encoders(re: &mut RegisteredEncoders) {
     for encoder in ENCODERS.iter() {
         re.add_encoder(*encoder);