RAD formats crate and Smacker demuxer and decoder
[nihav.git] / nihav-rad / src / demuxers / mod.rs
1 use nihav_core::demuxers::*;
2
3 #[allow(unused_macros)]
4 macro_rules! validate {
5 ($a:expr) => { if !$a { println!("check failed at {}:{}", file!(), line!()); return Err(DemuxerError::InvalidData); } };
6 }
7
8 #[cfg(feature="demuxer_smk")]
9 mod smacker;
10 #[cfg(feature="demuxer_bink")]
11 mod bink;
12
13 const RAD_DEMUXERS: &[&'static DemuxerCreator] = &[
14 #[cfg(feature="demuxer_smk")]
15 &smacker::SMKDemuxerCreator {},
16 #[cfg(feature="demuxer_bink")]
17 &bink::BinkDemuxerCreator {},
18 ];
19
20 pub fn rad_register_all_demuxers(rd: &mut RegisteredDemuxers) {
21 for demuxer in RAD_DEMUXERS.into_iter() {
22 rd.add_demuxer(*demuxer);
23 }
24 }