X-Git-Url: https://git.nihav.org/?a=blobdiff_plain;f=nihav-qt%2Fsrc%2Fcodecs%2Fmod.rs;h=d06c401c80ef173d25e26722497c3896261bbd60;hb=71d7f39706f0f5004820f8d1d36c87d5f9ec3e97;hp=733d5993da637fa2bd6bc478d3c26a464d8914ef;hpb=4c1582cf2e275af7c0f4a2c1a397fed5b68d31d5;p=nihav.git diff --git a/nihav-qt/src/codecs/mod.rs b/nihav-qt/src/codecs/mod.rs index 733d599..d06c401 100644 --- a/nihav-qt/src/codecs/mod.rs +++ b/nihav-qt/src/codecs/mod.rs @@ -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_rle")] mod rle; @@ -34,6 +39,9 @@ mod svq3; #[allow(clippy::unreadable_literal)] mod svq3dsp; +#[cfg(feature="decoder_alac")] +mod alac; + #[cfg(feature="decoder_ima_adpcm_qt")] mod imaadpcm; @@ -73,6 +81,8 @@ const QT_CODECS: &[DecoderInfo] = &[ DecoderInfo { name: "sorenson-video", get_decoder: svq1::get_decoder }, #[cfg(feature="decoder_svq3")] DecoderInfo { name: "sorenson-video3", get_decoder: svq3::get_decoder }, +#[cfg(feature="decoder_alac")] + DecoderInfo { name: "alac", get_decoder: alac::get_decoder }, #[cfg(feature="decoder_ima_adpcm_qt")] DecoderInfo { name: "ima-adpcm-qt", get_decoder: imaadpcm::get_decoder }, #[cfg(feature="decoder_mace")] @@ -86,8 +96,8 @@ const QT_CODECS: &[DecoderInfo] = &[ ]; /// Registers all available codecs provided by this crate. -pub fn qt_register_all_codecs(rd: &mut RegisteredDecoders) { +pub fn qt_register_all_decoders(rd: &mut RegisteredDecoders) { for decoder in QT_CODECS.iter() { - rd.add_decoder(decoder.clone()); + rd.add_decoder(*decoder); } }