diff options
author | Micah Galizia <micahgalizia@gmail.com> | 2017-05-16 21:37:31 -0400 |
---|---|---|
committer | Michael Niedermayer <michael@niedermayer.cc> | 2017-05-29 02:00:08 +0200 |
commit | c4c73020f4bbf261f0b263be82de575c17fa5a60 (patch) | |
tree | 6b8bf1218a632d9f307fdd66df814344c2283c08 /libavformat/hls.c | |
parent | c901627918ff7480c1bb6f9cae507ee2c7c933d8 (diff) | |
download | ffmpeg-c4c73020f4bbf261f0b263be82de575c17fa5a60.tar.gz |
libavformat/hls: Observe Set-Cookie headers
Signed-off-by: Micah Galizia <micahgalizia@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Diffstat (limited to 'libavformat/hls.c')
-rw-r--r-- | libavformat/hls.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/libavformat/hls.c b/libavformat/hls.c index 0c7283d974..4b8fb19a52 100644 --- a/libavformat/hls.c +++ b/libavformat/hls.c @@ -630,8 +630,16 @@ 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; + + if (!(s->flags & AVFMT_FLAG_CUSTOM_IO)) + 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); } |