[FFmpeg-devel] [PATCH 3/6] avformat/tee: Constify AVDictionaryEntry* pointee where possible

Andreas Rheinhardt andreas.rheinhardt at outlook.com
Fri May 17 19:17:23 EEST 2024


Andreas Rheinhardt:
> This is in preparation for using av_dict_iterate().
> 
> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>
> ---
>  libavformat/tee.c | 7 ++++---
>  1 file changed, 4 insertions(+), 3 deletions(-)
> 
> diff --git a/libavformat/tee.c b/libavformat/tee.c
> index 1cbbb80dbb..87159681ed 100644
> --- a/libavformat/tee.c
> +++ b/libavformat/tee.c
> @@ -158,7 +158,7 @@ static int open_slave(AVFormatContext *avf, char *slave, TeeSlave *tee_slave)
>  {
>      int i, ret;
>      AVDictionary *options = NULL, *bsf_options = NULL;
> -    AVDictionaryEntry *entry;
> +    const AVDictionaryEntry *entry;
>      char *filename;
>      char *format = NULL, *select = NULL, *on_fail = NULL;
>      char *use_fifo = NULL, *fifo_options_str = NULL;
> @@ -172,8 +172,9 @@ static int open_slave(AVFormatContext *avf, char *slave, TeeSlave *tee_slave)
>          return ret;
>  
>  #define CONSUME_OPTION(option, field, action) do {                      \
> -        if ((entry = av_dict_get(options, option, NULL, 0))) {          \
> -            field = entry->value;                                       \
> +        AVDictionaryEntry *en = av_dict_get(options, option, NULL, 0);  \
> +        if (en) {                                                       \
> +            field = en->value;                                          \
>              { action }                                                  \
>              av_dict_set(&options, option, NULL, 0);                     \
>          }                                                               \

Added the following necessary diff from the next patch locally:

-                   entry->value = NULL; /* prevent it from being freed */)
+                   en->value = NULL; /* prevent it from being freed */)

- Andreas



More information about the ffmpeg-devel mailing list