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 566341 - Some Ogg Theora files don't finished at seek at the end
Some Ogg Theora files don't finished at seek at the end
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-base
0.10.22
Other Linux
: Normal major
: 0.10.22
Assigned To: Wim Taymans
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2009-01-02 17:23 UTC by John
Modified: 2009-01-07 13:52 UTC
See Also:
GNOME target: ---
GNOME version: 2.23/2.24


Attachments
possible patch (1.72 KB, patch)
2009-01-05 18:13 UTC, Wim Taymans
committed Details | Review

Description John 2009-01-02 17:23:29 UTC
When i use the gstreamer api , in some Ogg Theora files , when i seek at the end of the file and beyond , the stream doesn't end and the api gets into an infinite loop.
Comment 1 John 2009-01-02 17:32:37 UTC
I get this problem in the follow file : 
http://commons.wikimedia.org/wiki/File:Ap14_flag.ogg
Comment 2 Wim Taymans 2009-01-02 18:29:44 UTC
Seems to be a race in the EOS handling of playbin2
Comment 3 Wim Taymans 2009-01-05 18:13:20 UTC
Created attachment 125798 [details] [review]
possible patch

I removed some dodgy code in playbin2 that only seemed to do the wrong thing but has been there for ages. This patch seems to make it work fine but I'll have to sit on it a bit before I can commit it.
Comment 4 Wim Taymans 2009-01-07 13:52:19 UTC
        * gst/playback/gstplaybin2.c: (gst_play_bin_class_init),
        (gst_play_bin_set_uri), (gst_play_bin_set_suburi),
        (no_more_pads_cb), (drained_cb), (group_set_locked_state_unlocked),
        (activate_group), (deactivate_group), (groups_set_locked_state),
        (gst_play_bin_change_state):
        Fix some comments and docs.
        Post an error message when we fail to link the selector to the sink.
        Remove pushing of EOS, this seems unneeded.
        Lock the state of deactivated groups so that they don't accidentally 
        reactivate when the playbin2 state changes.
        Reuse uridecodebins.
        Unlock and relock state of groups when playbin goes to NULL.
        Fixes #566654.
        Fixes #566341.

        * gst/playback/gsturidecodebin.c: (pad_removed_cb), (type_found):
        Only do something in the pad removed callback when we are dealing with
        our sourcepads because the sinkpads don't have a ghostpad.