]> git.nihav.org Git - nihav.git/blob - nihav-realmedia/src/demuxers/mod.rs
7f9e4acbd101c18a7aea3699e50c3ee59c4db751
[nihav.git] / nihav-realmedia / src / demuxers / mod.rs
1 use nihav_core::demuxers::*;
2
3 #[cfg(debug_assertions)]
4 macro_rules! validate {
5 ($a:expr) => { if !$a { println!("check failed at {}:{}", file!(), line!()); return Err(DemuxerError::InvalidData); } };
6 }
7 #[cfg(not(debug_assertions))]
8 macro_rules! validate {
9 ($a:expr) => { if !$a { return Err(DemuxerError::InvalidData); } };
10 }
11
12 #[cfg(feature="demuxer_real")]
13 #[allow(clippy::identity_op)]
14 mod realmedia;
15
16 const RM_DEMUXERS: &[&dyn DemuxerCreator] = &[
17 #[cfg(feature="demuxer_real")]
18 &realmedia::RealMediaDemuxerCreator {},
19 #[cfg(feature="demuxer_real")]
20 &realmedia::RealAudioDemuxerCreator {},
21 #[cfg(feature="demuxer_real")]
22 &realmedia::RealIVRDemuxerCreator {},
23 ];
24
25 /// Registers all available demuxers provided by this crate.
26 pub fn realmedia_register_all_demuxers(rd: &mut RegisteredDemuxers) {
27 for demuxer in RM_DEMUXERS.iter() {
28 rd.add_demuxer(*demuxer);
29 }
30 }