[FFmpeg-devel] [PATCH 1/4] dict: const pointers to dictionary where possible

Roman Fietze roman.fietze at telemotive.de
Thu Apr 3 12:43:41 CEST 2014

This avoids temporaries or ugly casting in the calling code where
const dictionaries are used. Esp. helpful when writing C++ wrappers
for an AVDictionary having const member functions and CTORs with const

Signed-off-by: Roman Fietze <roman.fietze at telemotive.de>
 libavutil/dict.c | 4 ++--
 libavutil/dict.h | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/libavutil/dict.c b/libavutil/dict.c
index 0bf54b5..003afd7 100644
--- a/libavutil/dict.c
+++ b/libavutil/dict.c
@@ -35,7 +35,7 @@ int av_dict_count(const AVDictionary *m)
     return m ? m->count : 0;
-AVDictionaryEntry *av_dict_get(AVDictionary *m, const char *key,
+AVDictionaryEntry *av_dict_get(const AVDictionary *m, const char *key,
                                const AVDictionaryEntry *prev, int flags)
     unsigned int i, j;
@@ -181,7 +181,7 @@ void av_dict_free(AVDictionary **pm)
-void av_dict_copy(AVDictionary **dst, AVDictionary *src, int flags)
+void av_dict_copy(AVDictionary **dst, const AVDictionary *src, int flags)
     AVDictionaryEntry *t = NULL;
diff --git a/libavutil/dict.h b/libavutil/dict.h
index c23a2d1..a39a5ee 100644
--- a/libavutil/dict.h
+++ b/libavutil/dict.h
@@ -98,7 +98,7 @@ typedef struct AVDictionary AVDictionary;
  * @return found entry or NULL in case no matching entry was found in the dictionary
 AVDictionaryEntry *
-av_dict_get(AVDictionary *m, const char *key, const AVDictionaryEntry *prev, int flags);
+av_dict_get(const AVDictionary *m, const char *key, const AVDictionaryEntry *prev, int flags);
  * Get number of entries in dictionary.
@@ -148,7 +148,7 @@ int av_dict_parse_string(AVDictionary **pm, const char *str,
  * @param flags flags to use when setting entries in *dst
  * @note metadata is read using the AV_DICT_IGNORE_SUFFIX flag
-void av_dict_copy(AVDictionary **dst, AVDictionary *src, int flags);
+void av_dict_copy(AVDictionary **dst, const AVDictionary *src, int flags);
  * Free all the memory allocated for an AVDictionary struct

Roman Fietze              Telemotive AG Buero Muehlhausen
Breitwiesen                             73347 Muehlhausen
Tel.: +49(0)7335/18493-45        http://www.telemotive.de

More information about the ffmpeg-devel mailing list