gstreamer/plugins/elements
Alicia Boya García 5dbaaa1e51 downloadbuffer: Check for flush after seek
In gst_download_buffer_wait_for_data(), when a seek is made with
perform_seek_to_offset() the `qlock` is released temporarily. Therefore,
the flushing condition can be set during this period and should be
checked.

This was not being checked before, causing occasional deadlocks when
GST_DOWNLOAD_BUFFER_WAIT_ADD_CHECK() was called.

GST_DOWNLOAD_BUFFER_WAIT_ADD_CHECK() assumes that the caller has already
checked that we're not flushing before, since this is done when
acquiring the lock; so if we release it temporarily somewhere, we need
to check for flush again.

Without that check, the function would keep waiting for the condition
variable to be notified before checking for flushing condition again,
and that may very well never happen. This was reproduced when during pad
deactivation when running WebKit in gdb.
2019-08-11 12:37:45 +01: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: Reset last_stop on FLUSH_STOP too 2019-08-08 13:12:19 +01: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: Check for flush after seek 2019-08-11 12:37:45 +01: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 gstelements_private: sync gst_buffer_get_flags_string() with new flags 2019-08-08 16:57:56 +01: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 Run gst-indent through the files 2018-11-28 05:58:53 +02: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 identity: Non-live upstream have no max latency 2019-08-08 23:27:10 +01:00
gstidentity.h identity: fixes to the eos-after and error-after properties 2018-12-18 22:55:28 +00:00
gstinputselector.c input-selector: Let context queries pass through 2018-11-28 11:00:21 +00:00
gstinputselector.h inputselector: Only try to push the first EOS received 2015-04-24 17:19:49 -03:00
gstmultiqueue.c multiqueue: never unref queries we do not own 2019-08-08 14:58:52 +01: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: Add details of query in debug log 2018-12-17 09:41:45 +01:00
gstqueue2.h query: add a new bitrate query 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: cleanup (un)reffing of several objects. 2018-11-09 08:44:11 +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
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