]>
Commit | Line | Data |
---|---|---|
38953fb5 KS |
1 | use nihav_core::demuxers::*; |
2 | ||
3 | ||
674ebc33 | 4 | #[allow(unused_macros)] |
71d7f397 | 5 | #[cfg(debug_assertions)] |
38953fb5 KS |
6 | macro_rules! validate { |
7 | ($a:expr) => { if !$a { println!("check failed at {}:{}", file!(), line!()); return Err(DemuxerError::InvalidData); } }; | |
8 | } | |
71d7f397 KS |
9 | #[cfg(not(debug_assertions))] |
10 | macro_rules! validate { | |
11 | ($a:expr) => { if !$a { return Err(DemuxerError::InvalidData); } }; | |
12 | } | |
38953fb5 KS |
13 | |
14 | #[cfg(feature="demuxer_avi")] | |
c83013a1 | 15 | #[allow(clippy::cast_lossless)] |
38953fb5 | 16 | mod avi; |
fc39649d KS |
17 | #[cfg(feature="demuxer_gif")] |
18 | mod gif; | |
58309c73 | 19 | #[cfg(feature="demuxer_mov")] |
61cab15b | 20 | #[allow(clippy::cast_lossless)] |
58309c73 | 21 | mod mov; |
283abfa6 KS |
22 | #[cfg(feature="demuxer_wav")] |
23 | mod wav; | |
dbb2cbc9 KS |
24 | #[cfg(feature="demuxer_y4m")] |
25 | mod y4m; | |
38953fb5 | 26 | |
ac818eac | 27 | const DEMUXERS: &[&dyn DemuxerCreator] = &[ |
38953fb5 KS |
28 | #[cfg(feature="demuxer_avi")] |
29 | &avi::AVIDemuxerCreator {}, | |
fc39649d KS |
30 | #[cfg(feature="demuxer_gif")] |
31 | &gif::GIFDemuxerCreator {}, | |
58309c73 KS |
32 | #[cfg(feature="demuxer_mov")] |
33 | &mov::MOVDemuxerCreator {}, | |
88fd1059 KS |
34 | #[cfg(feature="demuxer_mov")] |
35 | &mov::MacBinaryMOVDemuxerCreator {}, | |
283abfa6 KS |
36 | #[cfg(feature="demuxer_wav")] |
37 | &wav::WAVDemuxerCreator {}, | |
dbb2cbc9 KS |
38 | #[cfg(feature="demuxer_y4m")] |
39 | &y4m::Y4MDemuxerCreator {}, | |
38953fb5 KS |
40 | ]; |
41 | ||
e64739f8 | 42 | /// Registers all available demuxers provided by this crate. |
38953fb5 | 43 | pub fn generic_register_all_demuxers(rd: &mut RegisteredDemuxers) { |
c83013a1 | 44 | for demuxer in DEMUXERS.iter() { |
38953fb5 KS |
45 | rd.add_demuxer(*demuxer); |
46 | } | |
47 | } |