armovie: zero-terminated string is not exactly an error
[nihav.git] / nihav-llaudio / src / demuxers / mod.rs
CommitLineData
87927c57
KS
1use nihav_core::demuxers::*;
2
3#[allow(unused_macros)]
71d7f397 4#[cfg(debug_assertions)]
87927c57
KS
5macro_rules! validate {
6 ($a:expr) => { if !$a { println!("check failed at {}:{}", file!(), line!()); return Err(DemuxerError::InvalidData); } };
7}
71d7f397
KS
8#[cfg(not(debug_assertions))]
9macro_rules! validate {
10 ($a:expr) => { if !$a { return Err(DemuxerError::InvalidData); } };
11}
87927c57
KS
12
13#[cfg(feature="demuxer_ape")]
14mod ape;
15#[cfg(feature="demuxer_flac")]
16mod flac;
2cd9d8a6
KS
17#[cfg(feature="demuxer_flac")]
18mod flacraw;
87927c57
KS
19#[cfg(feature="demuxer_tta")]
20mod tta;
21#[cfg(feature="demuxer_wavpack")]
22mod wavpack;
23
ac818eac 24const LL_AUDIO_DEMUXERS: &[&dyn DemuxerCreator] = &[
87927c57
KS
25#[cfg(feature="demuxer_ape")]
26 &ape::APEDemuxerCreator {},
27#[cfg(feature="demuxer_flac")]
28 &flac::FLACDemuxerCreator {},
29#[cfg(feature="demuxer_tta")]
30 &tta::TTADemuxerCreator {},
31#[cfg(feature="demuxer_wavpack")]
32 &wavpack::WavPackDemuxerCreator {},
33];
34
35/// Registers all available demuxers provided by this crate.
36pub fn llaudio_register_all_demuxers(rd: &mut RegisteredDemuxers) {
37 for demuxer in LL_AUDIO_DEMUXERS.iter() {
38 rd.add_demuxer(*demuxer);
39 }
40}
2cd9d8a6
KS
41
42const LL_RAW_AUDIO_DEMUXERS: &[&dyn RawDemuxerCreator] = &[
43#[cfg(feature="demuxer_flac")]
44 &flacraw::FLACDemuxerCreator {},
45];
46
47/// Registers all available raw stream demuxers provided by this crate.
48pub fn llaudio_register_all_raw_demuxers(rd: &mut RegisteredRawDemuxers) {
49 for demuxer in LL_RAW_AUDIO_DEMUXERS.iter() {
50 rd.add_demuxer(*demuxer);
51 }
52}