X-Git-Url: https://git.nihav.org/?a=blobdiff_plain;f=nihav-game%2Fsrc%2Fdemuxers%2Fvmd.rs;h=cf73654b09af06e83e622431261bd0d06fd0a834;hb=3900194bcd88993d828dd56a30018e4b47bce6e0;hp=a2c93f6d5dc6496dda7f92d0ddadc37ff4084c1e;hpb=a480a0de101483d802a11e72d758dae00fa4860a;p=nihav.git diff --git a/nihav-game/src/demuxers/vmd.rs b/nihav-game/src/demuxers/vmd.rs index a2c93f6..cf73654 100644 --- a/nihav-game/src/demuxers/vmd.rs +++ b/nihav-game/src/demuxers/vmd.rs @@ -172,10 +172,9 @@ impl<'a> DemuxCore<'a> for VMDDemuxer<'a> { self.fno += 1; let str_id = if is_video { self.vid_id } else { self.aud_id }; - let str = strmgr.get_stream(str_id).unwrap(); - let (tb_num, tb_den) = str.get_timebase(); - let ts = NATimeInfo::new(Some(u64::from(cur_frame.ts)), None, None, tb_num, tb_den); - let pkt = NAPacket::new(str, ts, false, buf); + let stream = strmgr.get_stream(str_id).unwrap(); + let ts = stream.make_ts(Some(u64::from(cur_frame.ts)), None, None); + let pkt = NAPacket::new(stream, ts, false, buf); Ok(pkt) } @@ -223,7 +222,8 @@ mod test { #[test] fn test_vmd_demux() { - let mut file = File::open("assets/Game/128.vmd").unwrap(); + // sample: https://samples.mplayerhq.hu/game-formats/sierra-vmd/Lighthouse/128.vmd + let mut file = File::open("assets/Game/sierra/128.vmd").unwrap(); //let mut file = File::open("assets/Game/1491.VMD").unwrap(); let mut fr = FileReader::new_read(&mut file); let mut br = ByteReader::new(&mut fr);