From d93fdcbf5c0e70ca03aaad2581fd328f277cd7cb Mon Sep 17 00:00:00 2001 From: Luca Barbato Date: Fri, 6 Aug 2010 10:26:30 +0000 Subject: [PATCH] Preserve status reason It is used to provide meaningful error messages. Originally committed as revision 24714 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavformat/rtsp.c | 6 ++++-- libavformat/rtsp.h | 5 +++++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/libavformat/rtsp.c b/libavformat/rtsp.c index 689ad29595..2b244d8679 100644 --- a/libavformat/rtsp.c +++ b/libavformat/rtsp.c @@ -824,6 +824,7 @@ int ff_rtsp_read_reply(AVFormatContext *s, RTSPMessageHeader *reply, get_word(buf1, sizeof(buf1), &p); get_word(buf1, sizeof(buf1), &p); reply->status_code = atoi(buf1); + av_strlcpy(reply->reason, p, sizeof(reply->reason)); } else { ff_rtsp_parse_line(reply, p, &rt->auth_state); av_strlcat(rt->last_reply, p, sizeof(rt->last_reply)); @@ -961,9 +962,10 @@ retry: goto retry; if (reply->status_code > 400){ - av_log(s, AV_LOG_ERROR, "method %s failed, %d\n", + av_log(s, AV_LOG_ERROR, "method %s failed: %d%s\n", method, - reply->status_code); + reply->status_code, + reply->reason); av_log(s, AV_LOG_DEBUG, "%s\n", rt->last_reply); } diff --git a/libavformat/rtsp.h b/libavformat/rtsp.h index 2853253e4b..1dba9961c3 100644 --- a/libavformat/rtsp.h +++ b/libavformat/rtsp.h @@ -159,6 +159,11 @@ typedef struct RTSPMessageHeader { * http://tools.ietf.org/html/draft-stiemerling-rtsp-announce-00 * for a complete list of supported values. */ int notice; + + /** The "reason" is meant to specify better the meaning of the error code + * returned + */ + char reason[256]; } RTSPMessageHeader; /**