- fn get_supported_options(&self) -> &[NAOptionDefinition] { &[] }
- fn set_options(&mut self, _options: &[NAOption]) { }
- fn query_option_value(&self, _name: &str) -> Option<NAValue> { None }
+ fn get_supported_options(&self) -> &[NAOptionDefinition] { MUXER_OPTIONS }
+ fn set_options(&mut self, options: &[NAOption]) {
+ for option in options.iter() {
+ for opt_def in MUXER_OPTIONS.iter() {
+ if opt_def.check(option).is_ok() {
+ match option.name {
+ DEBUG_OPTION => {
+ if let NAValue::Bool(val) = option.value {
+ self.debug = val;
+ for stream in self.streams.iter_mut() {
+ stream.debug = val;
+ }
+ }
+ },
+ VPKT_SIZE_OPTION => {
+ if let NAValue::Int(intval) = option.value {
+ self.vpkt_size = intval as usize;
+ for stream in self.streams.iter_mut() {
+ stream.packetiser.set_pkt_size(self.vpkt_size);
+ }
+ }
+ },
+ _ => {},
+ };
+ }
+ }
+ }
+ }
+ fn query_option_value(&self, name: &str) -> Option<NAValue> {
+ match name {
+ DEBUG_OPTION => Some(NAValue::Bool(self.debug)),
+ VPKT_SIZE_OPTION => Some(NAValue::Int(self.vpkt_size as i64)),
+ _ => None,
+ }
+ }