mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-18 14:26:43 +00:00
rtpbin: use locked state on internal bins
Set the locked state on internal elements to make sure that they don't change back to another state when shutting down. Fixes #594248
This commit is contained in:
parent
796dec5920
commit
e08e610db0
1 changed files with 6 additions and 0 deletions
|
@ -577,6 +577,9 @@ free_session (GstRtpBinSession * sess, GstRtpBin * bin)
|
||||||
{
|
{
|
||||||
GST_DEBUG_OBJECT (bin, "freeing session %p", sess);
|
GST_DEBUG_OBJECT (bin, "freeing session %p", sess);
|
||||||
|
|
||||||
|
gst_element_set_locked_state (sess->demux, TRUE);
|
||||||
|
gst_element_set_locked_state (sess->session, 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);
|
||||||
|
|
||||||
|
@ -1160,6 +1163,9 @@ free_stream (GstRtpBinStream * stream)
|
||||||
g_signal_handler_disconnect (stream->buffer, stream->buffer_ptreq_sig);
|
g_signal_handler_disconnect (stream->buffer, stream->buffer_ptreq_sig);
|
||||||
g_signal_handler_disconnect (stream->buffer, stream->buffer_ntpstop_sig);
|
g_signal_handler_disconnect (stream->buffer, stream->buffer_ntpstop_sig);
|
||||||
|
|
||||||
|
gst_element_set_locked_state (stream->demux, TRUE);
|
||||||
|
gst_element_set_locked_state (stream->buffer, TRUE);
|
||||||
|
|
||||||
gst_element_set_state (stream->demux, GST_STATE_NULL);
|
gst_element_set_state (stream->demux, GST_STATE_NULL);
|
||||||
gst_element_set_state (stream->buffer, GST_STATE_NULL);
|
gst_element_set_state (stream->buffer, GST_STATE_NULL);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue