X-Git-Url: https://git.nihav.org/?a=blobdiff_plain;f=nihav-core%2Fsrc%2Fmuxers%2Fmod.rs;h=69ab917562d762e8cf22c2ad9ad055ea7be84ad1;hb=c39708928eaa7eeb53e4b243cb5c18ea6013d82d;hp=9f40d54424349bd8c1914e31f1f0d9bb36220212;hpb=dc80f48ea3097c891b159667ea239d3c20c78bc8;p=nihav.git diff --git a/nihav-core/src/muxers/mod.rs b/nihav-core/src/muxers/mod.rs index 9f40d54..69ab917 100644 --- a/nihav-core/src/muxers/mod.rs +++ b/nihav-core/src/muxers/mod.rs @@ -97,11 +97,11 @@ impl<'a> Muxer<'a> { self.streams.iter() } - /// Demuxes a new packet from the container. + /// Queues a new packet for muxing. pub fn mux_frame(&mut self, pkt: NAPacket) -> MuxerResult<()> { self.mux.mux_frame(&self.streams, pkt) } - /// Returns internal seek index. + /// Flushes the current muxing state. pub fn flush(&mut self) -> MuxerResult<()> { self.mux.flush() } @@ -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 { + 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() + } }