rtpbin: handle NULL demux elements

When using gstrtpbin with ignore-pt=true, the free_stream function tries to
call gst_element_set_locked_state and gst_element_set_state on a stream->demux
which is NULL.

fixes #642412
This commit is contained in:
Blaise Gassend 2011-02-22 13:29:26 +01:00 committed by Wim Taymans
parent 6b26017ae7
commit 0f88181f43

View file

@ -1336,10 +1336,12 @@ free_stream (GstRtpBinStream * stream)
g_signal_handler_disconnect (stream->buffer, stream->buffer_ptreq_sig);
g_signal_handler_disconnect (stream->buffer, stream->buffer_ntpstop_sig);
gst_element_set_locked_state (stream->demux, TRUE);
if (stream->demux)
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);
if (stream->demux)
gst_element_set_state (stream->demux, GST_STATE_NULL);
gst_element_set_state (stream->buffer, GST_STATE_NULL);
/* now remove this signal, we need this while going to NULL because it to