Make BitReader rely on passed slice size without the additional arguments.
[nihav.git] / nihav-realmedia / src / codecs / ralf.rs
index c4728620098bdd328ff1ea2b69b4a94f3b655d33..c16075bcb1df316c69a9e98d5eee5d0830b34f4e 100644 (file)
@@ -277,7 +277,7 @@ impl RALFDecoder {
         }
     }
     fn decode_block(&mut self, off: usize, size: usize, abuf: &mut NABufferType) -> DecoderResult<()> {
-        let mut br = BitReader::new(&self.pkt_buf[off..][..size], size, BitReaderMode::BE);
+        let mut br = BitReader::new(&self.pkt_buf[off..][..size], BitReaderMode::BE);
 
         let length = read_block_length(&mut br).unwrap();
         validate!(length + self.sample_offset <= self.max_frame_size);
@@ -428,7 +428,7 @@ impl NADecoder for RALFDecoder {
         validate!(src_len > table_bytes + 3);
         self.blocks.truncate(0);
         {
-            let mut br = BitReader::new(&self.pkt_buf[2..], table_bytes, BitReaderMode::BE);
+            let mut br = BitReader::new(&self.pkt_buf[2..][..table_bytes], BitReaderMode::BE);
             while br.tell() < table_bits {
                 let size                                = br.read(13 + self.channels).unwrap() as usize;
                 let pts;
@@ -467,9 +467,11 @@ impl NADecoder for RALFDecoder {
         frm.set_keyframe(true);
         Ok(frm.into_ref())
     }
+    fn flush(&mut self) {
+    }
 }
 
-pub fn get_decoder() -> Box<dyn NADecoder> {
+pub fn get_decoder() -> Box<dyn NADecoder + Send> {
     Box::new(RALFDecoder::new())
 }
 
@@ -488,7 +490,7 @@ mod test {
         realmedia_register_all_codecs(&mut dec_reg);
 
         let file = "assets/RV/rv40_ralf.rmvb";
-        test_decode_audio("realmedia", file, Some(2000), "ralf", &dmx_reg, &dec_reg);
+        test_decode_audio("realmedia", file, Some(2000), None/*Some("ralf")*/, &dmx_reg, &dec_reg);
 //panic!("end");
     }
 }