summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuca Barbato <lu_zero@gentoo.org>2010-08-06 10:26:30 +0000
committerLuca Barbato <lu_zero@gentoo.org>2010-08-06 10:26:30 +0000
commitd93fdcbf5c0e70ca03aaad2581fd328f277cd7cb (patch)
tree6f74c55344208ef09e6e733f1c03ae29299725d3
parent06a2ba230bed69db7d30cf00bb73e7da56bd1819 (diff)
Preserve status reason
It is used to provide meaningful error messages. Originally committed as revision 24714 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rw-r--r--libavformat/rtsp.c6
-rw-r--r--libavformat/rtsp.h5
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;
/**