Mercurial > libavformat.hg
diff http.c @ 6164:72ea866c62fd libavformat
Make the http protocol open the connection immediately in http_open again
Also make the RTSP protocol use url_alloc and url_connect instead of relying
on the delay open behaviour.
author | mstorsjo |
---|---|
date | Tue, 22 Jun 2010 14:15:00 +0000 |
parents | 2e0ee73855cd |
children | 4fc5e0e4e1cd |
line wrap: on
line diff
--- a/http.c Tue Jun 22 14:13:55 2010 +0000 +++ b/http.c Tue Jun 22 14:15:00 2010 +0000 @@ -48,7 +48,6 @@ int64_t off, filesize; char location[URL_SIZE]; HTTPAuthState auth_state; - int init; unsigned char headers[BUFFER_SIZE]; } HTTPContext; @@ -99,7 +98,6 @@ HTTPContext *s = h->priv_data; URLContext *hd = NULL; - s->init = 1; proxy_path = getenv("http_proxy"); use_proxy = (proxy_path != NULL) && !getenv("no_proxy") && av_strstart(proxy_path, "http://", NULL); @@ -165,7 +163,7 @@ s->filesize = -1; av_strlcpy(s->location, uri, URL_SIZE); - return 0; + return http_open_cnx(h); } static int http_getc(HTTPContext *s) { @@ -368,19 +366,6 @@ HTTPContext *s = h->priv_data; int len; - if (!s->init) { - int ret = http_open_cnx(h); - if (ret != 0) - return ret; - } - if (!s->hd) - return AVERROR(EIO); - - /* A size of zero can be used to force - * initializaton of the connection. */ - if (!size) - return 0; - if (s->chunksize >= 0) { if (!s->chunksize) { char line[32]; @@ -428,14 +413,6 @@ char crlf[] = "\r\n"; HTTPContext *s = h->priv_data; - if (!s->init) { - int ret = http_open_cnx(h); - if (ret != 0) - return ret; - } - if (!s->hd) - return AVERROR(EIO); - if (s->chunksize == -1) { /* non-chunked data is sent without any special encoding */ return url_write(s->hd, buf, size); @@ -480,14 +457,6 @@ uint8_t old_buf[BUFFER_SIZE]; int old_buf_size; - if (!s->init) { - int ret = http_open_cnx(h); - if (ret != 0) - return ret; - } - if (!s->hd) - return AVERROR(EIO); - if (whence == AVSEEK_SIZE) return s->filesize; else if ((s->filesize == -1 && whence == SEEK_END) || h->is_streamed)