Make BitReader rely on passed slice size without the additional arguments.
[nihav.git] / nihav-indeo / src / codecs / imc.rs
index 6840800f4a3292e02e76a42b4e3aa6a235a03222..b969a14ecccad5516dd32342efe8f4dbc930ddb3 100644 (file)
@@ -728,7 +728,7 @@ impl IMCDecoder {
     }
 
     fn decode_block(&mut self, data: &[u8], ch: usize, dst: &mut [f32]) -> DecoderResult<()> {
-        let mut br = BitReader::new(&data[BLOCK_SIZE*ch..], BLOCK_SIZE, BitReaderMode::LE16MSB);
+        let mut br = BitReader::new(&data[BLOCK_SIZE*ch..][..BLOCK_SIZE], BitReaderMode::LE16MSB);
         let hdr = br.read(9)?;
         validate!((hdr & 0x18) == 0);
 
@@ -926,11 +926,11 @@ impl NADecoder for IMCDecoder {
     }
 }
 
-pub fn get_decoder_imc() -> Box<dyn NADecoder> {
+pub fn get_decoder_imc() -> Box<dyn NADecoder + Send> {
     Box::new(IMCDecoder::new(true))
 }
 
-pub fn get_decoder_iac() -> Box<dyn NADecoder> {
+pub fn get_decoder_iac() -> Box<dyn NADecoder + Send> {
     Box::new(IMCDecoder::new(false))
 }