X-Git-Url: https://git.nihav.org/?a=blobdiff_plain;f=nihav-game%2Fsrc%2Fdemuxers%2Fgdv.rs;h=6f27cc4f8119ec278caee605c272a32ca3a43e96;hb=347108c9b66fab3995a165c5f71f62612ee56548;hp=8d407f96bf2ba6c7e5ce201b6dfbee763bca8f6a;hpb=c3904fe5804a28e73822c27c69ba10a716cb290d;p=nihav.git diff --git a/nihav-game/src/demuxers/gdv.rs b/nihav-game/src/demuxers/gdv.rs index 8d407f9..6f27cc4 100644 --- a/nihav-game/src/demuxers/gdv.rs +++ b/nihav-game/src/demuxers/gdv.rs @@ -80,18 +80,18 @@ impl<'a> DemuxCore<'a> for GremlinVideoDemuxer<'a> { } let vhdr = NAVideoInfo::new(width as usize, height as usize, false, PAL8_FORMAT); let vci = NACodecTypeInfo::Video(vhdr); - let vinfo = NACodecInfo::new("gdv-video", vci, if edata.len() == 0 { None } else { Some(edata) }); - self.v_id = strmgr.add_stream(NAStream::new(StreamType::Video, 0, vinfo, 1, fps as u32)); + let vinfo = NACodecInfo::new("gdv-video", vci, if edata.is_empty() { None } else { Some(edata) }); + self.v_id = strmgr.add_stream(NAStream::new(StreamType::Video, 0, vinfo, 1, u32::from(fps))); } if (aflags & 1) != 0 { let channels = if (aflags & 2) != 0 { 2 } else { 1 }; let packed = if (aflags & 8) != 0 { 1 } else { 0 }; let depth = if (aflags & 4) != 0 { 16 } else { 8 }; - let ahdr = NAAudioInfo::new(rate as u32, channels as u8, if depth == 16 { SND_S16_FORMAT } else { SND_U8_FORMAT }, 2); + let ahdr = NAAudioInfo::new(u32::from(rate), channels as u8, if depth == 16 { SND_S16_FORMAT } else { SND_U8_FORMAT }, 2); let ainfo = NACodecInfo::new(if packed != 0 { "gdv-audio" } else { "pcm" }, NACodecTypeInfo::Audio(ahdr), None); - self.a_id = strmgr.add_stream(NAStream::new(StreamType::Audio, 1, ainfo, 1, rate as u32)); + self.a_id = strmgr.add_stream(NAStream::new(StreamType::Audio, 1, ainfo, 1, u32::from(rate))); self.asize = (((rate / fps) * channels * (depth / 8)) >> packed) as usize; self.apacked = (aflags & 8) != 0; @@ -139,7 +139,7 @@ pktdta: Vec::new(), self.state = GDVState::AudioRead; let str = strmgr.get_stream(self.a_id.unwrap()).unwrap(); let (tb_num, tb_den) = str.get_timebase(); - let ts = NATimeInfo::new(Some(self.cur_frame as u64), None, None, tb_num, tb_den); + let ts = NATimeInfo::new(Some(u64::from(self.cur_frame)), None, None, tb_num, tb_den); self.src.read_packet(str, ts, true, self.asize) } @@ -152,17 +152,17 @@ pktdta: Vec::new(), let tmp = src.peek_u32le()?; let flags = (tmp & 0xFF) as usize; self.state = GDVState::NewFrame; - self.cur_frame = self.cur_frame + 1; + self.cur_frame += 1; let (tb_num, tb_den) = str.get_timebase(); - let ts = NATimeInfo::new(Some((self.cur_frame - 1) as u64), None, None, tb_num, tb_den); - src.read_packet(str, ts, if (flags & 64) != 0 { true } else { false }, size) + let ts = NATimeInfo::new(Some(u64::from(self.cur_frame - 1)), None, None, tb_num, tb_den); + src.read_packet(str, ts, (flags & 64) != 0, size) } } pub struct GDVDemuxerCreator { } impl DemuxerCreator for GDVDemuxerCreator { - fn new_demuxer<'a>(&self, br: &'a mut ByteReader<'a>) -> Box + 'a> { + fn new_demuxer<'a>(&self, br: &'a mut ByteReader<'a>) -> Box + 'a> { Box::new(GremlinVideoDemuxer::new(br)) } fn get_name(&self) -> &'static str { "gdv" } @@ -175,7 +175,7 @@ mod test { #[test] fn test_gdv_demux() { - let mut file = File::open("assets/intro1.gdv").unwrap(); + let mut file = File::open("assets/Game/intro1.gdv").unwrap(); let mut fr = FileReader::new_read(&mut file); let mut br = ByteReader::new(&mut fr); let mut dmx = GremlinVideoDemuxer::new(&mut br);