}
if packet.is_keyframe() {
let pts = packet.get_pts().unwrap_or(self.pts);
- let time = NATimeInfo::ts_to_time(pts, 1000, self.stream.tb_num, self.stream.tb_den);
+ let time = NATimeInfo::rescale_ts(pts, self.stream.tb_num, self.stream.tb_den, 1, 1000);
let in_range = if let Some(last) = self.seek.seek_info[0].entries.last() {
last.pts >= pts
} else {
DemuxerObject::Normal(ref dmx) => dmx.get_duration(),
DemuxerObject::Raw(ref dmx, _, _) => dmx.get_duration(),
DemuxerObject::RawStream(ref ctx) => {
- NATimeInfo::ts_to_time(ctx.stream.duration, 1000, ctx.stream.tb_num, ctx.stream.tb_den)
+ NATimeInfo::rescale_ts(ctx.stream.duration, ctx.stream.tb_num, ctx.stream.tb_den, 1, 1000)
},
_ => 0,
}
return false;
}
if let Some(pts) = frm.ts.get_pts() {
- self.samplepos = NATimeInfo::ts_to_time(pts, u64::from(self.arate), frm.ts.tb_num, frm.ts.tb_den);
+ self.samplepos = NATimeInfo::rescale_ts(pts, frm.ts.tb_num, frm.ts.tb_den, 1, self.arate);
}
if buf.get_audio_length() == 0 {
return false;
ainfo = Some(info);
stream_no = i;
if s.duration > 0 {
- duration = NATimeInfo::ts_to_time(s.duration, 1000, s.tb_num, s.tb_den);
+ duration = NATimeInfo::rescale_ts(s.duration, s.tb_num, s.tb_den, 1, 1000);
}
break;
}
if let Ok(frm) = adec.decode(&mut audio_dec.dsupp, &pkt) {
let buf = frm.get_buffer();
if let Some(pts) = frm.get_pts() {
- samplepos = NATimeInfo::ts_to_time(pts, u64::from(dst_info.sample_rate), frm.ts.tb_num, frm.ts.tb_den) as usize;
+ samplepos = NATimeInfo::rescale_ts(pts, frm.ts.tb_num, frm.ts.tb_den, 1, dst_info.sample_rate) as usize;
if sbr_hack {
samplepos >>= 2;
}
let ret = self.scaler.convert(&bt, &mut opic);
if ret.is_err() { println!(" scaler error {:?}", ret.err()); return None; }
ret.unwrap();
- let time = NATimeInfo::ts_to_time(ts, 1000, self.tb_num, self.tb_den);
+ let time = NATimeInfo::rescale_ts(ts, self.tb_num, self.tb_den, 1, 1000);
Some((opic, time))
}
pub fn next_frame(&mut self, pkt: &NAPacket) -> Option<FrameRecord> {