add nihav-mpeg crate
[nihav.git] / nihav-mpeg / src / codecs / mod.rs
diff --git a/nihav-mpeg/src/codecs/mod.rs b/nihav-mpeg/src/codecs/mod.rs
new file mode 100644 (file)
index 0000000..eb58553
--- /dev/null
@@ -0,0 +1,21 @@
+use nihav_core::codecs::*;
+
+macro_rules! validate {
+    ($a:expr) => { if !$a { println!("check failed at {}:{}", file!(), line!()); return Err(DecoderError::InvalidData); } };
+}
+
+#[cfg(feature="decoder_mpa")]
+#[allow(clippy::excessive_precision)]
+mod mpegaudio;
+
+const DECODERS: &[DecoderInfo] = &[
+#[cfg(feature="decoder_mpa")]
+    DecoderInfo { name: "mp3", get_decoder: mpegaudio::get_decoder_mp3 },
+];
+
+/// Registers all available codecs provided by this crate.
+pub fn mpeg_register_all_decoders(rd: &mut RegisteredDecoders) {
+    for decoder in DECODERS.iter() {
+        rd.add_decoder(*decoder);
+    }
+}