Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/FFmpeg/FFmpeg.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Storsjö <martin@martin.st>2010-06-22 18:15:00 +0400
committerMartin Storsjö <martin@martin.st>2010-06-22 18:15:00 +0400
commit9290f15d00881ce028a5c18810a8d5af07bad2c7 (patch)
tree3dd9f2754e5fb5fdeabaa3de80ef6d9844337eff /libavformat/http.c
parent4167ba0bc8d38db335dcac0f49d25c192748af51 (diff)
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. Originally committed as revision 23710 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavformat/http.c')
-rw-r--r--libavformat/http.c33
1 files changed, 1 insertions, 32 deletions
diff --git a/libavformat/http.c b/libavformat/http.c
index a867a03885..a3edd816a7 100644
--- a/libavformat/http.c
+++ b/libavformat/http.c
@@ -48,7 +48,6 @@ typedef struct {
int64_t off, filesize;
char location[URL_SIZE];
HTTPAuthState auth_state;
- int init;
unsigned char headers[BUFFER_SIZE];
} HTTPContext;
@@ -99,7 +98,6 @@ static int http_open_cnx(URLContext *h)
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 @@ static int http_open(URLContext *h, const char *uri, int flags)
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 @@ static int http_read(URLContext *h, uint8_t *buf, int size)
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 @@ static int http_write(URLContext *h, const uint8_t *buf, int size)
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 @@ static int64_t http_seek(URLContext *h, int64_t off, int whence)
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)