make validate!() print message only in debug builds
[nihav.git] / nihav-vivo / src / codecs / mod.rs
CommitLineData
31cf33ac
KS
1use nihav_core::codecs::*;
2
3#[allow(unused_macros)]
71d7f397 4#[cfg(debug_assertions)]
31cf33ac
KS
5macro_rules! validate {
6 ($a:expr) => { if !$a { println!("check failed at {}:{}", file!(), line!()); return Err(DecoderError::InvalidData); } };
7}
71d7f397
KS
8#[cfg(not(debug_assertions))]
9macro_rules! validate {
10 ($a:expr) => { if !$a { return Err(DecoderError::InvalidData); } };
11}
31cf33ac
KS
12
13#[cfg(any(feature="decoder_vivo1", feature="decoder_vivo2"))]
494ad253 14#[allow(clippy::useless_let_if_seq)]
31cf33ac
KS
15mod vivo;
16#[cfg(feature="decoder_g723_1")]
494ad253
KS
17#[allow(clippy::needless_range_loop)]
18#[allow(clippy::unreadable_literal)]
19#[allow(clippy::useless_let_if_seq)]
31cf33ac
KS
20mod g723_1;
21#[cfg(feature="decoder_siren")]
494ad253
KS
22#[allow(clippy::approx_constant)]
23#[allow(clippy::needless_range_loop)]
31cf33ac
KS
24mod siren;
25
26const VIVO_CODECS: &[DecoderInfo] = &[
27#[cfg(feature="decoder_vivo1")]
28 DecoderInfo { name: "vivo1", get_decoder: vivo::get_decoder },
29#[cfg(feature="decoder_vivo2")]
30 DecoderInfo { name: "vivo2", get_decoder: vivo::get_decoder },
31#[cfg(feature="decoder_g723_1")]
32 DecoderInfo { name: "g723.1", get_decoder: g723_1::get_decoder },
33#[cfg(feature="decoder_siren")]
34 DecoderInfo { name: "siren", get_decoder: siren::get_decoder },
35];
36
37/// Registers all available codecs provided by this crate.
78fb6560 38pub fn vivo_register_all_decoders(rd: &mut RegisteredDecoders) {
31cf33ac 39 for decoder in VIVO_CODECS.iter() {
b7c882c1 40 rd.add_decoder(*decoder);
31cf33ac
KS
41 }
42}