Browse Source

rtsp: Store the Content-Base header value straight to the target

This avoids having a large temporary buffer in the struct used for
storing the rtsp reply headers.

Originally committed as revision 26192 to svn://svn.ffmpeg.org/ffmpeg/trunk
tags/n0.8
Martin Storsjö 15 years ago
parent
commit
d2995eb910
3 changed files with 3 additions and 9 deletions
  1. +3
    -2
      libavformat/rtsp.c
  2. +0
    -4
      libavformat/rtsp.h
  3. +0
    -3
      libavformat/rtspdec.c

+ 3
- 2
libavformat/rtsp.c View File

@@ -724,9 +724,10 @@ void ff_rtsp_parse_line(RTSPMessageHeader *reply, const char *buf,
} else if (av_stristart(p, "Authentication-Info:", &p) && rt) {
p += strspn(p, SPACE_CHARS);
ff_http_auth_handle_header(&rt->auth_state, "Authentication-Info", p);
} else if (av_stristart(p, "Content-Base:", &p)) {
} else if (av_stristart(p, "Content-Base:", &p) && rt) {
p += strspn(p, SPACE_CHARS);
av_strlcpy(reply->content_base, p , sizeof(reply->content_base));
if (method && !strcmp(method, "DESCRIBE"))
av_strlcpy(rt->control_uri, p , sizeof(rt->control_uri));
}
}



+ 0
- 4
libavformat/rtsp.h View File

@@ -165,10 +165,6 @@ typedef struct RTSPMessageHeader {
* returned
*/
char reason[256];

/** The "Content-Base:" field.
*/
char content_base[4096];
} RTSPMessageHeader;

/**


+ 0
- 3
libavformat/rtspdec.c View File

@@ -107,9 +107,6 @@ int ff_rtsp_setup_input_streams(AVFormatContext *s, RTSPMessageHeader *reply)
av_freep(&content);
return AVERROR_INVALIDDATA;
}
if (reply->content_base[0])
av_strlcpy(rt->control_uri, reply->content_base,
sizeof(rt->control_uri));

av_log(s, AV_LOG_VERBOSE, "SDP:\n%s\n", content);
/* now we got the SDP description, we parse it */


Loading…
Cancel
Save