* parts are present in the stream. */
gboolean is_complete;
GstRTSPProfile profiles;
- GstRTSPLowerTrans protocols;
+ GstRTSPLowerTrans allowed_protocols;
+ GstRTSPLowerTrans configured_protocols;
/* pads on the rtpbin */
GstPad *send_rtp_sink;
priv->dscp_qos = -1;
priv->control = g_strdup (DEFAULT_CONTROL);
priv->profiles = DEFAULT_PROFILES;
- priv->protocols = DEFAULT_PROTOCOLS;
+ priv->allowed_protocols = DEFAULT_PROTOCOLS;
+ priv->configured_protocols = 0;
priv->publish_clock_mode = GST_RTSP_PUBLISH_CLOCK_MODE_CLOCK;
g_mutex_init (&priv->lock);
if (!(transport->profile & priv->profiles))
goto unsupported_profile;
- if (!(transport->lower_transport & priv->protocols))
+ if (!(transport->lower_transport & priv->allowed_protocols))
goto unsupported_ltrans;
g_mutex_unlock (&priv->lock);
priv = stream->priv;
g_mutex_lock (&priv->lock);
- priv->protocols = protocols;
+ priv->allowed_protocols = protocols;
g_mutex_unlock (&priv->lock);
}
priv = stream->priv;
g_mutex_lock (&priv->lock);
- res = priv->protocols;
+ res = priv->allowed_protocols;
g_mutex_unlock (&priv->lock);
return res;
g_mutex_lock (&priv->lock);
/* depending on the transport type, it should query corresponding sink */
- if (priv->protocols & GST_RTSP_LOWER_TRANS_UDP)
+ if (priv->configured_protocols & GST_RTSP_LOWER_TRANS_UDP)
sink = priv->udpsink[0];
- else if (priv->protocols & GST_RTSP_LOWER_TRANS_UDP_MCAST)
+ else if (priv->configured_protocols & GST_RTSP_LOWER_TRANS_UDP_MCAST)
sink = priv->mcast_udpsink[0];
else
sink = priv->appsink[0];
g_mutex_lock (&priv->lock);
/* depending on the transport type, it should query corresponding sink */
- if (priv->protocols & GST_RTSP_LOWER_TRANS_UDP)
+ if (priv->configured_protocols & GST_RTSP_LOWER_TRANS_UDP)
sink = priv->udpsink[0];
- else if (priv->protocols & GST_RTSP_LOWER_TRANS_UDP_MCAST)
+ else if (priv->configured_protocols & GST_RTSP_LOWER_TRANS_UDP_MCAST)
sink = priv->mcast_udpsink[0];
else
sink = priv->appsink[0];
g_mutex_lock (&priv->lock);
- if (!(priv->protocols & transport->lower_transport))
+ if (!(priv->allowed_protocols & transport->lower_transport))
goto unallowed_transport;
if (!create_receiver_part (stream, transport))
if (!create_sender_part (stream, transport))
goto create_sender_error;
+ priv->configured_protocols |= transport->lower_transport;
+
priv->is_complete = TRUE;
g_mutex_unlock (&priv->lock);