X-Git-Url: https://git.nihav.org/?a=blobdiff_plain;f=nihav-game%2Fsrc%2Fcodecs%2Fgremlinvideo.rs;h=096c7b614438323a23ec07fa43503b8a187d8594;hb=e64739f87a35f29be0bbbce366876180ba3eb57e;hp=19021ee3db9c1e70f47d1dcd4b68469da7f38816;hpb=6011e20199143f519881660144a4ca95ba77fd2d;p=nihav.git diff --git a/nihav-game/src/codecs/gremlinvideo.rs b/nihav-game/src/codecs/gremlinvideo.rs index 19021ee..096c7b6 100644 --- a/nihav-game/src/codecs/gremlinvideo.rs +++ b/nihav-game/src/codecs/gremlinvideo.rs @@ -50,7 +50,7 @@ impl Bits32 { self.queue >>= nbits; self.fill -= nbits; if self.fill <= 16 { - self.queue |= (br.read_u16le()? as u32) << self.fill; + self.queue |= u32::from(br.read_u16le()?) << self.fill; self.fill += 16; } Ok(res) @@ -447,9 +447,7 @@ impl NADecoder for GremlinVideoDecoder { return Err(DecoderError::NotImplemented); } - let bufret = alloc_video_buffer(self.info.get_properties().get_video_info().unwrap(), 0); - if let Err(_) = bufret { return Err(DecoderError::InvalidData); } - let mut bufinfo = bufret.unwrap(); + let mut bufinfo = alloc_video_buffer(self.info.get_properties().get_video_info().unwrap(), 0)?; self.output_frame(&mut bufinfo, w, h); @@ -458,9 +456,11 @@ impl NADecoder for GremlinVideoDecoder { frm.set_frame_type(if is_intra { FrameType::I } else { FrameType::P }); Ok(frm.into_ref()) } + fn flush(&mut self) { + } } -pub fn get_decoder_video() -> Box { +pub fn get_decoder_video() -> Box { Box::new(GremlinVideoDecoder::new()) } @@ -550,9 +550,11 @@ impl NADecoder for GremlinAudioDecoder { Err(DecoderError::InvalidData) } } + fn flush(&mut self) { + } } -pub fn get_decoder_audio() -> Box { +pub fn get_decoder_audio() -> Box { Box::new(GremlinAudioDecoder::new()) } @@ -561,8 +563,8 @@ mod test { use nihav_core::codecs::RegisteredDecoders; use nihav_core::demuxers::RegisteredDemuxers; use nihav_core::test::dec_video::test_file_decoding; - use crate::codecs::game_register_all_codecs; - use crate::demuxers::game_register_all_demuxers; + use crate::game_register_all_codecs; + use crate::game_register_all_demuxers; #[test] fn test_gdv() { let mut dmx_reg = RegisteredDemuxers::new();