armovie: zero-terminated string is not exactly an error
[nihav.git] / nihav-flash / src / codecs / mod.rs
CommitLineData
92d9fb69
KS
1use nihav_core::codecs::*;
2
71d7f397 3#[cfg(debug_assertions)]
92d9fb69
KS
4macro_rules! validate {
5 ($a:expr) => { if !$a { println!("check failed at {}:{}", file!(), line!()); return Err(DecoderError::InvalidData); } };
6}
71d7f397
KS
7#[cfg(not(debug_assertions))]
8macro_rules! validate {
9 ($a:expr) => { if !$a { return Err(DecoderError::InvalidData); } };
10}
92d9fb69
KS
11
12#[cfg(feature="decoder_flv263")]
13mod flv263;
14#[cfg(feature="decoder_flashsv")]
15mod flashsv;
16
17#[cfg(feature="decoder_flv_adpcm")]
18mod adpcm;
19#[cfg(feature="decoder_asao")]
20mod asao;
21
820b4331 22#[cfg(feature="decoders")]
92d9fb69
KS
23const DECODERS: &[DecoderInfo] = &[
24#[cfg(feature="decoder_flv263")]
25 DecoderInfo { name: "flv263", get_decoder: flv263::get_decoder },
26#[cfg(feature="decoder_flashsv")]
27 DecoderInfo { name: "flashsv", get_decoder: flashsv::get_decoder },
28#[cfg(feature="decoder_flashsv")]
29 DecoderInfo { name: "flashsv2", get_decoder: flashsv::get_decoder_v2 },
30
31#[cfg(feature="decoder_flv_adpcm")]
32 DecoderInfo { name: "flv-adpcm", get_decoder: adpcm::get_decoder },
33#[cfg(feature="decoder_asao")]
34 DecoderInfo { name: "asao", get_decoder: asao::get_decoder },
35];
36
37/// Registers all available codecs provided by this crate.
820b4331 38#[cfg(feature="decoders")]
92d9fb69
KS
39pub fn flash_register_all_decoders(rd: &mut RegisteredDecoders) {
40 for decoder in DECODERS.iter() {
41 rd.add_decoder(*decoder);
42 }
43}
44
45#[cfg(feature="encoder_flv_adpcm")]
46mod adpcmenc;
47
820b4331 48#[cfg(feature="encoders")]
92d9fb69
KS
49const ENCODERS: &[EncoderInfo] = &[
50#[cfg(feature="encoder_flv_adpcm")]
51 EncoderInfo { name: "flv-adpcm", get_encoder: adpcmenc::get_encoder },
52];
53
54/// Registers all available encoders provided by this crate.
820b4331 55#[cfg(feature="encoders")]
92d9fb69
KS
56pub fn flash_register_all_encoders(re: &mut RegisteredEncoders) {
57 for encoder in ENCODERS.iter() {
58 re.add_encoder(*encoder);
59 }
60}