]> git.nihav.org Git - nihav.git/blame - nihav-acorn/src/demuxers/mod.rs
avimux: do not record palette change chunks in OpenDML index
[nihav.git] / nihav-acorn / src / demuxers / mod.rs
CommitLineData
e981a888
KS
1use nihav_core::demuxers::*;
2
3
4#[allow(unused_macros)]
5#[cfg(debug_assertions)]
6macro_rules! validate {
7 ($a:expr) => { if !$a { println!("check failed at {}:{}", file!(), line!()); return Err(DemuxerError::InvalidData); } };
8}
9#[cfg(not(debug_assertions))]
10macro_rules! validate {
11 ($a:expr) => { if !$a { return Err(DemuxerError::InvalidData); } };
12}
13
9383afcb
KS
14#[cfg(feature="demuxer_tca")]
15mod tca;
16
17const DEMUXERS: &[&dyn DemuxerCreator] = &[
18#[cfg(feature="demuxer_tca")]
19 &tca::TCADemuxerCreator {},
20];
21
e981a888
KS
22#[cfg(feature="demuxer_armovie")]
23mod armovie;
24
25const RAW_DEMUXERS: &[&dyn RawDemuxerCreator] = &[
26#[cfg(feature="demuxer_armovie")]
27 &armovie::ARMovieDemuxerCreator {},
28];
29
9383afcb
KS
30/// Registers all available demuxers provided by this crate.
31pub fn acorn_register_all_demuxers(rd: &mut RegisteredDemuxers) {
32 for demuxer in DEMUXERS.iter() {
33 rd.add_demuxer(*demuxer);
34 }
35}
36
e981a888
KS
37/// Registers all available demuxers provided by this crate.
38pub fn acorn_register_all_raw_demuxers(rd: &mut RegisteredRawDemuxers) {
39 for demuxer in RAW_DEMUXERS.iter() {
40 rd.add_demuxer(*demuxer);
41 }
42}