gstreamer/plugins/elements
Jan Schmidt 8e670a23b0 queue2: Defer downstream bitrate query to the streaming thread.
When we want to perform a downstream bitrate query, just
set the reconfigure flag on the srcpad and get the streaming
thread to do it. That avoids emitting a downstream query
when receiving the upstream RECONFIGURE event - which can
lead to deadlocks if downstream is sending the event from
within a lock - e.g. input-selector.

If querying the downstream bitrate changes the cached
value, then make sure to update our buffering state
and potentially post a BUFFERING message to the application.

Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/566
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/501>
2020-06-05 10:29:19 +00:00
..
gstcapsfilter.c plugins: Use gst_type_mark_as_plugin_api() for all non-element plugin types 2020-06-04 15:49:24 -04:00
gstcapsfilter.h capsfilter: optimisation: avoid unnecessary gst_pad_has_current_caps() checks 2016-03-24 14:48:40 +02:00
gstclocksync.c identity,clocksync: Fix timestamping inside single segment in reverse playback 2020-05-06 14:24:36 +00:00
gstclocksync.h clocksync: Remove handoff signals 2020-05-04 09:21:02 +03:00
gstconcat.c concat: Improve debug output a bit 2019-06-05 01:12:42 +00:00
gstconcat.h concat: Add adjust-base property 2015-06-22 14:11:30 +02:00
gstdataurisrc.c dataurisrc: Do not include trailing \0 into buffer 2019-10-07 17:47:47 +00:00
gstdataurisrc.h Fix FSF address 2012-11-04 00:09:59 +00:00
gstdownloadbuffer.c downloadbuffer:fix pushing buffer before stream start event 2020-04-17 15:16:18 +00:00
gstdownloadbuffer.h downloadbuffer: remove unused struct member 2017-07-26 14:20:44 +01:00
gstelements.c clocksync: Add new clocksync element 2020-02-26 16:36:29 +00:00
gstelements_private.c filesink: Fix for updating the index of memory to write in the next iteration 2020-03-31 19:05:30 +09:00
gstelements_private.h filesink/fdsink: Write 1 iovec directly without copying if there's no writev() support 2020-03-26 11:31:03 +00:00
gstfakesink.c plugins: Use gst_type_mark_as_plugin_api() for all non-element plugin types 2020-06-04 15:49:24 -04:00
gstfakesink.h Revert "Potential GstContext regression" 2013-09-24 12:47:52 +02:00
gstfakesrc.c plugins: Use gst_type_mark_as_plugin_api() for all non-element plugin types 2020-06-04 15:49:24 -04:00
gstfakesrc.h Port gtk-doc comments to their equivalent markdown syntax 2017-01-27 16:36:38 -03:00
gstfdsink.c fdsink: do not supress legitimate errors when unlocking 2020-05-20 14:10:14 +00:00
gstfdsink.h fdsink: remove unused struct member bytes_written 2020-05-20 14:10:14 +00:00
gstfdsrc.c file/fdsrc: use struct stat64 on android to match stat64() 2019-08-28 15:46:33 +10:00
gstfdsrc.h Fix FSF address 2012-11-03 20:44:48 +00:00
gstfilesink.c plugins: Use gst_type_mark_as_plugin_api() for all non-element plugin types 2020-06-04 15:49:24 -04:00
gstfilesink.h filesink: Add a new full buffer mode to filesink 2020-03-26 11:31:03 +00:00
gstfilesrc.c file/fdsrc: use struct stat64 on android to match stat64() 2019-08-28 15:46:33 +10:00
gstfilesrc.h Fix FSF address 2012-11-03 20:44:48 +00:00
gstfunnel.c funnel: fix documentation 2019-08-06 13:30:12 +00:00
gstfunnel.h gstbasetranform: replace GST_BASE_TRANSFORM with GST_BASE_TRANSFORM_CAST 2017-11-24 13:39:39 +01:00
gstidentity.c identity: Handle seeking with single_segment=True 2020-05-06 14:24:36 +00:00
gstidentity.h identity: Handle seeking with single_segment=True 2020-05-06 14:24:36 +00:00
gstinputselector.c inputselector: Avoid deadlock when requesting pads 2020-06-05 09:59:15 +00:00
gstinputselector.h inputselector: Never reset active pad set from the user 2020-05-14 22:15:12 +00:00
gstmultiqueue.c plugins: Use gst_type_mark_as_plugin_api() for all non-element plugin types 2020-06-04 15:49:24 -04:00
gstmultiqueue.h multiqueue: Make min-interleave-time a configurable property 2017-03-09 12:09:57 +11:00
gstoutputselector.c plugins: Use gst_type_mark_as_plugin_api() for all non-element plugin types 2020-06-04 15:49:24 -04:00
gstoutputselector.h output-selector: Drop duplicated seek events 2020-05-13 17:59:06 -04:00
gstqueue.c plugins: Use gst_type_mark_as_plugin_api() for all non-element plugin types 2020-06-04 15:49:24 -04:00
gstqueue.h queue/queue2: Protect against spurious condition variable wakeups 2016-12-13 21:03:54 +02:00
gstqueue2.c queue2: Defer downstream bitrate query to the streaming thread. 2020-06-05 10:29:19 +00:00
gstqueue2.h query: add a new bitrate query 2018-11-07 15:04:14 +00:00
gstsparsefile.c sparsefile: fix possible crash when seeking 2020-05-25 08:35:32 +00: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 plugins: Use gst_type_mark_as_plugin_api() for all non-element plugin types 2020-06-04 15:49:24 -04:00
gsttee.h tee: Add allow-not-linked property 2015-03-26 10:46:26 +01:00
gsttypefindelement.c Don't pass default GLib marshallers for signals 2019-09-09 12:16:24 +00: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
meson.build clocksync: Add new clocksync element 2020-02-26 16:36:29 +00:00