Commit 789ef040 authored by Wim Taymans's avatar Wim Taymans
Browse files

gst/rtsp/gstrtspsrc.c: When we try to execute a method that is not supported...

gst/rtsp/gstrtspsrc.c: When we try to execute a method that is not supported by the server, don't error out but remov...

Original commit message from CVS:
* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_send):
When we try to execute a method that is not supported by the server,
don't error out but remove the method from the accepted methods so that
we never try to perform this method again.
parent 4333477d
2007-05-14 Wim Taymans <wim@fluendo.com>
* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_send):
When we try to execute a method that is not supported by the server,
don't error out but remove the method from the accepted methods so that
we never try to perform this method again.
2007-05-14 Wim Taymans <wim@fluendo.com>
* gst/rtp/gstrtpvorbisdepay.c: (gst_rtp_vorbis_depay_process):
......
......@@ -2772,9 +2772,14 @@ gst_rtspsrc_send (GstRTSPSrc * src, RTSPMessage * request,
RTSPStatusCode int_code = RTSP_STS_OK;
RTSPResult res;
gboolean retry;
RTSPMethod method;
do {
retry = FALSE;
/* save method so we can disable it when the server complains */
method = request->type_data.request.method;
if ((res = gst_rtspsrc_try_send (src, request, response, &int_code)) < 0)
goto error;
......@@ -2804,11 +2809,20 @@ error:
}
error_response:
{
res = RTSP_ERROR;
switch (response->type_data.response.code) {
case RTSP_STS_NOT_FOUND:
GST_ELEMENT_ERROR (src, RESOURCE, NOT_FOUND, (NULL), ("%s",
response->type_data.response.reason));
break;
case RTSP_STS_NOT_ACCEPTABLE:
case RTSP_STS_NOT_IMPLEMENTED:
GST_WARNING_OBJECT (src, "got NOT IMPLEMENTED, disable method %s",
rtsp_method_as_text (method));
src->methods &= ~method;
res = RTSP_OK;
break;
default:
GST_ELEMENT_ERROR (src, RESOURCE, READ, (NULL),
("Got error response: %d (%s).", response->type_data.response.code,
......@@ -2817,7 +2831,7 @@ error_response:
}
/* we return FALSE so we should unset the response ourselves */
rtsp_message_unset (response);
return RTSP_ERROR;
return res;
}
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment