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))
+ Some(NATimeInfo::ts_to_time(ts, u64::from(self.tb_den), ref_ts.tb_num, ref_ts.tb_den) / u64::from(self.tb_num))
} 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))
+ Some(NATimeInfo::ts_to_time(dur, u64::from(self.tb_den), ref_ts.tb_num, ref_ts.tb_den) / u64::from(self.tb_num))
} 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 self.cfr && new_pts.is_some() {
let cur_ts = new_pts.unwrap_or_default();
let mut cur_lts = *last_ts;
- let mut next_lts = *last_ts + u64::from(self.tb_num);
+ let mut next_lts = *last_ts + 1;
let mut had_frame = false;
if cur_ts > cur_lts && (cur_ts - cur_lts) / u64::from(self.tb_den) > 16 {
println!("Gap over 16 seconds between consequent frames, that's too much");
queue.queue_packet(pkt);
}
cur_lts = next_lts;
- next_lts += u64::from(self.tb_num);
+ next_lts += 1;
had_frame = true;
}
converted = true;