[FFmpeg-devel] [PATCH] Observe Set-Cookie headers in HLS streams
Micah Galizia
micahgalizia at gmail.com
Sun Apr 9 04:53:50 EEST 2017
Signed-off-by: Micah Galizia <micahgalizia at gmail.com>
---
libavformat/hls.c | 12 +++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/libavformat/hls.c b/libavformat/hls.c
index bac53a4350..643d50e1da 100644
--- a/libavformat/hls.c
+++ b/libavformat/hls.c
@@ -630,8 +630,14 @@ static int open_url(AVFormatContext *s, AVIOContext **pb, const char *url,
ret = s->io_open(s, pb, url, AVIO_FLAG_READ, &tmp);
if (ret >= 0) {
// update cookies on http response with setcookies.
- void *u = (s->flags & AVFMT_FLAG_CUSTOM_IO) ? NULL : s->pb;
- update_options(&c->cookies, "cookies", u);
+ char *new_cookies = NULL;
+
+ av_opt_get(*pb, "cookies", AV_OPT_SEARCH_CHILDREN, (uint8_t**)&new_cookies);
+ if (new_cookies) {
+ av_free(c->cookies);
+ c->cookies = new_cookies;
+ }
+
av_dict_set(&opts, "cookies", c->cookies, 0);
}
@@ -1608,7 +1614,7 @@ static int hls_close(AVFormatContext *s)
static int hls_read_header(AVFormatContext *s)
{
- void *u = (s->flags & AVFMT_FLAG_CUSTOM_IO) ? NULL : s->pb;
+ void *u = s->pb;
HLSContext *c = s->priv_data;
int ret = 0, i;
int highest_cur_seq_no = 0;
--
2.11.0
More information about the ffmpeg-devel
mailing list