mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-23 16:50:47 +00:00
gst/rtsp/gstrtspsrc.c: Prevent further read/write actions taken to the connect-failed socket by erroring out quickly....
Original commit message from CVS: Patch by: 이문형 <iwings at gmail dot com> * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_loop_udp): Prevent further read/write actions taken to the connect-failed socket by erroring out quickly. See #562258.
This commit is contained in:
parent
6f13524166
commit
42f6a2bca1
2 changed files with 22 additions and 2 deletions
|
@ -1,3 +1,11 @@
|
|||
2008-11-27 Wim Taymans <wim.taymans@collabora.co.uk>
|
||||
|
||||
Patch by: 이문형 <iwings at gmail dot com>
|
||||
|
||||
* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_loop_udp):
|
||||
Prevent further read/write actions taken to the connect-failed socket by
|
||||
erroring out quickly. See #562258.
|
||||
|
||||
2008-11-26 Stefan Kost <ensonic@users.sf.net>
|
||||
|
||||
* tests/examples/level/level-example.c:
|
||||
|
|
|
@ -2914,7 +2914,10 @@ gst_rtspsrc_loop_udp (GstRTSPSrc * src)
|
|||
GST_ELEMENT_WARNING (src, RESOURCE, READ, (NULL),
|
||||
("The server closed the connection."));
|
||||
gst_rtsp_connection_close (src->connection);
|
||||
gst_rtsp_connection_connect (src->connection, src->ptcp_timeout);
|
||||
res =
|
||||
gst_rtsp_connection_connect (src->connection, src->ptcp_timeout);
|
||||
if (res < 0)
|
||||
goto connect_error;
|
||||
continue;
|
||||
default:
|
||||
goto receive_error;
|
||||
|
@ -3025,11 +3028,20 @@ handle_request_failed:
|
|||
g_free (str);
|
||||
return GST_FLOW_ERROR;
|
||||
}
|
||||
connect_error:
|
||||
{
|
||||
gchar *str = gst_rtsp_strresult (res);
|
||||
|
||||
GST_ELEMENT_ERROR (src, RESOURCE, OPEN_READ_WRITE, (NULL),
|
||||
("Could not connect to server. (%s)", str));
|
||||
g_free (str);
|
||||
return GST_FLOW_ERROR;
|
||||
}
|
||||
no_protocols:
|
||||
{
|
||||
src->cur_protocols = 0;
|
||||
/* no transport possible, post an error and stop */
|
||||
GST_ELEMENT_ERROR (src, RESOURCE, READ, (NULL),
|
||||
GST_ELEMENT_ERROR (src, RESOURCE, OPEN_READ_WRITE, (NULL),
|
||||
("Could not connect to server, no protocols left"));
|
||||
return GST_FLOW_ERROR;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue