summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Dröge <sebastian@centricular.com>2016-09-05 16:32:57 +0300
committerSebastian Dröge <sebastian@centricular.com>2016-10-25 15:53:49 +0300
commit0befc7ea9acbed2701a5adc65e5bb818b06b5830 (patch)
tree1720a01335d3dd012f799fd64b7790084fd52945
parent52b8d046bd1f4f21f0e00d1e72f2bacd400782e4 (diff)
rtsp-stream: Fix up various multicast related issues
-rw-r--r--gst/rtsp-server/rtsp-stream.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/gst/rtsp-server/rtsp-stream.c b/gst/rtsp-server/rtsp-stream.c
index e8bc949..132d8bd 100644
--- a/gst/rtsp-server/rtsp-stream.c
+++ b/gst/rtsp-server/rtsp-stream.c
@@ -2486,7 +2486,7 @@ create_mcast_part_for_transport (GstRTSPStream * stream,
/* Add receiver part */
create_and_configure_udpsources (mcast_udpsrc, rtp_socket, rtcp_socket);
- if (priv->srcpad) {
+ if (priv->sinkpad) {
plug_src (stream, priv->joined_bin, mcast_udpsrc[0], priv->funnel[0]);
gst_element_sync_state_with_parent (mcast_udpsrc[0]);
}
@@ -2500,10 +2500,16 @@ create_mcast_part_for_transport (GstRTSPStream * stream,
g_assert (!priv->mcast_udpqueue[1]);
create_and_configure_udpsinks (stream, priv->mcast_udpsink);
+
+ g_signal_emit_by_name (priv->mcast_udpsink[0], "add", mcast_addr->address,
+ mcast_addr->port, NULL);
+ g_signal_emit_by_name (priv->mcast_udpsink[1], "add", mcast_addr->address,
+ mcast_addr->port + 1, NULL);
+
set_sockets_for_udpsinks (priv->mcast_udpsink, rtp_socket, rtcp_socket,
family);
- if (priv->sinkpad) {
+ if (priv->srcpad) {
plug_sink (priv->joined_bin, priv->tee[0], priv->mcast_udpsink[0],
&priv->mcast_udpqueue[0]);
gst_element_sync_state_with_parent (priv->mcast_udpsink[0]);