use nihav_core::io::bitreader::*;
use nihav_core::io::byteio::*;
use nihav_core::io::codebook::*;
-use nihav_core::dsp::mdct::IMDCT;
+use nihav_codec_support::dsp::mdct::IMDCT;
use std::f32::consts;
#[derive(Clone,Copy,PartialEq)]
}
{
- let mut br = BitReader::new(self.pkt_buf.as_slice(), frame_size, BitReaderMode::BE);
+ let mut br = BitReader::new(&self.pkt_buf[0..frame_size], BitReaderMode::BE);
let id = br.read(6)?;
validate!(id == 0x28);
self.ch_data[0].decode_unit(&mut br, &self.codebooks, &self.scalefactors)?;
} else {
off = frame_size / 2;
}
- let mut br = BitReader::new(&self.pkt_buf[off..], frame_size - off, BitReaderMode::BE);
+ let mut br = BitReader::new(&self.pkt_buf[off..frame_size], BitReaderMode::BE);
if self.mode == Mode::JointStereo {
let id = br.read(2)?;
validate!(id == 0x3);
}
}
-pub fn get_decoder() -> Box<dyn NADecoder> {
+pub fn get_decoder() -> Box<dyn NADecoder + Send> {
Box::new(Atrac3Decoder::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_atrac3() {
let mut dmx_reg = RegisteredDemuxers::new();
let file = "assets/RV/rv30_atrc_384x208_realproducer_plus_8.51.rm";
// let file = "assets/RV/rv20_svt_atrc_640x352_realproducer_plus_8.51.rm";
- test_decode_audio("realmedia", file, Some(12000), "atrac3", &dmx_reg, &dec_reg);
+ test_decode_audio("realmedia", file, Some(12000), None/*Some("atrac3")*/, &dmx_reg, &dec_reg);
}
}