Make BitReader rely on passed slice size without the additional arguments.
[nihav.git] / nihav-commonfmt / src / codecs / aac.rs
index aeb2d060ff60694619e19d6103fe74383d4c7614..c46366c04df4d1c5ba5c164c60ed1c0652b65405 100644 (file)
@@ -147,7 +147,7 @@ impl M4AInfo {
         }
     }
     fn read(&mut self, src: &[u8]) -> DecoderResult<()> {
-        let mut br = BitReader::new(src, src.len(), BitReaderMode::BE);
+        let mut br = BitReader::new(src, BitReaderMode::BE);
         self.otype = Self::read_object_type(&mut br)?;
         self.srate = Self::read_sampling_frequency(&mut br)?;
         validate!(self.srate > 0);
@@ -1238,7 +1238,7 @@ impl NADecoder for AACDecoder {
         let ainfo = self.info.get_properties().get_audio_info().unwrap();
         let mut abuf = alloc_audio_buffer(ainfo, self.m4ainfo.samples, self.chmap.clone())?;
 
-        let mut br = BitReader::new(&pktbuf, pktbuf.len(), BitReaderMode::BE);
+        let mut br = BitReader::new(&pktbuf, BitReaderMode::BE);
         match self.m4ainfo.otype {
             M4AType::LC => {
                     self.decode_ga(&mut br, &mut abuf)?;
@@ -1258,7 +1258,7 @@ impl NADecoder for AACDecoder {
     }
 }
 
-pub fn get_decoder() -> Box<dyn NADecoder> {
+pub fn get_decoder() -> Box<dyn NADecoder + Send> {
     Box::new(AACDecoder::new())
 }
 
@@ -1278,7 +1278,7 @@ mod test {
 
 //        let file = "assets/RV/rv40_weighted_mc.rmvb";
         let file = "assets/RV/rv40_weighted_mc_2.rmvb";
-        test_decode_audio("realmedia", file, Some(12000), "aac", &dmx_reg, &dec_reg);
+        test_decode_audio("realmedia", file, Some(12000), None/*Some("aac")*/, &dmx_reg, &dec_reg);
     }
 }