summaryrefslogtreecommitdiffstats
path: root/stream/cookies.c
diff options
context:
space:
mode:
Diffstat (limited to 'stream/cookies.c')
-rw-r--r--stream/cookies.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/stream/cookies.c b/stream/cookies.c
index d8f8b051f9..5d772b8a6a 100644
--- a/stream/cookies.c
+++ b/stream/cookies.c
@@ -261,3 +261,24 @@ cookies_set(HTTP_header_t * http_hdr, const char *domain, const char *url)
http_set_field(http_hdr, buf);
free(buf);
}
+
+// Return a cookies string as expected by lavf (libavformat/http.c). The format
+// is like a Set-Cookie header (http://curl.haxx.se/rfc/cookie_spec.html),
+// separated by newlines.
+char *cookies_lavf(void)
+{
+ if (!cookie_list)
+ cookie_list = load_cookies();
+
+ struct cookie_list_type *list = cookie_list;
+ char *res = talloc_strdup(NULL, "");
+
+ while (list) {
+ res = talloc_asprintf_append_buffer(res,
+ "%s=%s; path=%s; domain=%s; %s\n", list->name, list->value,
+ list->path, list->domain, list->secure ? "secure" : "");
+ list = list->next;
+ }
+
+ return res;
+}