gstreamer/plugins/elements
Matthew Waters c4ccff7861 queue2: avoid ping-pong between 0% and 100% buffering messages
If upstream is pushing buffers larger than our limits, only 1 buffer
is ever in the queue at a time.  Once that single buffer has left the
queue, a 0% buffering message would be posted followed immediately by a
100% buffering message when the next buffer was inserted into the queue
a very short time later.  As per the recommendations, This would result
in the application pausing for a short while causing the appearance of
a short stutter.

The first step of a solution involves not posting a buffering message if
there is still data waiting on the sink pad for insertion into the queue.
This successfully drops the 0% messages from being posted however a
message is still posted on each transition to 100% when the new buffer
arrives resulting in a string of 100% buffering messages.  We silence
these by storing the last posted buffering percentage and only posting a
new message when it is different from or last posted message.
2018-11-07 15:04:14 +00:00
..
.gitignore ignore more 2005-06-17 09:12:33 +00:00
gstcapsfilter.c Fix typos in comments and docs 2018-05-01 11:18:03 +01:00
gstcapsfilter.h capsfilter: optimisation: avoid unnecessary gst_pad_has_current_caps() checks 2016-03-24 14:48:40 +02:00
gstconcat.c concat: Improve debug output a bit by printing pad names 2018-08-29 19:26:04 +03:00
gstconcat.h concat: Add adjust-base property 2015-06-22 14:11:30 +02:00
gstdataurisrc.c Port gtk-doc comments to their equivalent markdown syntax 2017-01-27 16:36:38 -03:00
gstdataurisrc.h Fix FSF address 2012-11-04 00:09:59 +00:00
gstdownloadbuffer.c downloadbuffer: Don't hold the mutex while posint the download-complete message 2017-12-21 13:47:52 +02:00
gstdownloadbuffer.h downloadbuffer: remove unused struct member 2017-07-26 14:20:44 +01:00
gstelements.c elements: add dataurisrc to build 2016-11-28 11:19:12 +00:00
gstelements_private.c fakesink, identity: print metas attached to buffer in silent=false mode 2016-12-05 20:29:25 +00:00
gstelements_private.h fakesink, identity: print metas attached to buffer in silent=false mode 2016-12-05 20:29:25 +00:00
gstfakesink.c Port gtk-doc comments to their equivalent markdown syntax 2017-01-27 16:36:38 -03:00
gstfakesink.h Revert "Potential GstContext regression" 2013-09-24 12:47:52 +02:00
gstfakesrc.c Port gtk-doc comments to their equivalent markdown syntax 2017-01-27 16:36:38 -03:00
gstfakesrc.h Port gtk-doc comments to their equivalent markdown syntax 2017-01-27 16:36:38 -03:00
gstfdsink.c plugins: Don't force 64-bit file/seek functions variants on android 2018-03-02 18:25:21 +11:00
gstfdsink.h fdsink: Block in preroll_wait on unlock 2016-11-23 11:58:43 -05:00
gstfdsrc.c plugins: Don't force 64-bit file/seek functions variants on android 2018-03-02 18:25:21 +11:00
gstfdsrc.h Fix FSF address 2012-11-03 20:44:48 +00:00
gstfilesink.c filesink: Fix wrong printf format 2018-09-11 21:33:51 -04:00
gstfilesink.h filesink: Implement buffering internally 2018-08-16 17:01:07 +03:00
gstfilesrc.c plugins: Don't force 64-bit file/seek functions variants on android 2018-03-02 18:25:21 +11:00
gstfilesrc.h Fix FSF address 2012-11-03 20:44:48 +00:00
gstfunnel.c gstbasetranform: replace GST_BASE_TRANSFORM with GST_BASE_TRANSFORM_CAST 2017-11-24 13:39:39 +01:00
gstfunnel.h gstbasetranform: replace GST_BASE_TRANSFORM with GST_BASE_TRANSFORM_CAST 2017-11-24 13:39:39 +01:00
gstidentity.c Use proper GtkDoc notation for NULL/FALSE/TRUE 2017-10-03 13:54:25 -07:00
gstidentity.h identity: Add a drop-allocation property 2017-09-06 10:03:20 -04:00
gstinputselector.c input-selector: Bring latency handling in sync with GstPad code 2018-08-31 12:16:43 +03:00
gstinputselector.h inputselector: Only try to push the first EOS received 2015-04-24 17:19:49 -03:00
gstmultiqueue.c multiqueue: Don't clamp running times for position calculation 2018-10-22 15:28:45 +02:00
gstmultiqueue.h multiqueue: Make min-interleave-time a configurable property 2017-03-09 12:09:57 +11:00
gstoutputselector.c inputselector, outputselector: add guards for wrong pads being set as active pads 2018-04-17 18:57:17 +01:00
gstoutputselector.h docs: add missing docs, fixing doc errors 2013-12-03 00:11:59 +00:00
gstqueue.c queue: Ignore thresholds if a query is queued 2018-03-01 16:31:57 -05:00
gstqueue.h queue/queue2: Protect against spurious condition variable wakeups 2016-12-13 21:03:54 +02:00
gstqueue2.c queue2: avoid ping-pong between 0% and 100% buffering messages 2018-11-07 15:04:14 +00:00
gstqueue2.h queue2: avoid ping-pong between 0% and 100% buffering messages 2018-11-07 15:04:14 +00:00
gstsparsefile.c plugins: Don't force 64-bit file/seek functions variants on android 2018-03-02 18:25:21 +11:00
gstsparsefile.h elements: don't depend on libgio just for g_io_error_from_errno() 2014-05-13 20:06:48 +01:00
gststreamiddemux.c Port gtk-doc comments to their equivalent markdown syntax 2017-01-27 16:36:38 -03:00
gststreamiddemux.h docs: add StreamidDemux to documentation 2015-07-08 17:07:49 +01:00
gsttee.c Fix typos in comments and docs 2018-05-01 11:18:03 +01:00
gsttee.h tee: Add allow-not-linked property 2015-03-26 10:46:26 +01:00
gsttypefindelement.c typefind: Always forward RECONFIGURE events upstream 2018-11-04 12:45:57 +02:00
gsttypefindelement.h docs: order and canonicalize the -sections.txt file 2015-07-03 11:52:22 +02:00
gstvalve.c Port gtk-doc comments to their equivalent markdown syntax 2017-01-27 16:36:38 -03:00
gstvalve.h Fix FSF address 2012-11-03 20:44:48 +00:00
Makefile.am Remove plugin specific static build option 2017-05-16 13:29:38 -04:00
meson.build meson: generate pkg-config files for our plugins 2018-11-05 15:18:41 +00:00