DemuxerObject::Normal(ref dmx) => dmx.get_object().get_duration(),
DemuxerObject::Raw(ref dmx, _, _) => dmx.get_object().get_duration(),
DemuxerObject::RawStream(ref ctx) => {
- NATimeInfo::ts_to_time(ctx.get_object().stream.duration, 1000, ctx.get_object().stream.tb_num, ctx.get_object().stream.tb_den)
+ NATimeInfo::rescale_ts(ctx.get_object().stream.duration, ctx.get_object().stream.tb_num, ctx.get_object().stream.tb_den, 1, 1000)
},
_ => 0,
}
pub fn seek(&mut self, time: NATimePoint) -> DemuxerResult<()> {
self.cur_frame = match time {
NATimePoint::None => return Ok(()),
- NATimePoint::Milliseconds(ms) => NATimeInfo::time_to_ts(ms, 1000, self.stream.tb_num, self.stream.tb_den),
+ NATimePoint::Milliseconds(ms) => NATimeInfo::rescale_ts(ms, 1, 1000, self.stream.tb_num, self.stream.tb_den),
NATimePoint::PTS(pts) => pts,
};
Ok(())
if transcoder.verbose > 0 && time.elapsed() >= show_interval {
if let Some(pts) = pkt.get_pts() {
- let cur_time = format_time(NATimeInfo::ts_to_time(pts, 1000, pkt.ts.tb_num, pkt.ts.tb_den));
+ let cur_time = format_time(NATimeInfo::rescale_ts(pts, pkt.ts.tb_num, pkt.ts.tb_den, 1, 1000));
print!(" {}", cur_time);
last_known_time = Some(cur_time);
} else if let Some(ref time) = last_known_time {
let ref_ts = frm.get_time_information();
let new_pts = if let Some(ts) = ref_ts.pts {
- Some(NATimeInfo::ts_to_time(ts, u64::from(self.tb_den), ref_ts.tb_num, ref_ts.tb_den) / u64::from(self.tb_num))
+ Some(NATimeInfo::rescale_ts(ts, ref_ts.tb_num, ref_ts.tb_den, self.tb_num, self.tb_den))
} else { None };
let new_duration = if let Some(dur) = ref_ts.duration {
- Some(NATimeInfo::ts_to_time(dur, u64::from(self.tb_den), ref_ts.tb_num, ref_ts.tb_den) / u64::from(self.tb_num))
+ Some(NATimeInfo::rescale_ts(dur, ref_ts.tb_num, ref_ts.tb_den, self.tb_num, self.tb_den))
} else { None };
let ts = NATimeInfo::new(new_pts, None, new_duration, self.tb_num, self.tb_den);
let mut cfrm = NAFrame::new(ts, frm.frame_type, frm.key, frm.get_info(), cbuf);
}
if let Some(pts) = queue[0].ts.pts {
let stream = queue[0].get_stream();
- let millis = NATimeInfo::ts_to_time(pts, 1000, stream.tb_num, stream.tb_den);
+ let millis = NATimeInfo::rescale_ts(pts, stream.tb_num, stream.tb_den, 1, 1000);
if min_ts.is_none() || min_ts > Some(millis) {
min_ts = Some(millis);
min_sn = streamno;