rtpbin: Free storage when freeing session
authorDanny Smith <dannys@axis.com>
Fri, 8 Feb 2019 09:09:17 +0000 (10:09 +0100)
committerTim-Philipp Müller <tim@centricular.com>
Tue, 6 Aug 2019 22:38:37 +0000 (23:38 +0100)
gst/rtpmanager/gstrtpbin.c

index ad8272c..8b68266 100644 (file)
@@ -833,9 +833,11 @@ free_session (GstRtpBinSession * sess, GstRtpBin * bin)
 
   gst_element_set_locked_state (sess->demux, TRUE);
   gst_element_set_locked_state (sess->session, TRUE);
+  gst_element_set_locked_state (sess->storage, TRUE);
 
   gst_element_set_state (sess->demux, GST_STATE_NULL);
   gst_element_set_state (sess->session, GST_STATE_NULL);
+  gst_element_set_state (sess->storage, GST_STATE_NULL);
 
   remove_recv_rtp (bin, sess);
   remove_recv_rtcp (bin, sess);
@@ -844,6 +846,7 @@ free_session (GstRtpBinSession * sess, GstRtpBin * bin)
 
   gst_bin_remove (GST_BIN_CAST (bin), sess->session);
   gst_bin_remove (GST_BIN_CAST (bin), sess->demux);
+  gst_bin_remove (GST_BIN_CAST (bin), sess->storage);
 
   g_slist_foreach (sess->elements, (GFunc) remove_bin_element, bin);
   g_slist_free (sess->elements);