diff options
Diffstat (limited to 'gst/rtmp2')
-rw-r--r-- | gst/rtmp2/gstrtmp2src.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/gst/rtmp2/gstrtmp2src.c b/gst/rtmp2/gstrtmp2src.c index 6cad882ff..960e2da5c 100644 --- a/gst/rtmp2/gstrtmp2src.c +++ b/gst/rtmp2/gstrtmp2src.c @@ -691,11 +691,14 @@ gst_rtmp2_src_create (GstBaseSrc * src, guint64 offset, guint size, return GST_FLOW_OK; out: - g_mutex_unlock (&self->lock); if (timeout) { g_source_destroy (timeout); g_source_unref (timeout); } + /* Keep the unlock after the destruction of the timeout source to workaround + * https://gitlab.gnome.org/GNOME/glib/-/issues/803 + */ + g_mutex_unlock (&self->lock); return ret; } |