use nihav_core::frame::*;
use nihav_core::codecs::*;
use nihav_core::io::bitreader::*;
-use nihav_core::dsp::fft::*;
+use nihav_codec_support::dsp::fft::*;
use std::str::FromStr;
use std::f32::consts;
let mut br;
if (pktbuf[0] == MAGIC_BYTE0) && (pktbuf[1] == MAGIC_BYTE1) {
- br = BitReader::new(pktbuf.as_slice(), pktbuf.len(), BitReaderMode::BE);
+ br = BitReader::new(pktbuf.as_slice(), BitReaderMode::BE);
} else if (pktbuf[0] == MAGIC_BYTE1) && (pktbuf[1] == MAGIC_BYTE0) {
- br = BitReader::new(pktbuf.as_slice(), pktbuf.len(), BitReaderMode::LE16MSB);
+ br = BitReader::new(pktbuf.as_slice(), BitReaderMode::LE16MSB);
} else {
return Err(DecoderError::InvalidData);
}
frm.set_keyframe(true);
Ok(frm.into_ref())
}
+ fn flush(&mut self) {
+ self.delay = [[0.0; BLOCK_LEN]; MAX_CHANNELS + 1];
+ }
}
-pub fn get_decoder() -> Box<dyn NADecoder> {
+pub fn get_decoder() -> Box<dyn NADecoder + Send> {
Box::new(AudioDecoder::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_ts102366() {
let mut dmx_reg = RegisteredDemuxers::new();
generic_register_all_codecs(&mut dec_reg);
let file = "assets/RV/sp_sample1.rm";
- test_decode_audio("realmedia", file, Some(12000), "ac3", &dmx_reg, &dec_reg);
+ test_decode_audio("realmedia", file, Some(12000), None/*Some("ac3")*/, &dmx_reg, &dec_reg);
}
}