]> git.nihav.org Git - nihav-encoder.git/commitdiff
switch to NATimeInfo::rescale_ts()
authorKostya Shishkov <kostya.shishkov@gmail.com>
Thu, 22 Jan 2026 18:06:02 +0000 (19:06 +0100)
committerKostya Shishkov <kostya.shishkov@gmail.com>
Thu, 22 Jan 2026 18:06:02 +0000 (19:06 +0100)
src/demux.rs
src/imgseq.rs
src/main.rs
src/transcoder.rs

index 8533c9550c65d4dbfdacda11ddcce73abd8906b4..322e15d725e590aac89b8d378668041297d79137 100644 (file)
@@ -204,7 +204,7 @@ impl<'a> DemuxerObject<'a> {
             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,
         }
index 6d6f598f40e7ab5ff7cde9903df897c159ba7a94..90fc0e247005f4028a457cec47ecd4a817ab4ae3 100644 (file)
@@ -110,7 +110,7 @@ impl ImgSeqDemuxer {
     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(())
index ba851baaac784b34a84332cc61a107f6b5eb0d3f..1dc85efc9bae1519e2c6e56b92942bc3d53ed802 100644 (file)
@@ -656,7 +656,7 @@ fn main() {
 
         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 {
index 253a590f819012fb1e69ef1bd84bf94f21353925..3139a0aeb2e3a6301917003c0cc9f96553988b01 100644 (file)
@@ -271,10 +271,10 @@ impl EncoderInterface for VideoEncodeContext {
 
         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);
@@ -376,7 +376,7 @@ impl OutputQueue {
                 }
                 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;