1 use nihav_core::codecs::*;
3 macro_rules! validate {
4 ($a:expr) => { if !$a { println!("check failed at {}:{}", file!(), line!()); return Err(DecoderError::InvalidData); } };
7 #[cfg(any(feature="decoder_realvideo3", feature="decoder_realvideo4"))]
9 #[cfg(any(feature="decoder_realvideo3", feature="decoder_realvideo4"))]
11 #[cfg(any(feature="decoder_realvideo3", feature="decoder_realvideo4"))]
14 #[cfg(feature="decoder_realvideo1")]
16 #[cfg(feature="decoder_realvideo2")]
18 #[cfg(feature="decoder_realvideo3")]
20 #[cfg(feature="decoder_realvideo3")]
22 #[cfg(feature="decoder_realvideo4")]
24 #[cfg(feature="decoder_realvideo4")]
26 #[cfg(feature="decoder_realvideo6")]
28 #[cfg(feature="decoder_realvideo6")]
30 #[cfg(feature="decoder_realvideo6")]
33 #[cfg(feature="decoder_realaudio144")]
35 #[cfg(feature="decoder_realaudio288")]
37 #[cfg(feature="decoder_cook")]
39 #[cfg(feature="decoder_ralf")]
42 const 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 },
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 },
64 pub fn realmedia_register_all_codecs(rd: &mut RegisteredDecoders) {
65 for decoder in RM_CODECS.into_iter() {
66 rd.add_decoder(decoder.clone());