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 695262 - Use an adaptive seek in the media files previewer (keyframe/fast seeks when dragging, accurate seek when releasing)
Use an adaptive seek in the media files previewer (keyframe/fast seeks when d...
Status: RESOLVED OBSOLETE
Product: pitivi
Classification: Other
Component: Playback
0.91
Other Linux
: Normal enhancement
: Git
Assigned To: Pitivi maintainers
Pitivi maintainers
Depends on:
Blocks:
 
 
Reported: 2013-03-06 01:17 UTC by Jean-François Fortin Tam
Modified: 2015-10-20 13:10 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Jean-François Fortin Tam 2013-03-06 01:17:28 UTC
I'm suspecting the seeking code in mediafilespreviewer.py (the module used for the file chooser dialog and the media library preview feature) is quite basic, in the sense that it always does accurate seeks.

To speed things up, we should leverage the new seeking types in GStreamer 1.x to scrub more quickly/efficiently while dragging the slider and do the final seek (when the mouse button is released) with an accurate seek.
Comment 1 Jean-François Fortin Tam 2013-03-06 01:20:20 UTC
Also potentially related (or not): bug #432681
Comment 2 Nicolas Dufresne (ndufresne) 2013-03-06 14:37:33 UTC
One suggestion, and it would have to be tested outside of pitivi first, would be to implement seek queuing instead of using our timeout base seeker. My idea would be to implement code that tracks the completion of a seek, and while a seek if being processed, the latest following seek is queued. The following seek is then sent when the previous seek is done (iirc we can watch for async_done message).

Sending the seek could also be done in a seeker thread, which could synchronize on seek completion with gst_element_get_state(). It is simple and could reduce the risk UI freeze (won't fix streaming deadlock, but at least the user can save and kill PiTiVi).
Comment 3 Nicolas Dufresne (ndufresne) 2013-05-08 01:22:55 UTC
Note that currently all seeks are converted to accurate in GNL. I feel this is slghtly wrong as from what I understand accurate seek should only be required when doing the transition between two clips, not during flushing seeks. Never the less, I'm mentionning, in case someone experiment and find that it makes no difference.
Comment 4 Thibault Saunier 2015-10-20 13:10:44 UTC
This bug has been migrated to https://phabricator.freedesktop.org/T3018.

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.