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 407811 - decodebin2 hang on HD clip
decodebin2 hang on HD clip
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-base
git master
Other Linux
: Normal normal
: 0.10.12
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2007-02-14 10:31 UTC by Christian Fredrik Kalager Schaller
Modified: 2007-02-20 17:02 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Christian Fredrik Kalager Schaller 2007-02-14 10:31:54 UTC
Got this today trying to play a file:

[cschalle@localhost Desktop]$ totem Dust_to_Glory_720.wmv 

(totem:4964): GStreamer-WARNING **: 
Trying to join task 0x8c79958 from its thread would deadlock.
You cannot change the state of an element from its streaming
thread. Use g_idle_add() or post a GstMessage on the bus to
schedule the state change from the main thread.


(totem:4964): GStreamer-CRITICAL **: Failed to deactivate pad multiqueue0:src0, very bad

(totem:4964): GStreamer-CRITICAL **: 
Trying to dispose element multiqueue0, but it is not in the NULL state.
You need to explicitly set elements to the NULL state before
dropping the final reference, to allow them to clean up.
Comment 1 Christian Fredrik Kalager Schaller 2007-02-14 10:43:01 UTC
Ok, further testing shows that this bug happens repeatedly with this clip. So let me know when/if you need it.
Comment 2 Edward Hervey 2007-02-20 17:02:48 UTC
Fixed in cvs.

2007-02-20  Edward Hervey  <edward@fluendo.com>

        * gst/playback/gstdecodebin2.c: (gst_decode_bin_dispose),
        (multi_queue_underrun_cb), (gst_decode_group_check_if_drained),
        (sort_end_pads), (gst_decode_group_expose),
        (gst_decode_group_hide):
        Don't free groups from the streaming threads. Just put them aside and
        free them in dispose.