[FFmpeg-cvslog] avformat/hls, dashdec: Don't use AV_OPT flags in av_dict_set()
Andreas Rheinhardt
git at videolan.org
Mon May 16 11:57:34 EEST 2022
ffmpeg | branch: master | Andreas Rheinhardt <andreas.rheinhardt at outlook.com> | Sun May 15 19:32:44 2022 +0200| [e3580f60775c897c3b13b178c57ab191ecc4a031] | committer: Andreas Rheinhardt
avformat/hls, dashdec: Don't use AV_OPT flags in av_dict_set()
av_dict_set() expects a different set of flags, namely the AV_DICT_*
flags. Using AV_OPT_FLAG_DECODING_PARAM (or any AV_OPT_FLAG_*) ic
av_dict_set() is therefore completely wrong and given that av_dict_set()
just doesn't care about whether the string it receives has anything
to do with a decoding parameter or not, it should just be removed
without replacement.
(The numerical value of AV_OPT_FLAG_DECODING_PARAM currently coincides
with AV_DICT_IGNORE_SUFFIX. Given that the dictionaries we are dealing
with here are always empty (i.e. NULL) before the calls to
av_dict_set(), this flag changes nothing. It would be different if
it were equal to one of the AV_DICT_DONT_STRDUP_* values.)
Reviewed-by: Jan Ekström <jeebjp at gmail.com>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=e3580f60775c897c3b13b178c57ab191ecc4a031
---
libavformat/dashdec.c | 2 +-
libavformat/hls.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/libavformat/dashdec.c b/libavformat/dashdec.c
index 0f66251354..63bf7e96a5 100644
--- a/libavformat/dashdec.c
+++ b/libavformat/dashdec.c
@@ -1895,7 +1895,7 @@ static int reopen_demux_for_component(AVFormatContext *s, struct representation
pls->ctx->io_open = nested_io_open;
if (c->cenc_decryption_key)
- av_dict_set(&in_fmt_opts, "decryption_key", c->cenc_decryption_key, AV_OPT_FLAG_DECODING_PARAM);
+ av_dict_set(&in_fmt_opts, "decryption_key", c->cenc_decryption_key, 0);
// provide additional information from mpd if available
ret = avformat_open_input(&pls->ctx, "", in_fmt, &in_fmt_opts); //pls->init_section->url
diff --git a/libavformat/hls.c b/libavformat/hls.c
index 38eb346405..8204f55df3 100644
--- a/libavformat/hls.c
+++ b/libavformat/hls.c
@@ -2065,7 +2065,7 @@ static int hls_read_header(AVFormatContext *s)
if (strstr(in_fmt->name, "mov")) {
char key[33];
ff_data_to_hex(key, pls->key, sizeof(pls->key), 0);
- av_dict_set(&options, "decryption_key", key, AV_OPT_FLAG_DECODING_PARAM);
+ av_dict_set(&options, "decryption_key", key, 0);
} else if (!c->crypto_ctx.aes_ctx) {
c->crypto_ctx.aes_ctx = av_aes_alloc();
if (!c->crypto_ctx.aes_ctx) {
More information about the ffmpeg-cvslog
mailing list