diff options
author | Doug Nazar <nazard@nazar.ca> | 2021-05-18 16:38:04 -0400 |
---|---|---|
committer | GStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org> | 2021-05-19 03:21:58 +0000 |
commit | 20ca07d174f88494544f83ba072574c66a6d1aae (patch) | |
tree | 222fdf27dfdb3f190f0ffa68a4d9f94ae1aa2644 /ext | |
parent | 8b8428aec2627c64a21b649da3cfdabbbb6014c9 (diff) | |
download | gstreamer-plugins-bad-20ca07d174f88494544f83ba072574c66a6d1aae.tar.gz |
dtls: Let sender know when we are flushing
Prevents endless loop during shutdown where we end up sending 0 bytes.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2229>
Diffstat (limited to 'ext')
-rw-r--r-- | ext/dtls/gstdtlsenc.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/ext/dtls/gstdtlsenc.c b/ext/dtls/gstdtlsenc.c index 09015f1b7..860671c8d 100644 --- a/ext/dtls/gstdtlsenc.c +++ b/ext/dtls/gstdtlsenc.c @@ -565,6 +565,9 @@ sink_chain (GstPad * pad, GstObject * parent, GstBuffer * buffer) GST_ELEMENT_ERROR (self, RESOURCE, WRITE, (NULL), ("%s", err->message)); g_clear_error (&err); break; + case GST_FLOW_FLUSHING: + GST_INFO_OBJECT (self, "Flushing"); + break; default: g_assert_not_reached (); break; @@ -680,6 +683,8 @@ on_send_data (GstDtlsConnection * connection, gconstpointer data, gsize length, GST_TRACE_OBJECT (self, "send data: releasing lock"); ret = self->src_ret == GST_FLOW_OK; + if (self->src_ret == GST_FLOW_FLUSHING) + gst_dtls_connection_set_flow_return (connection, self->src_ret); g_mutex_unlock (&self->queue_lock); return ret; |