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
@ -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>
|
2008-11-26 Stefan Kost <ensonic@users.sf.net>
|
||||||
|
|
||||||
* tests/examples/level/level-example.c:
|
* tests/examples/level/level-example.c:
|
||||||
|
@ -2914,7 +2914,10 @@ gst_rtspsrc_loop_udp (GstRTSPSrc * src)
|
|||||||
GST_ELEMENT_WARNING (src, RESOURCE, READ, (NULL),
|
GST_ELEMENT_WARNING (src, RESOURCE, READ, (NULL),
|
||||||
("The server closed the connection."));
|
("The server closed the connection."));
|
||||||
gst_rtsp_connection_close (src->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;
|
continue;
|
||||||
default:
|
default:
|
||||||
goto receive_error;
|
goto receive_error;
|
||||||
@ -3025,11 +3028,20 @@ handle_request_failed:
|
|||||||
g_free (str);
|
g_free (str);
|
||||||
return GST_FLOW_ERROR;
|
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:
|
no_protocols:
|
||||||
{
|
{
|
||||||
src->cur_protocols = 0;
|
src->cur_protocols = 0;
|
||||||
/* no transport possible, post an error and stop */
|
/* 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"));
|
("Could not connect to server, no protocols left"));
|
||||||
return GST_FLOW_ERROR;
|
return GST_FLOW_ERROR;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user