From 587c1c470713f0a46a0b672a5d639b31efb44a6c Mon Sep 17 00:00:00 2001 From: Edward Hervey Date: Wed, 20 Dec 2017 14:17:02 +0100 Subject: [PATCH] rtpsclientsink: Initialize and clear newly added mutex and cond While it *did* work, glib would automatically create new mutex and cond ... which never got freed --- gst/rtsp-sink/gstrtspclientsink.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/gst/rtsp-sink/gstrtspclientsink.c b/gst/rtsp-sink/gstrtspclientsink.c index 246975c98c..69d727d238 100644 --- a/gst/rtsp-sink/gstrtspclientsink.c +++ b/gst/rtsp-sink/gstrtspclientsink.c @@ -691,6 +691,12 @@ gst_rtsp_client_sink_init (GstRTSPClientSink * sink) g_mutex_init (&sink->conninfo.send_lock); g_mutex_init (&sink->conninfo.recv_lock); + g_mutex_init (&sink->block_streams_lock); + g_cond_init (&sink->block_streams_cond); + + g_mutex_init (&sink->open_conn_lock); + g_cond_init (&sink->open_conn_cond); + sink->internal_bin = (GstBin *) gst_bin_new ("rtspbin"); gst_element_set_locked_state (GST_ELEMENT_CAST (sink->internal_bin), TRUE); gst_bin_add (GST_BIN (sink), GST_ELEMENT_CAST (sink->internal_bin)); @@ -747,6 +753,12 @@ gst_rtsp_client_sink_finalize (GObject * object) g_mutex_clear (&rtsp_client_sink->preroll_lock); g_cond_clear (&rtsp_client_sink->preroll_cond); + g_mutex_clear (&rtsp_client_sink->block_streams_lock); + g_cond_clear (&rtsp_client_sink->block_streams_cond); + + g_mutex_clear (&rtsp_client_sink->open_conn_lock); + g_cond_clear (&rtsp_client_sink->open_conn_cond); + G_OBJECT_CLASS (parent_class)->finalize (object); }