X-Git-Url: https://git.nihav.org/?p=nihav.git;a=blobdiff_plain;f=nihav-vivo%2Fsrc%2Fcodecs%2Fsiren.rs;h=0b23f18e15404750c3ffeee28d0744bff1462490;hp=d36e798058036df37528e4d966ac00c5c383a875;hb=78fb6560c73965d834b215fb0b49505ae5443288;hpb=e4be7a34a3dd8ba7571673c7d176dd25235b6d1b diff --git a/nihav-vivo/src/codecs/siren.rs b/nihav-vivo/src/codecs/siren.rs index d36e798..0b23f18 100644 --- a/nihav-vivo/src/codecs/siren.rs +++ b/nihav-vivo/src/codecs/siren.rs @@ -203,9 +203,7 @@ impl SirenDecoder { self.power_cat = max_rate_cat; - for i in 0..MAX_RC { - self.cat_balance[i] = temp_cat[max_offset + i]; - } + self.cat_balance[..MAX_RC].copy_from_slice(&temp_cat[max_offset..][..MAX_RC]); for cat in self.cat_balance.iter().take(rate_ctl) { self.power_cat[*cat] += 1; @@ -228,7 +226,7 @@ impl SirenDecoder { 'vec_loop: for i in 0..num_vecs { let ret = br.read_cb(cb); - if let Err(_) = ret { + if ret.is_err() { error = true; break 'vec_loop; } @@ -382,6 +380,12 @@ impl NADecoder for SirenDecoder { } } +impl NAOptionHandler for SirenDecoder { + fn get_supported_options(&self) -> &[NAOptionDefinition] { &[] } + fn set_options(&mut self, _options: &[NAOption]) { } + fn query_option_value(&self, _name: &str) -> Option { None } +} + pub fn get_decoder() -> Box { Box::new(SirenDecoder::new()) } @@ -391,14 +395,14 @@ mod test { use nihav_core::codecs::RegisteredDecoders; use nihav_core::demuxers::RegisteredDemuxers; use nihav_codec_support::test::dec_video::*; - use crate::vivo_register_all_codecs; + use crate::vivo_register_all_decoders; use crate::vivo_register_all_demuxers; #[test] fn test_siren() { let mut dmx_reg = RegisteredDemuxers::new(); vivo_register_all_demuxers(&mut dmx_reg); let mut dec_reg = RegisteredDecoders::new(); - vivo_register_all_codecs(&mut dec_reg); + vivo_register_all_decoders(&mut dec_reg); let file = "assets/Misc/favmovie.viv"; //let file = "assets/Misc/gr_al.viv";