File tree Expand file tree Collapse file tree 1 file changed +9
-7
lines changed
pupil_src/shared_modules/video_capture Expand file tree Collapse file tree 1 file changed +9
-7
lines changed Original file line number Diff line number Diff line change @@ -284,13 +284,15 @@ def seek_to_frame(self, seek_pos):
284284
285285 @ensure_initialisation ()
286286 def seek_to_frame_fast (self , seek_pos ):
287- ###best effort seeking to closest keyframe
288- self .video_stream .seek (self .idx_to_pts (seek_pos ),mode = 'time' )
289- self .next_frame = self ._next_frame ()
290- frame = self .next_frame .next ()
291- index = self .pts_to_idx (frame .pts )
292- self .target_frame_idx = index + 1
293- self .display_time = 0
287+ ###frame accurate seeking
288+ try :
289+ self .video_stream .seek (self .idx_to_pts (seek_pos ),mode = 'time' , any_frame = True )
290+ except av .AVError as e :
291+ raise FileSeekError ()
292+ else :
293+ self .next_frame = self ._next_frame ()
294+ self .display_time = 0
295+ self .target_frame_idx = seek_pos
294296
295297
296298 def init_gui (self ):
You can’t perform that action at this time.
0 commit comments