summaryrefslogtreecommitdiff
path: root/libavformat/http.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2012-09-28 13:36:22 +0200
committerMichael Niedermayer <michaelni@gmx.at>2012-09-28 13:54:40 +0200
commit2acb5cd90793de7f375bf6ebf4eabe2b59a2ecc3 (patch)
tree5d827d355bab646ca6ccdebe930ac927a02c3713 /libavformat/http.c
parent4fefe91a33956007f17cfd6e0c5ee1cb3a3f36d8 (diff)
parentd16860a237ae56a21d051df6556c40de9be53faa (diff)
Merge remote-tracking branch 'qatar/master'
* qatar/master: libopus: Remap channels using libopus' internal remapping. Opus decoder using libopus avcodec: document the use of AVCodecContext.delay for audio decoding vc1dec: add flush function for WMV9 and VC-1 decoders http: Increase buffer sizes to cope with longer URIs nutenc: const correctness for ff_put_v_trace/put_s_trace function arguments h264_refs: Fix debug tprintf argument types golomb: const correctness for get_ue()/get_se() function arguments get_bits: const correctness for get_bits_trace()/get_xbits_trace() arguments Conflicts: Changelog libavcodec/Makefile libavcodec/version.h libavformat/http.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavformat/http.c')
-rw-r--r--libavformat/http.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/libavformat/http.c b/libavformat/http.c
index ede4e8b6f6..6412265310 100644
--- a/libavformat/http.c
+++ b/libavformat/http.c
@@ -32,8 +32,11 @@
/* XXX: POST protocol is not completely implemented because ffmpeg uses
only a subset of it. */
-/* used for protocol handling */
-#define BUFFER_SIZE 4096
+/* The IO buffer size is unrelated to the max URL size in itself, but needs
+ * to be large enough to fit the full request headers (including long
+ * path names).
+ */
+#define BUFFER_SIZE MAX_URL_SIZE
#define MAX_REDIRECTS 8
typedef struct {
@@ -101,8 +104,8 @@ static int http_open_cnx(URLContext *h)
const char *path, *proxy_path, *lower_proto = "tcp", *local_path;
char hostname[1024], hoststr[1024], proto[10];
char auth[1024], proxyauth[1024] = "";
- char path1[1024];
- char buf[1024], urlbuf[1024];
+ char path1[MAX_URL_SIZE];
+ char buf[1024], urlbuf[MAX_URL_SIZE];
int port, use_proxy, err, location_changed = 0, redirects = 0, attempts = 0;
HTTPAuthType cur_auth_type, cur_proxy_auth_type;
HTTPContext *s = h->priv_data;
@@ -352,7 +355,7 @@ static inline int has_header(const char *str, const char *header)
static int http_read_header(URLContext *h, int *new_location)
{
HTTPContext *s = h->priv_data;
- char line[1024];
+ char line[MAX_URL_SIZE];
int err = 0;
s->chunksize = -1;