gstreamer/plugins/elements
Tim-Philipp Müller c02081ca30 queue2: don't change global buffering state from within query handler
When a buffering query is handled it uses the get_buffering_percent()
function to get some statitics. Unfortunately this function also
calculates whether the queue should be buffering and adapts the
global queue2 state in case of state transitions from/to buffering
(including whether a buffering message was posted on the bus!).

This means that there is a race which can cause buffering messages
to never posted if the global state changes happen as a result of aa
query instead of resulting from bytes flowing in/out.

Spotted by Sjoerd Simons.

Change to only query state in get_buffering_percent() and update
state only in update_buffering().

https://bugzilla.gnome.org/show_bug.cgi?id=705332
2013-08-16 16:53:03 +01:00
..
.gitignore ignore more 2005-06-17 09:12:33 +00:00
gstcapsfilter.c capsfilter: Add more debug output and forward caps events immediately too 2013-05-09 09:51:13 +02:00
gstcapsfilter.h capsfilter: Send all events that should happen after CAPS after the CAPS event 2013-05-09 09:32:49 +02:00
gstelements.c elements: fix leading space in plugin description string 2012-11-06 16:58:04 +00:00
gstfakesink.c Fix FSF address 2012-11-03 20:44:48 +00:00
gstfakesink.h Fix FSF address 2012-11-03 20:44:48 +00:00
gstfakesrc.c Fix FSF address 2012-11-03 20:44:48 +00:00
gstfakesrc.h Fix FSF address 2012-11-03 20:44:48 +00:00
gstfdsink.c Fix FSF address 2012-11-03 20:44:48 +00:00
gstfdsink.h Fix FSF address 2012-11-03 20:44:48 +00:00
gstfdsrc.c Fix FSF address 2012-11-03 20:44:48 +00:00
gstfdsrc.h Fix FSF address 2012-11-03 20:44:48 +00:00
gstfilesink.c Fix FSF address 2012-11-03 20:44:48 +00:00
gstfilesink.h Fix FSF address 2012-11-03 20:44:48 +00:00
gstfilesrc.c Fix FSF address 2012-11-03 20:44:48 +00:00
gstfilesrc.h Fix FSF address 2012-11-03 20:44:48 +00:00
gstfunnel.c funnel: Re-push all sticky events when buffers come from a different pad 2013-07-01 20:45:42 -04:00
gstfunnel.h funnel: Re-push all sticky events when buffers come from a different pad 2013-07-01 20:45:42 -04:00
gstidentity.c NEWSEGMENT -> SEGMENT 2012-12-14 15:24:30 +01:00
gstidentity.h Fix FSF address 2012-11-03 20:44:48 +00:00
gstinputselector.c input-selector: Fix missing pad activation notification 2013-07-23 08:59:07 +02:00
gstinputselector.h inputselector: Don't push new stream-start events on stream change unless they all have group ids 2013-07-22 15:30:10 +02:00
gstmultiqueue.c multiqueue: only block serialized query when it's safe 2013-07-16 11:36:50 +02:00
gstmultiqueue.h Fix FSF address 2012-11-03 20:44:48 +00:00
gstoutputselector.c outputselector: Always forward sticky events to all pads 2013-05-09 12:27:12 +02:00
gstoutputselector.h Fix FSF address 2012-11-03 20:44:48 +00:00
gstqueue.c queue: Don't hold the queue mutex while doing serialized queries downstream 2013-06-19 10:53:21 +02:00
gstqueue.h queue: Fix handling of serialized queries 2013-05-27 15:59:07 +02:00
gstqueue2.c queue2: don't change global buffering state from within query handler 2013-08-16 16:53:03 +01:00
gstqueue2.h queue2: Add support for serialized queries if using a memory queue 2013-05-24 19:22:22 +02:00
gsttee.c tee: fix property description for now-unused "alloc-pad" property 2013-05-24 23:28:04 +01:00
gsttee.h Fix FSF address 2012-11-03 20:44:48 +00:00
gsttypefindelement.c typefind: Only advance offset by the number of bytes we actually read 2013-07-29 11:05:09 +02:00
gsttypefindelement.h Fix FSF address 2012-11-03 20:44:48 +00:00
gstvalve.c valve: Don't read sticky flag from unrefed event 2013-05-25 22:03:53 -04:00
gstvalve.h Fix FSF address 2012-11-03 20:44:48 +00:00
Makefile.am gst: Add better support for static plugins 2013-04-15 15:52:18 +02:00