rtsp-stream: Only update the RTP udpsink if it actually exists

For send-only streams it does not exist, but the RTCP udpsink might.
This commit is contained in:
Sebastian Dröge 2017-11-15 19:52:29 +02:00
parent bed93b915d
commit d51f8abe56

View file

@ -3725,15 +3725,18 @@ update_transport (GstRTSPStream * stream, GstRTSPStreamTransport * trans,
if (add) { if (add) {
if (ttl > 0) { if (ttl > 0) {
GST_INFO ("setting ttl-mc %d", ttl); GST_INFO ("setting ttl-mc %d", ttl);
if (priv->udpsink[0])
g_object_set (G_OBJECT (priv->udpsink[0]), "ttl-mc", ttl, NULL); g_object_set (G_OBJECT (priv->udpsink[0]), "ttl-mc", ttl, NULL);
g_object_set (G_OBJECT (priv->udpsink[1]), "ttl-mc", ttl, NULL); g_object_set (G_OBJECT (priv->udpsink[1]), "ttl-mc", ttl, NULL);
} }
GST_INFO ("adding %s:%d-%d", dest, min, max); GST_INFO ("adding %s:%d-%d", dest, min, max);
if (priv->udpsink[0])
g_signal_emit_by_name (priv->udpsink[0], "add", dest, min, NULL); g_signal_emit_by_name (priv->udpsink[0], "add", dest, min, NULL);
g_signal_emit_by_name (priv->udpsink[1], "add", dest, max, NULL); g_signal_emit_by_name (priv->udpsink[1], "add", dest, max, NULL);
priv->transports = g_list_prepend (priv->transports, trans); priv->transports = g_list_prepend (priv->transports, trans);
} else { } else {
GST_INFO ("removing %s:%d-%d", dest, min, max); GST_INFO ("removing %s:%d-%d", dest, min, max);
if (priv->udpsink[0])
g_signal_emit_by_name (priv->udpsink[0], "remove", dest, min, NULL); g_signal_emit_by_name (priv->udpsink[0], "remove", dest, min, NULL);
g_signal_emit_by_name (priv->udpsink[1], "remove", dest, max, NULL); g_signal_emit_by_name (priv->udpsink[1], "remove", dest, max, NULL);
priv->transports = g_list_remove (priv->transports, trans); priv->transports = g_list_remove (priv->transports, trans);