1 use nihav_core::codecs::*;
3 #[allow(unused_macros)]
4 #[cfg(debug_assertions)]
5 macro_rules! validate {
6 ($a:expr) => { if !$a { println!("check failed at {}:{}", file!(), line!()); return Err(DecoderError::InvalidData); } };
8 #[cfg(not(debug_assertions))]
9 macro_rules! validate {
10 ($a:expr) => { if !$a { return Err(DecoderError::InvalidData); } };
13 #[cfg(any(feature="decoder_vivo1", feature="decoder_vivo2"))]
15 #[cfg(feature="decoder_g723_1")]
17 #[cfg(feature="decoder_siren")]
18 #[allow(clippy::approx_constant)]
21 const VIVO_CODECS: &[DecoderInfo] = &[
22 #[cfg(feature="decoder_vivo1")]
23 DecoderInfo { name: "vivo1", get_decoder: vivo::get_decoder },
24 #[cfg(feature="decoder_vivo2")]
25 DecoderInfo { name: "vivo2", get_decoder: vivo::get_decoder },
26 #[cfg(feature="decoder_g723_1")]
27 DecoderInfo { name: "g723.1", get_decoder: g723_1::get_decoder },
28 #[cfg(feature="decoder_siren")]
29 DecoderInfo { name: "siren", get_decoder: siren::get_decoder },
32 /// Registers all available codecs provided by this crate.
33 pub fn vivo_register_all_decoders(rd: &mut RegisteredDecoders) {
34 for decoder in VIVO_CODECS.iter() {
35 rd.add_decoder(*decoder);