mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-11 01:45:33 +00:00
sdpdemux: error out if no streams found in sdp message
This commit is contained in:
parent
6c96f8cf1e
commit
216887d599
1 changed files with 17 additions and 0 deletions
|
@ -454,6 +454,9 @@ gst_sdp_demux_create_stream (GstSDPDemux * demux, GstSDPMessage * sdp, gint idx)
|
|||
goto no_connection;
|
||||
}
|
||||
|
||||
if (!conn->address)
|
||||
goto no_connection;
|
||||
|
||||
stream->destination = conn->address;
|
||||
stream->ttl = conn->ttl;
|
||||
stream->multicast = is_multicast_address (stream->destination);
|
||||
|
@ -1384,6 +1387,9 @@ gst_sdp_demux_start (GstSDPDemux * demux)
|
|||
for (i = 0; i < n_streams; i++) {
|
||||
stream = gst_sdp_demux_create_stream (demux, &sdp, i);
|
||||
|
||||
if (!stream)
|
||||
continue;
|
||||
|
||||
GST_DEBUG_OBJECT (demux, "configuring transport for stream %p", stream);
|
||||
|
||||
if (!gst_sdp_demux_stream_configure_udp (demux, stream))
|
||||
|
@ -1391,6 +1397,9 @@ gst_sdp_demux_start (GstSDPDemux * demux)
|
|||
if (!gst_sdp_demux_stream_configure_udp_sink (demux, stream))
|
||||
goto transport_failed;
|
||||
}
|
||||
|
||||
if (!demux->streams)
|
||||
goto no_streams;
|
||||
}
|
||||
|
||||
/* set target state on session manager */
|
||||
|
@ -1435,6 +1444,14 @@ could_not_parse:
|
|||
GST_SDP_STREAM_UNLOCK (demux);
|
||||
return FALSE;
|
||||
}
|
||||
no_streams:
|
||||
{
|
||||
gst_sdp_message_uninit (&sdp);
|
||||
GST_ELEMENT_ERROR (demux, STREAM, TYPE_NOT_FOUND, (NULL),
|
||||
("No streams in SDP message."));
|
||||
GST_SDP_STREAM_UNLOCK (demux);
|
||||
return FALSE;
|
||||
}
|
||||
sent_redirect:
|
||||
{
|
||||
/* avoid hanging if redirect not handled */
|
||||
|
|
Loading…
Reference in a new issue