add VivoActive (imperfect) format family support
[nihav.git] / nihav-vivo / src / codecs / mod.rs
CommitLineData
31cf33ac
KS
1use nihav_core::codecs::*;
2
3#[allow(unused_macros)]
4macro_rules! validate {
5 ($a:expr) => { if !$a { println!("check failed at {}:{}", file!(), line!()); return Err(DecoderError::InvalidData); } };
6}
7
8#[cfg(any(feature="decoder_vivo1", feature="decoder_vivo2"))]
9mod vivo;
10#[cfg(feature="decoder_g723_1")]
11mod g723_1;
12#[cfg(feature="decoder_siren")]
13mod siren;
14
15const VIVO_CODECS: &[DecoderInfo] = &[
16#[cfg(feature="decoder_vivo1")]
17 DecoderInfo { name: "vivo1", get_decoder: vivo::get_decoder },
18#[cfg(feature="decoder_vivo2")]
19 DecoderInfo { name: "vivo2", get_decoder: vivo::get_decoder },
20#[cfg(feature="decoder_g723_1")]
21 DecoderInfo { name: "g723.1", get_decoder: g723_1::get_decoder },
22#[cfg(feature="decoder_siren")]
23 DecoderInfo { name: "siren", get_decoder: siren::get_decoder },
24];
25
26/// Registers all available codecs provided by this crate.
27pub fn vivo_register_all_codecs(rd: &mut RegisteredDecoders) {
28 for decoder in VIVO_CODECS.iter() {
29 rd.add_decoder(decoder.clone());
30 }
31}