]>
Commit | Line | Data |
---|---|---|
1 | use nihav_core::demuxers::*; | |
2 | ||
3 | #[allow(unused_macros)] | |
4 | #[cfg(debug_assertions)] | |
5 | macro_rules! validate { | |
6 | ($a:expr) => { if !$a { println!("check failed at {}:{}", file!(), line!()); return Err(DemuxerError::InvalidData); } }; | |
7 | } | |
8 | #[cfg(not(debug_assertions))] | |
9 | macro_rules! validate { | |
10 | ($a:expr) => { if !$a { return Err(DemuxerError::InvalidData); } }; | |
11 | } | |
12 | ||
13 | #[cfg(feature="demuxer_ape")] | |
14 | mod ape; | |
15 | #[cfg(feature="demuxer_flac")] | |
16 | mod flac; | |
17 | #[cfg(feature="demuxer_flac")] | |
18 | mod flacraw; | |
19 | #[cfg(feature="demuxer_tta")] | |
20 | mod tta; | |
21 | #[cfg(feature="demuxer_wavpack")] | |
22 | mod wavpack; | |
23 | ||
24 | const LL_AUDIO_DEMUXERS: &[&dyn DemuxerCreator] = &[ | |
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. | |
36 | pub fn llaudio_register_all_demuxers(rd: &mut RegisteredDemuxers) { | |
37 | for demuxer in LL_AUDIO_DEMUXERS.iter() { | |
38 | rd.add_demuxer(*demuxer); | |
39 | } | |
40 | } | |
41 | ||
42 | const 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. | |
48 | pub 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 | } |