mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-04-26 06:54:49 +00:00
set state and remove elements of media in for loop
This commit is contained in:
parent
018563fdcc
commit
036550bf60
1 changed files with 15 additions and 26 deletions
|
@ -1548,7 +1548,7 @@ gst_rtsp_media_set_state (GstRTSPMedia *media, GstState state, GArray *transport
|
||||||
void
|
void
|
||||||
gst_rtsp_media_remove_elements (GstRTSPMedia *media)
|
gst_rtsp_media_remove_elements (GstRTSPMedia *media)
|
||||||
{
|
{
|
||||||
gint i;
|
gint i, j;
|
||||||
|
|
||||||
unlock_streams (media);
|
unlock_streams (media);
|
||||||
|
|
||||||
|
@ -1561,32 +1561,21 @@ gst_rtsp_media_remove_elements (GstRTSPMedia *media)
|
||||||
|
|
||||||
gst_pad_unlink (stream->srcpad, stream->send_rtp_sink);
|
gst_pad_unlink (stream->srcpad, stream->send_rtp_sink);
|
||||||
|
|
||||||
gst_element_set_state (stream->udpsrc[0], GST_STATE_NULL);
|
for (j = 0; j < 2; j++) {
|
||||||
gst_element_set_state (stream->udpsrc[1], GST_STATE_NULL);
|
gst_element_set_state (stream->udpsrc[j], GST_STATE_NULL);
|
||||||
gst_element_set_state (stream->udpsink[0], GST_STATE_NULL);
|
gst_element_set_state (stream->udpsink[j], GST_STATE_NULL);
|
||||||
gst_element_set_state (stream->udpsink[1], GST_STATE_NULL);
|
gst_element_set_state (stream->appsrc[j], GST_STATE_NULL);
|
||||||
gst_element_set_state (stream->appsrc[0], GST_STATE_NULL);
|
gst_element_set_state (stream->appsink[j], GST_STATE_NULL);
|
||||||
gst_element_set_state (stream->appsrc[1], GST_STATE_NULL);
|
gst_element_set_state (stream->tee[j], GST_STATE_NULL);
|
||||||
gst_element_set_state (stream->appsink[0], GST_STATE_NULL);
|
gst_element_set_state (stream->selector[j], GST_STATE_NULL);
|
||||||
gst_element_set_state (stream->appsink[1], GST_STATE_NULL);
|
|
||||||
gst_element_set_state (stream->tee[0], GST_STATE_NULL);
|
|
||||||
gst_element_set_state (stream->tee[1], GST_STATE_NULL);
|
|
||||||
gst_element_set_state (stream->selector[0], GST_STATE_NULL);
|
|
||||||
gst_element_set_state (stream->selector[1], GST_STATE_NULL);
|
|
||||||
|
|
||||||
gst_bin_remove (GST_BIN (media->pipeline), stream->udpsrc[0]);
|
gst_bin_remove (GST_BIN (media->pipeline), stream->udpsrc[j]);
|
||||||
gst_bin_remove (GST_BIN (media->pipeline), stream->udpsrc[1]);
|
gst_bin_remove (GST_BIN (media->pipeline), stream->udpsink[j]);
|
||||||
gst_bin_remove (GST_BIN (media->pipeline), stream->udpsink[0]);
|
gst_bin_remove (GST_BIN (media->pipeline), stream->appsrc[j]);
|
||||||
gst_bin_remove (GST_BIN (media->pipeline), stream->udpsink[1]);
|
gst_bin_remove (GST_BIN (media->pipeline), stream->appsink[j]);
|
||||||
gst_bin_remove (GST_BIN (media->pipeline), stream->appsrc[0]);
|
gst_bin_remove (GST_BIN (media->pipeline), stream->tee[j]);
|
||||||
gst_bin_remove (GST_BIN (media->pipeline), stream->appsrc[1]);
|
gst_bin_remove (GST_BIN (media->pipeline), stream->selector[j]);
|
||||||
gst_bin_remove (GST_BIN (media->pipeline), stream->appsink[0]);
|
}
|
||||||
gst_bin_remove (GST_BIN (media->pipeline), stream->appsink[1]);
|
|
||||||
gst_bin_remove (GST_BIN (media->pipeline), stream->tee[0]);
|
|
||||||
gst_bin_remove (GST_BIN (media->pipeline), stream->tee[1]);
|
|
||||||
gst_bin_remove (GST_BIN (media->pipeline), stream->selector[0]);
|
|
||||||
gst_bin_remove (GST_BIN (media->pipeline), stream->selector[1]);
|
|
||||||
|
|
||||||
gst_rtsp_media_stream_free (stream);
|
gst_rtsp_media_stream_free (stream);
|
||||||
}
|
}
|
||||||
g_array_remove_range (media->streams, 0, media->streams->len);
|
g_array_remove_range (media->streams, 0, media->streams->len);
|
||||||
|
|
Loading…
Reference in a new issue