make all codec crates export just register_all functions and document them
[nihav.git] / nihav-indeo / src / codecs / imc.rs
index 4b7c9908e511bbc37e163b12ed3313def9ef2103..e49da707b21fdcf8079889125d112b0aec8871d3 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))
 }
 
@@ -1112,8 +1112,8 @@ mod test {
     use nihav_core::codecs::RegisteredDecoders;
     use nihav_core::demuxers::RegisteredDemuxers;
     use nihav_core::test::dec_video::*;
-    use crate::codecs::indeo_register_all_codecs;
-    use nihav_commonfmt::demuxers::generic_register_all_demuxers;
+    use crate::indeo_register_all_codecs;
+    use nihav_commonfmt::generic_register_all_demuxers;
     #[test]
     fn test_imc() {
         let mut dmx_reg = RegisteredDemuxers::new();
@@ -1126,7 +1126,7 @@ mod test {
         let file = "assets/Indeo/IMC/8khz.avi";
 //        let file = "assets/Indeo/STsKlassFist-1a.avi";
 //        let file = "assets/Indeo/IMC/Angel Bday.avi";
-        test_decode_audio("avi", file, None, "imc", &dmx_reg, &dec_reg);
+        test_decode_audio("avi", file, None, None/*Some("imc")*/, &dmx_reg, &dec_reg);
         //test_file_decoding("avi", file, None, false, true, None);
     }
 }