GNOME Bugzilla – Bug 432681
Use GStreamer's frame-by-frame seeking feature
Last modified: 2015-10-20 13:07:20 UTC
The frame-by-frame seeking goes under the assumption that the source file has constant perfect flawless framerate .... which is of course wrong. We should handle that. Maybe by: * remembering the previous position we seeked back to, if the current position requested is not the same, then force seeking back even more. * Seeking in GST_FORMAT_DEFAULT on the video stream...
for information, it's currently implemented using the first method.
We should use the new gst_event_new_step with GST_FORMAT_FRAME now. We should add a Pipeline.step (nb_frames) method which does all the work (ie seek with reverse playabck if nb frame < 0 etc)
Also of note is that the current dev version of pitivi GES (aka 0.16 until further notice), we currently bound the left/right arrow keys to seek one frame "duration" backwards or forward (bug #573895). This is just a seek with a certain amount of nanoseconds of difference calculated based on the project framerate settings.
Note that the step is for short distance seek (e.g. left/right key is a good case). To achieve backward stepping, you first need to change the rate to a negative number (e.g. in pause, you could try to seek(-1, SEEK_TYPE_NONE, TIME_NONE, SEEK_TYPE_NONE, TIME_NONE) in paused state, and then skip.
This bug has been migrated to https://phabricator.freedesktop.org/T1867. Please use the Phabricator interface to report further bugs by creating a task and associating it with Project: Pitivi. See http://wiki.pitivi.org/wiki/Bug_reporting for details.