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 744941 - Wrong duration label breaks seeking in EggPreview
Wrong duration label breaks seeking in EggPreview
Status: RESOLVED FIXED
Product: sound-juicer
Classification: Applications
Component: general
git master
Other All
: Normal normal
: ---
Assigned To: Sound Juicer Maintainers
Sound Juicer Maintainers
Depends on:
Blocks:
 
 
Reported: 2015-02-22 11:18 UTC by Phillip Wood
Modified: 2016-02-15 10:36 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Fix duration label and seeking in EggPreview (1.80 KB, patch)
2015-02-22 11:19 UTC, Phillip Wood
none Details | Review
Fix duration label and seeking in EggPreview (1.80 KB, patch)
2015-02-22 12:13 UTC, Phillip Wood
none Details | Review
Fix duration detection in EggPlayPreview (1.80 KB, patch)
2016-02-15 10:33 UTC, Phillip Wood
committed Details | Review

Description Phillip Wood 2015-02-22 11:18:55 UTC
The track duration is always set to zero which breaks seeking.
Comment 1 Phillip Wood 2015-02-22 11:19:01 UTC
Created attachment 297563 [details] [review]
Fix duration label and seeking in EggPreview

To get the track duration EggPreview was using GST_MESSAGE_DURATION
which is deprecated and alway returns a duration of -1 rather than
GST_MESSAGE_DURATION_CHANGED followed be querying playbin for the new
duration. This meant that the track duration was always zero which broke
seeking.
Comment 2 Phillip Wood 2015-02-22 12:13:00 UTC
Created attachment 297568 [details] [review]
Fix duration label and seeking in EggPreview

Revised patch which checks to see if the duration has actually changed
before updating it.

To get the track duration EggPreview was checking for messages of type
GST_MESSAGE_DURATION and then calling gst_message_parse_duration() which
always returns a duration of -1. This meant that the track duration was
always zero which broke seeking. It should check for messages of type
GST_MESSAGE_DURATION_CHANGED and query playbin for the new duration
instead.
Comment 3 Phillip Wood 2016-02-15 10:33:50 UTC
Created attachment 321233 [details] [review]
Fix duration detection in EggPlayPreview

Updated commit message

To get the track duration EggPlayPreview was checking for messages of
type GST_MESSAGE_DURATION and then calling
gst_message_parse_duration() which always returns a duration of
-1. This meant that the track duration was always zero which broke
seeking. It should check for messages of type
GST_MESSAGE_DURATION_CHANGED and query playbin for the new duration
instead.
Comment 4 Phillip Wood 2016-02-15 10:36:26 UTC
Attachment 321233 [details] pushed as 72ccc5a - Fix duration detection in EggPlayPreview