mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-20 07:16:55 +00:00
rtpbin: Free storage when freeing session
This commit is contained in:
parent
0c7c31d197
commit
037d70c01b
1 changed files with 3 additions and 0 deletions
|
@ -833,9 +833,11 @@ free_session (GstRtpBinSession * sess, GstRtpBin * bin)
|
||||||
|
|
||||||
gst_element_set_locked_state (sess->demux, TRUE);
|
gst_element_set_locked_state (sess->demux, TRUE);
|
||||||
gst_element_set_locked_state (sess->session, 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->demux, GST_STATE_NULL);
|
||||||
gst_element_set_state (sess->session, 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_rtp (bin, sess);
|
||||||
remove_recv_rtcp (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->session);
|
||||||
gst_bin_remove (GST_BIN_CAST (bin), sess->demux);
|
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_foreach (sess->elements, (GFunc) remove_bin_element, bin);
|
||||||
g_slist_free (sess->elements);
|
g_slist_free (sess->elements);
|
||||||
|
|
Loading…
Reference in a new issue