make all codec crates export just register_all functions and document them
[nihav.git] / nihav-game / src / demuxers / mod.rs
index f361ea36a2e206a79962225061db66c9818fb3a9..236b3cf8d229f9a16e45d44f4e7757eeed6651a5 100644 (file)
@@ -5,20 +5,27 @@ macro_rules! validate {
     ($a:expr) => { if !$a { println!("check failed at {}:{}", file!(), line!()); return Err(DemuxerError::InvalidData); } };
 }
 
-#[cfg(feature="demuxer_bmv")]
+#[cfg(any(feature="demuxer_bmv",feature="demuxer_bmv3"))]
 mod bmv;
 #[cfg(feature="demuxer_gdv")]
 mod gdv;
+#[cfg(feature="demuxer_vmd")]
+mod vmd;
 
-const GAME_DEMUXERS: &[&'static DemuxerCreator] = &[
+const GAME_DEMUXERS: &[&DemuxerCreator] = &[
 #[cfg(feature="demuxer_bmv")]
     &bmv::BMVDemuxerCreator {},
+#[cfg(feature="demuxer_bmv3")]
+    &bmv::BMV3DemuxerCreator {},
 #[cfg(feature="demuxer_gdv")]
     &gdv::GDVDemuxerCreator {},
+#[cfg(feature="demuxer_vmd")]
+    &vmd::VMDDemuxerCreator {},
 ];
 
+/// Registers all available demuxers provided by this crate.
 pub fn game_register_all_demuxers(rd: &mut RegisteredDemuxers) {
-    for demuxer in GAME_DEMUXERS.into_iter() {
+    for demuxer in GAME_DEMUXERS.iter() {
         rd.add_demuxer(*demuxer);
     }
 }