let frame_len = self.mode.subframe_len * self.mode.subframes;
for (input, output) in pktbuf.chunks(frm_size).zip(dst.chunks_mut(out_frm_size)) {
- let mut br = BitReader::new(input, input.len(), BitReaderMode::LE);
+ let mut br = BitReader::new(input, BitReaderMode::LE);
for dst in output.chunks_mut(frame_len) {
self.unpack_frame(&mut br)?;
if self.mode_type.is16k() {
frm.set_keyframe(true);
Ok(frm.into_ref())
}
+ fn flush(&mut self) {
+ }
+}
+
+impl NAOptionHandler for SiproDecoder {
+ fn get_supported_options(&self) -> &[NAOptionDefinition] { &[] }
+ fn set_options(&mut self, _options: &[NAOption]) { }
+ fn query_option_value(&self, _name: &str) -> Option<NAValue> { None }
}
-pub fn get_decoder() -> Box<dyn NADecoder> {
+pub fn get_decoder() -> Box<dyn NADecoder + Send> {
Box::new(SiproDecoder::new())
}
mod test {
use nihav_core::codecs::RegisteredDecoders;
use nihav_core::demuxers::RegisteredDemuxers;
- use nihav_core::test::dec_video::test_decode_audio;
- use crate::codecs::generic_register_all_codecs;
- use nihav_realmedia::demuxers::realmedia_register_all_demuxers;
+ use nihav_codec_support::test::dec_video::test_decode_audio;
+ use crate::generic_register_all_codecs;
+ use nihav_realmedia::realmedia_register_all_demuxers;
#[test]
fn test_sipro() {
let mut dmx_reg = RegisteredDemuxers::new();
generic_register_all_codecs(&mut dec_reg);
let file = "assets/RV/autahi-vox.rm";
- test_decode_audio("realmedia", file, Some(5000), "sipro", &dmx_reg, &dec_reg);
+ test_decode_audio("realmedia", file, Some(5000), None/*Some("sipro")*/, &dmx_reg, &dec_reg);
}
}