}
let a = (1 << 12) - ((src[i + 1] * src[i + 1]) >> 12);
let scale = if a != 0 { (1 << 24) / a } else { (1 << 24) };
- for j in 0..(i+1) {
+ for j in 0..=i {
let result = (src[j] - ((tmp3[i + 1] * src[i - j]) >> 12)).checked_mul(scale);
if let Some(val) = result {
dst[j] = val >> 12;
self.ainfo = NAAudioInfo::new(ainfo.get_sample_rate(),
1,
SND_S16_FORMAT, NBLOCKS * BLOCKSIZE);
- self.info = info.replace_info(NACodecTypeInfo::Audio(self.ainfo.clone()));
+ self.info = info.replace_info(NACodecTypeInfo::Audio(self.ainfo));
Ok(())
} else {
Err(DecoderError::InvalidData)
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(RA144Decoder::new())
}
realmedia_register_all_codecs(&mut dec_reg);
let file = "assets/RV/ra3_in_rm_file.rm";
- test_decode_audio("realmedia", file, Some(5000), "ra14.4", &dmx_reg, &dec_reg);
+ test_decode_audio("realmedia", file, Some(5000), None/*Some("ra14.4")*/, &dmx_reg, &dec_reg);
}
}