After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 432681 - Use GStreamer's frame-by-frame seeking feature
Use GStreamer's frame-by-frame seeking feature
Status: RESOLVED OBSOLETE
Product: pitivi
Classification: Other
Component: Playback
Git
Other Linux
: Normal enhancement
: Git
Assigned To: Pitivi maintainers
Pitivi maintainers
Depends on:
Blocks:
 
 
Reported: 2007-04-23 16:57 UTC by Edward Hervey
Modified: 2015-10-20 13:07 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Edward Hervey 2007-04-23 16:57:27 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...
Comment 1 Edward Hervey 2007-07-24 17:20:05 UTC
for information, it's currently implemented using the first method.
Comment 2 Thibault Saunier 2012-10-25 14:31:01 UTC
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)
Comment 3 Jean-François Fortin Tam 2012-10-25 14:36:07 UTC
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.
Comment 4 Nicolas Dufresne (ndufresne) 2013-03-06 14:30:47 UTC
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.
Comment 5 Thibault Saunier 2015-10-20 13:07:20 UTC
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.