fix some warnings (unneeded parentheses, missing dyn keyword)
[nihav.git] / nihav-rad / src / demuxers / smacker.rs
index accbfa51b956ca1a2bcc8c926209111c40bbcd59..5580a871b4ae4b716394455c1581d2a34739484f 100644 (file)
@@ -90,7 +90,7 @@ struct SmackerVideoDemuxer<'a> {
 
 fn get_pts_inc(val: i32) -> u64 {
     if val > 0 { (val as u64) * 100 }
-    else if val < 0 { (-val as u64) }
+    else if val < 0 { -val as u64 }
     else { 1 }
 }
 
@@ -251,8 +251,13 @@ impl<'a> DemuxCore<'a> for SmackerVideoDemuxer<'a> {
 
         Ok(pkt)
     }
-    fn seek(&mut self, time: u64, _seek_idx: &SeekIndex) -> DemuxerResult<()> {
-        if time == 0 {
+    fn seek(&mut self, time: NATimePoint, _seek_idx: &SeekIndex) -> DemuxerResult<()> {
+        let seek_to_start = match time {
+                NATimePoint::Milliseconds(0) => true,
+                NATimePoint::PTS(0) => true,
+                _ => false,
+            };
+        if seek_to_start {
             let start = self.start;
             self.src.seek(SeekFrom::Start(start))?;
             self.cur_frame = 0;