X-Git-Url: https://git.nihav.org/?a=blobdiff_plain;f=nihav-commonfmt%2Fsrc%2Fcodecs%2Fts102366.rs;h=4f270cc56ad1323df0f31d45f92baabd8d7f56a3;hb=70e792a8d49bc44d2137752bfc35aceb7023f7fa;hp=65b1b9e28eec85640721db607e68421dd1c6a3f1;hpb=c83013a1f409bc5f83e343cf1b2293aa736e6c93;p=nihav.git diff --git a/nihav-commonfmt/src/codecs/ts102366.rs b/nihav-commonfmt/src/codecs/ts102366.rs index 65b1b9e..4f270cc 100644 --- a/nihav-commonfmt/src/codecs/ts102366.rs +++ b/nihav-commonfmt/src/codecs/ts102366.rs @@ -2,7 +2,7 @@ use nihav_core::formats::*; 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; @@ -1171,9 +1171,9 @@ impl NADecoder for AudioDecoder { 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); } @@ -1235,9 +1235,12 @@ impl NADecoder for AudioDecoder { 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 { +pub fn get_decoder() -> Box { Box::new(AudioDecoder::new()) } @@ -1245,9 +1248,9 @@ pub fn get_decoder() -> Box { 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(); @@ -1256,7 +1259,7 @@ mod test { 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); } }