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 679458 - [queue] Serialized queries blocking forever if using a min-threshold
[queue] Serialized queries blocking forever if using a min-threshold
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gstreamer (core)
0.11.x
Other Linux
: Normal critical
: 0.11.x
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2012-07-05 15:40 UTC by Sebastian Dröge (slomo)
Modified: 2012-07-09 13:41 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Sebastian Dröge (slomo) 2012-07-05 15:40:38 UTC
See for example:
$ gst-launch-1.0 audiotestsrc ! queue min-threshold-time=200000000 ! fakesink

It waits in gstqueue.c:801 because there are some serialized events in the queue, which are never going to be pushed downstream until we have caps and a buffer and everything. And this is never going to happen because the query is blocked :)


Comment 1 Sebastian Dröge (slomo) 2012-07-09 13:41:35 UTC
commit af73f3fc02a6eb698da3933ea7bd607b2b157772
Author: Sebastian Dröge <sebastian.droege@collabora.co.uk>
Date:   Mon Jul 9 15:37:28 2012 +0200

    queue: Fix handling of min-threshold and serialized queries
    
    Only consider the queue empty if the minimum thresholds
    are not reached and data is at the queue head. Otherwise
    we would block forever on serialized queries.
    
    This also makes sending of serialized events, like caps, happen
    faster and potentially improves negotiation performance.
    
    Fixes bug #679458.