diff options
author | Martin Storsjö <martin@martin.st> | 2010-06-21 19:40:30 +0000 |
---|---|---|
committer | Martin Storsjö <martin@martin.st> | 2010-06-21 19:40:30 +0000 |
commit | db3023479448d0bbe8e4b659a4f199713ded99f7 (patch) | |
tree | d25fe9bb17c438c064a5f5ed12c3a325ed15f381 | |
parent | 17b1493f747d5bf10bf91259194dbc7261c9c046 (diff) | |
download | ffmpeg-db3023479448d0bbe8e4b659a4f199713ded99f7.tar.gz |
HTTP: Add a method for initializing the authentication state from another connection
Originally committed as revision 23685 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rw-r--r-- | libavformat/http.c | 6 | ||||
-rw-r--r-- | libavformat/http.h | 11 |
2 files changed, 17 insertions, 0 deletions
diff --git a/libavformat/http.c b/libavformat/http.c index 27d4e8ac10..4a46b41cad 100644 --- a/libavformat/http.c +++ b/libavformat/http.c @@ -69,6 +69,12 @@ void ff_http_set_chunked_transfer_encoding(URLContext *h, int is_chunked) ((HTTPContext*)h->priv_data)->chunksize = is_chunked ? 0 : -1; } +void ff_http_init_auth_state(URLContext *dest, const URLContext *src) +{ + memcpy(&((HTTPContext*)dest->priv_data)->auth_state, + &((HTTPContext*)src->priv_data)->auth_state, sizeof(HTTPAuthState)); +} + /* return non zero if error */ static int http_open_cnx(URLContext *h) { diff --git a/libavformat/http.h b/libavformat/http.h index fe5539a217..a0ae943b84 100644 --- a/libavformat/http.h +++ b/libavformat/http.h @@ -50,4 +50,15 @@ void ff_http_set_headers(URLContext *h, const char *headers); */ void ff_http_set_chunked_transfer_encoding(URLContext *h, int is_chunked); +/** + * Initialize the authentication state based on another HTTP URLContext. + * This can be used to pre-initialize the authentication parameters if + * they are known beforehand, to avoid having to do an initial failing + * request just to get the parameters. + * + * @param dest URL context whose authentication state gets updated + * @param src URL context whose authentication state gets copied + */ +void ff_http_init_auth_state(URLContext *dest, const URLContext *src); + #endif /* AVFORMAT_HTTP_H */ |