changeset 6156:85710c0ef275 libavformat

HTTP: Add a method for initializing the authentication state from another connection
author mstorsjo
date Mon, 21 Jun 2010 19:40:30 +0000
parents a7094b61b3fb
children f403b7c0e51b
files http.c http.h
diffstat 2 files changed, 17 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/http.c	Mon Jun 21 19:02:35 2010 +0000
+++ b/http.c	Mon Jun 21 19:40:30 2010 +0000
@@ -69,6 +69,12 @@
     ((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)
 {
--- a/http.h	Mon Jun 21 19:02:35 2010 +0000
+++ b/http.h	Mon Jun 21 19:40:30 2010 +0000
@@ -50,4 +50,15 @@
  */
 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 */