]> git.nihav.org Git - nihav.git/blobdiff - nihav-core/src/muxers/mod.rs
core: add iterator for the lists of registered demuxers and muxers
[nihav.git] / nihav-core / src / muxers / mod.rs
index 9f40d54424349bd8c1914e31f1f0d9bb36220212..6194f518c092e75e68493883470f2a3f76139159 100644 (file)
@@ -111,6 +111,18 @@ impl<'a> Muxer<'a> {
     }
 }
 
+impl<'a> NAOptionHandler for Muxer<'a> {
+    fn get_supported_options(&self) -> &[NAOptionDefinition] {
+        self.mux.get_supported_options()
+    }
+    fn set_options(&mut self, options: &[NAOption]) {
+        self.mux.set_options(options);
+    }
+    fn query_option_value(&self, name: &str) -> Option<NAValue> {
+        self.mux.query_option_value(name)
+    }
+}
+
 /// The trait for creating muxers.
 pub trait MuxerCreator {
     /// Creates new muxer instance that will use `ByteWriter` for output.
@@ -152,4 +164,8 @@ impl RegisteredMuxers {
         }
         None
     }
+    /// Provides an iterator over currently registered muxers.
+    pub fn iter(&self) -> std::slice::Iter<&MuxerCreator> {
+        self.muxes.iter()
+    }
 }