mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-24 02:31:03 +00:00
souphttpclientsink: Free queued buffers in ::reset
::render sets a new callback for writing out new buffers only if there aren't already buffers queued for writing with a previously-scheduled callback. However, if the previously-scheduled callback is interrupted by a state change (either manually or due to an error) and there are still buffers in the queue, restarting the pipeline will result in buffers being queued forever, and no callbacks will ever be scheduled, and no buffers will be written out. https://bugzilla.gnome.org/show_bug.cgi?id=737739
This commit is contained in:
parent
1a2adf5123
commit
745d497318
1 changed files with 3 additions and 0 deletions
|
@ -244,6 +244,9 @@ gst_soup_http_client_sink_init (GstSoupHttpClientSink * souphttpsink)
|
|||
static void
|
||||
gst_soup_http_client_sink_reset (GstSoupHttpClientSink * souphttpsink)
|
||||
{
|
||||
g_list_free_full (souphttpsink->queued_buffers,
|
||||
(GDestroyNotify) gst_buffer_unref);
|
||||
souphttpsink->queued_buffers = NULL;
|
||||
g_free (souphttpsink->reason_phrase);
|
||||
souphttpsink->reason_phrase = NULL;
|
||||
souphttpsink->status_code = 0;
|
||||
|
|
Loading…
Reference in a new issue