1 use nihav_core::demuxers::*;
4 #[allow(unused_macros)]
5 #[cfg(debug_assertions)]
6 macro_rules! validate {
7 ($a:expr) => { if !$a { println!("check failed at {}:{}", file!(), line!()); return Err(DemuxerError::InvalidData); } };
9 #[cfg(not(debug_assertions))]
10 macro_rules! validate {
11 ($a:expr) => { if !$a { return Err(DemuxerError::InvalidData); } };
14 #[cfg(feature="demuxer_tca")]
17 const DEMUXERS: &[&dyn DemuxerCreator] = &[
18 #[cfg(feature="demuxer_tca")]
19 &tca::TCADemuxerCreator {},
22 #[cfg(feature="demuxer_armovie")]
25 const RAW_DEMUXERS: &[&dyn RawDemuxerCreator] = &[
26 #[cfg(feature="demuxer_armovie")]
27 &armovie::ARMovieDemuxerCreator {},
30 /// Registers all available demuxers provided by this crate.
31 pub fn acorn_register_all_demuxers(rd: &mut RegisteredDemuxers) {
32 for demuxer in DEMUXERS.iter() {
33 rd.add_demuxer(*demuxer);
37 /// Registers all available demuxers provided by this crate.
38 pub fn acorn_register_all_raw_demuxers(rd: &mut RegisteredRawDemuxers) {
39 for demuxer in RAW_DEMUXERS.iter() {
40 rd.add_demuxer(*demuxer);