From 036550bf60d956f593d08acf810882c329cc08e8 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Sebastian=20P=C3=B6lsterl?= Date: Sat, 13 Jun 2009 16:05:02 +0200 Subject: [PATCH] set state and remove elements of media in for loop --- gst/rtsp-server/rtsp-media.c | 41 +++++++++++++++-------------------------- 1 file changed, 15 insertions(+), 26 deletions(-) diff --git a/gst/rtsp-server/rtsp-media.c b/gst/rtsp-server/rtsp-media.c index 3d0ef33..502e478 100644 --- a/gst/rtsp-server/rtsp-media.c +++ b/gst/rtsp-server/rtsp-media.c @@ -1548,7 +1548,7 @@ gst_rtsp_media_set_state (GstRTSPMedia *media, GstState state, GArray *transport void gst_rtsp_media_remove_elements (GstRTSPMedia *media) { - gint i; + gint i, j; unlock_streams (media); @@ -1561,32 +1561,21 @@ gst_rtsp_media_remove_elements (GstRTSPMedia *media) gst_pad_unlink (stream->srcpad, stream->send_rtp_sink); - gst_element_set_state (stream->udpsrc[0], GST_STATE_NULL); - gst_element_set_state (stream->udpsrc[1], GST_STATE_NULL); - gst_element_set_state (stream->udpsink[0], GST_STATE_NULL); - gst_element_set_state (stream->udpsink[1], GST_STATE_NULL); - gst_element_set_state (stream->appsrc[0], GST_STATE_NULL); - gst_element_set_state (stream->appsrc[1], GST_STATE_NULL); - gst_element_set_state (stream->appsink[0], 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); + for (j = 0; j < 2; j++) { + gst_element_set_state (stream->udpsrc[j], GST_STATE_NULL); + gst_element_set_state (stream->udpsink[j], GST_STATE_NULL); + gst_element_set_state (stream->appsrc[j], GST_STATE_NULL); + gst_element_set_state (stream->appsink[j], GST_STATE_NULL); + gst_element_set_state (stream->tee[j], GST_STATE_NULL); + gst_element_set_state (stream->selector[j], GST_STATE_NULL); - gst_bin_remove (GST_BIN (media->pipeline), stream->udpsrc[0]); - gst_bin_remove (GST_BIN (media->pipeline), stream->udpsrc[1]); - gst_bin_remove (GST_BIN (media->pipeline), stream->udpsink[0]); - gst_bin_remove (GST_BIN (media->pipeline), stream->udpsink[1]); - gst_bin_remove (GST_BIN (media->pipeline), stream->appsrc[0]); - gst_bin_remove (GST_BIN (media->pipeline), stream->appsrc[1]); - 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_bin_remove (GST_BIN (media->pipeline), stream->udpsrc[j]); + gst_bin_remove (GST_BIN (media->pipeline), stream->udpsink[j]); + gst_bin_remove (GST_BIN (media->pipeline), stream->appsrc[j]); + gst_bin_remove (GST_BIN (media->pipeline), stream->appsink[j]); + gst_bin_remove (GST_BIN (media->pipeline), stream->tee[j]); + gst_bin_remove (GST_BIN (media->pipeline), stream->selector[j]); + } gst_rtsp_media_stream_free (stream); } g_array_remove_range (media->streams, 0, media->streams->len); -- 2.7.4