aboutsummaryrefslogtreecommitdiffstats
path: root/nihav-realmedia/src/muxers/mod.rs
diff options
context:
space:
mode:
authorKostya Shishkov <kostya.shishkov@gmail.com>2023-03-01 19:36:38 +0100
committerKostya Shishkov <kostya.shishkov@gmail.com>2023-03-01 19:36:38 +0100
commit9dc1fb4be1d02a1d1c1ea85340f49151e00ecad2 (patch)
tree6b6c1bb2f009787790bcd7b3561055c942feaad9 /nihav-realmedia/src/muxers/mod.rs
parente614e5e611a4ae6769a0da7cbccec5842b3dbd0f (diff)
downloadnihav-9dc1fb4be1d02a1d1c1ea85340f49151e00ecad2.tar.gz
add RealMedia and RealAudio muxers
Diffstat (limited to 'nihav-realmedia/src/muxers/mod.rs')
-rw-r--r--nihav-realmedia/src/muxers/mod.rs26
1 files changed, 26 insertions, 0 deletions
diff --git a/nihav-realmedia/src/muxers/mod.rs b/nihav-realmedia/src/muxers/mod.rs
new file mode 100644
index 0000000..e0594c9
--- /dev/null
+++ b/nihav-realmedia/src/muxers/mod.rs
@@ -0,0 +1,26 @@
+use nihav_core::muxers::*;
+
+#[cfg(debug_assertions)]
+macro_rules! validate {
+ ($a:expr) => { if !$a { println!("check failed at {}:{}", file!(), line!()); return Err(MuxerError::InvalidData); } };
+}
+#[cfg(not(debug_assertions))]
+macro_rules! validate {
+ ($a:expr) => { if !$a { return Err(MuxerError::InvalidData); } };
+}
+
+#[cfg(feature="muxer_real")]
+mod rmvb;
+
+const MUXERS: &[&dyn MuxerCreator] = &[
+#[cfg(feature="muxer_real")]
+ &rmvb::RealMediaMuxerCreator {},
+#[cfg(feature="muxer_real")]
+ &rmvb::RealAudioMuxerCreator {},
+];
+
+pub fn realmedia_register_all_muxers(rm: &mut RegisteredMuxers) {
+ for muxer in MUXERS.iter() {
+ rm.add_muxer(*muxer);
+ }
+}