X-Git-Url: https://git.nihav.org/?a=blobdiff_plain;f=nihav-mpeg%2Fsrc%2Fcodecs%2Fmod.rs;h=f6fb31cd6301e48f3331cffb41a59362fae4a1ab;hb=71d7f39706f0f5004820f8d1d36c87d5f9ec3e97;hp=eb5855305479fa5e4d7fbfb6423cca499bbaedbd;hpb=16cca4d3a7a7505ae31a7469b3547c52650fd194;p=nihav.git diff --git a/nihav-mpeg/src/codecs/mod.rs b/nihav-mpeg/src/codecs/mod.rs index eb58553..f6fb31c 100644 --- a/nihav-mpeg/src/codecs/mod.rs +++ b/nihav-mpeg/src/codecs/mod.rs @@ -1,14 +1,29 @@ 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_aac")] +#[allow(clippy::comparison_chain)] +#[allow(clippy::excessive_precision)] +#[allow(clippy::manual_memcpy)] +#[allow(clippy::useless_let_if_seq)] +mod aac; #[cfg(feature="decoder_mpa")] #[allow(clippy::excessive_precision)] mod mpegaudio; const DECODERS: &[DecoderInfo] = &[ +#[cfg(feature="decoder_aac")] + DecoderInfo { name: "aac", get_decoder: aac::get_decoder }, +#[cfg(feature="decoder_mpa")] + DecoderInfo { name: "mp2", get_decoder: mpegaudio::get_decoder_mp2 }, #[cfg(feature="decoder_mpa")] DecoderInfo { name: "mp3", get_decoder: mpegaudio::get_decoder_mp3 }, ]; @@ -19,3 +34,15 @@ pub fn mpeg_register_all_decoders(rd: &mut RegisteredDecoders) { rd.add_decoder(*decoder); } } + +const PACKETISERS: &[PacketiserInfo] = &[ +#[cfg(feature="decoder_mpa")] + PacketiserInfo { name: "mpa", get_packetiser: mpegaudio::get_packetiser }, +]; + +/// Registers all available packetisers provided by this crate. +pub fn mpeg_register_all_packetisers(rp: &mut RegisteredPacketisers) { + for packetiser in PACKETISERS.iter() { + rp.add_packetiser(*packetiser); + } +}