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 595964 - [multiqueue] can hang pipeline during startup
[multiqueue] can hang pipeline during startup
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gstreamer (core)
git master
Other Linux
: Normal normal
: 0.10.26
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2009-09-22 14:51 UTC by Mark Nauwelaerts
Modified: 2009-10-07 16:53 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Possible patch (1.13 KB, patch)
2009-09-22 14:51 UTC, Mark Nauwelaerts
accepted-commit_after_freeze Details | Review
Possible patch (1.56 KB, patch)
2009-10-07 16:51 UTC, Mark Nauwelaerts
committed Details | Review

Description Mark Nauwelaerts 2009-09-22 14:51:29 UTC
Created attachment 143705 [details] [review]
Possible patch

Consider a standard audio/video decodebin2/playbin2 setup with multiqueue
following demuxer.  Demuxer thread fills audio and video queues for a while,
then  audio output loop gets a chance, and prerolls.  Demuxer thread then tries
to push another audio buffer, and blocks there as the audio queue is full (and
it need not be grown as the video queue is not empty).  Then video output loop
gets a chance, but the video decoder fails to setup and returns NOT_NEGOTIATED.
 But upstream will not get to see this error as that thread is stil stuck, and
the pipeline hangs.
Comment 1 Sebastian Dröge (slomo) 2009-09-30 16:41:07 UTC
Looks good IMHO
Comment 2 Edward Hervey 2009-10-02 10:36:10 UTC
looks good to me too
Comment 3 Mark Nauwelaerts 2009-10-07 16:51:04 UTC
Created attachment 144974 [details] [review]
Possible patch

Same as before, but adjusted to latest HEAD.
Comment 4 Mark Nauwelaerts 2009-10-07 16:53:46 UTC
commit e51a34985fb2a933bab46c87fe3de94e823dff9a
Author: Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
Date:   Wed Oct 7 18:40:46 2009 +0200

    multiqueue: flush queue upon fatal flowreturn and release upstream thread