mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-17 11:45:25 +00:00
session: handle transport setup correctly
Handle UDP, MCAST and TCP transport negotiation more correctly. Store the server session SSRC in the transport.
This commit is contained in:
parent
ce6724f788
commit
63addbc278
1 changed files with 18 additions and 3 deletions
|
@ -491,9 +491,24 @@ gst_rtsp_session_stream_set_transport (GstRTSPSessionStream *stream,
|
|||
st->trans = ct->trans;
|
||||
st->profile = ct->profile;
|
||||
st->lower_transport = ct->lower_transport;
|
||||
st->client_port = ct->client_port;
|
||||
st->interleaved = ct->interleaved;
|
||||
st->server_port = stream->media_stream->server_port;
|
||||
|
||||
switch (st->lower_transport) {
|
||||
case GST_RTSP_LOWER_TRANS_UDP:
|
||||
st->client_port = ct->client_port;
|
||||
st->server_port = stream->media_stream->server_port;
|
||||
break;
|
||||
case GST_RTSP_LOWER_TRANS_UDP_MCAST:
|
||||
ct->port = st->port = stream->media_stream->server_port;
|
||||
st->destination = g_strdup (ct->destination);
|
||||
break;
|
||||
case GST_RTSP_LOWER_TRANS_TCP:
|
||||
st->interleaved = ct->interleaved;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
if (stream->media_stream->session)
|
||||
g_object_get (stream->media_stream->session, "internal-ssrc", &st->ssrc, NULL);
|
||||
|
||||
/* keep track of the transports in the stream. */
|
||||
if (stream->trans.transport)
|
||||
|
|
Loading…
Reference in a new issue