OSDN Git Service

HTTP: Add a method for initializing the authentication state from another connection
authorMartin Storsjö <martin@martin.st>
Mon, 21 Jun 2010 19:40:30 +0000 (19:40 +0000)
committerMartin Storsjö <martin@martin.st>
Mon, 21 Jun 2010 19:40:30 +0000 (19:40 +0000)
Originally committed as revision 23685 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavformat/http.c
libavformat/http.h

index 27d4e8a..4a46b41 100644 (file)
@@ -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)
 {
index fe5539a..a0ae943 100644 (file)
@@ -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 */