+
+ fn get_duration(&self) -> u64 { self.duration }
+}
+
+const WAV_OPTIONS: &[NAOptionDefinition] = &[
+ NAOptionDefinition {
+ name: "force_tb_num", description: "force timebase numerator for PCM blocks",
+ opt_type: NAOptionDefinitionType::Int(Some(1), None) },
+ NAOptionDefinition {
+ name: "force_tb_den", description: "force timebase denominator for PCM blocks",
+ opt_type: NAOptionDefinitionType::Int(Some(1), None) },
+];
+
+impl<'a> NAOptionHandler for WAVDemuxer<'a> {
+ fn get_supported_options(&self) -> &[NAOptionDefinition] { WAV_OPTIONS }
+ fn set_options(&mut self, options: &[NAOption]) {
+ for option in options.iter() {
+ match (option.name, &option.value) {
+ ("force_tb_num", NAValue::Int(ref ival)) => {
+ self.force_tb_num = *ival as u32;
+ },
+ ("force_tb_den", NAValue::Int(ref ival)) => {
+ self.force_tb_den = *ival as u32;
+ },
+ _ => {},
+ };
+ }
+ }
+ fn query_option_value(&self, name: &str) -> Option<NAValue> {
+ match name {
+ "force_tb_num" => Some(NAValue::Int(i64::from(self.force_tb_num))),
+ "force_tb_den" => Some(NAValue::Int(i64::from(self.force_tb_den))),
+ _ => None,
+ }
+ }