[FFmpeg-devel] [PATCH v2] avformat/hlsenc: set the options when open the key info files
Andreas Rheinhardt
andreas.rheinhardt at gmail.com
Sat Mar 7 05:51:44 EET 2020
Steven Liu:
> make the options same as segments for the http put method
>
> Signed-off-by: Steven Liu <liuqi05 at kuaishou.com>
> ---
> libavformat/hlsenc.c | 18 ++++++++++++++----
> 1 file changed, 14 insertions(+), 4 deletions(-)
>
> diff --git a/libavformat/hlsenc.c b/libavformat/hlsenc.c
> index f6dd894343..4b28c412fa 100644
> --- a/libavformat/hlsenc.c
> +++ b/libavformat/hlsenc.c
> @@ -685,6 +685,7 @@ static int do_encrypt(AVFormatContext *s, VariantStream *vs)
> }
>
> if (!*hls->key_string) {
> + AVDictionary *options = NULL;
> if (!hls->key) {
> if ((ret = randomize(key, sizeof(key))) < 0) {
> av_log(s, AV_LOG_ERROR, "Cannot generate a strong random key\n");
> @@ -695,7 +696,10 @@ static int do_encrypt(AVFormatContext *s, VariantStream *vs)
> }
>
> ff_data_to_hex(hls->key_string, key, sizeof(key), 0);
> - if ((ret = s->io_open(s, &pb, hls->key_file, AVIO_FLAG_WRITE, NULL)) < 0)
> + set_http_options(s, &options, hls);
> + ret = s->io_open(s, &pb, hls->key_file, AVIO_FLAG_WRITE, &options);
> + av_dict_free(&options);
> + if (ret < 0)
> return ret;
> avio_seek(pb, 0, SEEK_CUR);
> avio_write(pb, key, KEYSIZE);
> @@ -711,13 +715,16 @@ static int hls_encryption_start(AVFormatContext *s)
> int ret;
> AVIOContext *pb;
> uint8_t key[KEYSIZE];
> + AVDictionary *options = NULL;
>
> - if ((ret = s->io_open(s, &pb, hls->key_info_file, AVIO_FLAG_READ, NULL)) < 0) {
> + set_http_options(s, &options, hls);
> + ret = s->io_open(s, &pb, hls->key_info_file, AVIO_FLAG_READ, &options);
> + av_dict_free(&options);
> + if (ret < 0) {
> av_log(hls, AV_LOG_ERROR,
> "error opening key info file %s\n", hls->key_info_file);
> return ret;
> }
> -
Unrelated whitespace change. I have no objections apart from that; but
I am not really qualified to judge the patch on its merits.
- Andreas
More information about the ffmpeg-devel
mailing list