core: fix most clippy warnings
[nihav.git] / nihav-realmedia / src / codecs / mod.rs
CommitLineData
5641dccf
KS
1use nihav_core::codecs::*;
2
3macro_rules! validate {
4 ($a:expr) => { if !$a { println!("check failed at {}:{}", file!(), line!()); return Err(DecoderError::InvalidData); } };
5}
6
7#[cfg(any(feature="decoder_realvideo3", feature="decoder_realvideo4"))]
8mod rv3040;
9#[cfg(any(feature="decoder_realvideo3", feature="decoder_realvideo4"))]
10mod rv34codes;
11#[cfg(any(feature="decoder_realvideo3", feature="decoder_realvideo4"))]
12mod rv34dsp;
13
14#[cfg(feature="decoder_realvideo1")]
15pub mod rv10;
16#[cfg(feature="decoder_realvideo2")]
17pub mod rv20;
18#[cfg(feature="decoder_realvideo3")]
19pub mod rv30;
20#[cfg(feature="decoder_realvideo3")]
21pub mod rv30dsp;
22#[cfg(feature="decoder_realvideo4")]
23pub mod rv40;
24#[cfg(feature="decoder_realvideo4")]
25pub mod rv40dsp;
26#[cfg(feature="decoder_realvideo6")]
27pub mod rv60;
28#[cfg(feature="decoder_realvideo6")]
29pub mod rv60codes;
30#[cfg(feature="decoder_realvideo6")]
31pub mod rv60dsp;
32
33#[cfg(feature="decoder_realaudio144")]
34pub mod ra144;
35#[cfg(feature="decoder_realaudio288")]
36pub mod ra288;
37#[cfg(feature="decoder_cook")]
38pub mod cook;
39#[cfg(feature="decoder_ralf")]
40pub mod ralf;
41
42const RM_CODECS: &[DecoderInfo] = &[
43#[cfg(feature="decoder_realvideo1")]
44 DecoderInfo { name: "realvideo1", get_decoder: rv10::get_decoder },
45#[cfg(feature="decoder_realvideo2")]
46 DecoderInfo { name: "realvideo2", get_decoder: rv20::get_decoder },
47#[cfg(feature="decoder_realvideo3")]
48 DecoderInfo { name: "realvideo3", get_decoder: rv30::get_decoder },
49#[cfg(feature="decoder_realvideo4")]
50 DecoderInfo { name: "realvideo4", get_decoder: rv40::get_decoder },
51#[cfg(feature="decoder_realvideo6")]
52 DecoderInfo { name: "realvideo6", get_decoder: rv60::get_decoder },
53
54#[cfg(feature="decoder_realaudio144")]
55 DecoderInfo { name: "ra14.4", get_decoder: ra144::get_decoder },
56#[cfg(feature="decoder_realaudio288")]
57 DecoderInfo { name: "ra28.8", get_decoder: ra288::get_decoder },
58#[cfg(feature="decoder_cook")]
59 DecoderInfo { name: "cook", get_decoder: cook::get_decoder },
60#[cfg(feature="decoder_ralf")]
61 DecoderInfo { name: "ralf", get_decoder: ralf::get_decoder },
62];
63
64pub fn realmedia_register_all_codecs(rd: &mut RegisteredDecoders) {
65 for decoder in RM_CODECS.into_iter() {
66 rd.add_decoder(decoder.clone());
67 }
68}