[FFmpeg-devel] [PATCH] libavformat/hls: Observe Set-Cookie headers
wm4
nfxjfg at googlemail.com
Wed May 3 04:04:49 EEST 2017
On Tue, 2 May 2017 20:47:06 -0400
Micah Galizia <micahgalizia at gmail.com> wrote:
> 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;
Not comfortable with this without knowing what the purpose of this
CUSTOM_IO check was.
More information about the ffmpeg-devel
mailing list