X-Git-Url: https://git.nihav.org/?a=blobdiff_plain;f=nihav-game%2Fsrc%2Fdemuxers%2Fq.rs;h=ebd93b2137b567fc934a9abcb32a40da812f328f;hb=e6aaad5c5273cd814b5748b7faf3751835a37217;hp=6c52ab893b74d7276302913170b5013fea65e43d;hpb=2826a23f3a214e2f5d47d6dee6fb06754730dc0e;p=nihav.git diff --git a/nihav-game/src/demuxers/q.rs b/nihav-game/src/demuxers/q.rs index 6c52ab8..ebd93b2 100644 --- a/nihav-game/src/demuxers/q.rs +++ b/nihav-game/src/demuxers/q.rs @@ -61,7 +61,7 @@ impl<'a> DemuxCore<'a> for QDemuxer<'a> { validate!(abits == 8 || abits == 16); self.bps = (channels as usize) * abits / 8; let bsize = read_u16le(&buf[32..])? as usize; - let ahdr = NAAudioInfo::new(arate, channels as u8, if abits == 16 { SND_S16_FORMAT } else { SND_U8_FORMAT }, bsize); + let ahdr = NAAudioInfo::new(arate, channels, if abits == 16 { SND_S16_FORMAT } else { SND_U8_FORMAT }, bsize); let ainfo = NACodecInfo::new("pcm", NACodecTypeInfo::Audio(ahdr), None); self.a_id = strmgr.add_stream(NAStream::new(StreamType::Audio, 1, ainfo, 1, arate, 2)); } @@ -81,11 +81,10 @@ impl<'a> DemuxCore<'a> for QDemuxer<'a> { 0xFFFF => return Err(DemuxerError::EOF), 0 => { if let Some(a_id) = self.a_id { - let str = strmgr.get_stream(a_id).unwrap(); - let (tb_num, tb_den) = str.get_timebase(); - let ts = NATimeInfo::new(Some(self.apts), None, None, tb_num, tb_den); + let stream = strmgr.get_stream(a_id).unwrap(); + let ts = stream.make_ts(Some(self.apts), None, None); self.apts += (size / self.bps) as u64; - return self.src.read_packet(str, ts, true, size); + return self.src.read_packet(stream, ts, true, size); } else { self.src.read_skip(size)?; } @@ -100,9 +99,8 @@ impl<'a> DemuxCore<'a> for QDemuxer<'a> { }, 2 | 3 | 4 | 11 => { validate!(self.v_id.is_some()); - let str = strmgr.get_stream(self.v_id.unwrap_or(0)).unwrap(); - let (tb_num, tb_den) = str.get_timebase(); - let ts = NATimeInfo::new(Some(self.vpts), None, None, tb_num, tb_den); + let stream = strmgr.get_stream(self.v_id.unwrap_or(0)).unwrap(); + let ts = stream.make_ts(Some(self.vpts), None, None); self.vpts += 1; let cur_len = self.side_data.len(); @@ -116,7 +114,7 @@ impl<'a> DemuxCore<'a> for QDemuxer<'a> { } let mut buf = Vec::new(); std::mem::swap(&mut buf, &mut self.side_data); - return Ok(NAPacket::new(str, ts, self.vpts == 1, buf)); + return Ok(NAPacket::new(stream, ts, self.vpts == 1, buf)); }, 5 => { validate!(size <= 256);