dict: add av_dict_count()

This adds a function to retrieve the number of entries in a
dictionary and updates the places directly accessing what should
be an opaque struct to use this new function instead.

Signed-off-by: Mans Rullgard <mans@mansr.com>
pull/28/head
Mans Rullgard 13 years ago
parent 05c36e0e5f
commit 987170cb9d
  1. 3
      doc/APIchanges
  2. 2
      libavformat/asfenc.c
  3. 2
      libavformat/utils.c
  4. 5
      libavutil/dict.c
  5. 8
      libavutil/dict.h
  6. 4
      libavutil/version.h

@ -13,6 +13,9 @@ libavutil: 2011-04-18
API changes, most recent first: API changes, most recent first:
2012-08-08 - xxxxxxx - lavu 51.38 - dict.h
Add av_dict_count().
2012-08-xx - xxxxxxx - lavc 54.25 - avcodec.h 2012-08-xx - xxxxxxx - lavc 54.25 - avcodec.h
Rename CodecID to AVCodecID and all CODEC_ID_* to AV_CODEC_ID_*. Rename CodecID to AVCodecID and all CODEC_ID_* to AV_CODEC_ID_*.

@ -316,7 +316,7 @@ static int asf_write_header1(AVFormatContext *s, int64_t file_size, int64_t data
duration = asf->duration + PREROLL_TIME * 10000; duration = asf->duration + PREROLL_TIME * 10000;
has_title = tags[0] || tags[1] || tags[2] || tags[3] || tags[4]; has_title = tags[0] || tags[1] || tags[2] || tags[3] || tags[4];
metadata_count = s->metadata ? s->metadata->count : 0; metadata_count = av_dict_count(s->metadata);
bit_rate = 0; bit_rate = 0;
for(n=0;n<s->nb_streams;n++) { for(n=0;n<s->nb_streams;n++) {

@ -3306,7 +3306,7 @@ static void print_fps(double d, const char *postfix){
static void dump_metadata(void *ctx, AVDictionary *m, const char *indent) static void dump_metadata(void *ctx, AVDictionary *m, const char *indent)
{ {
if(m && !(m->count == 1 && av_dict_get(m, "language", NULL, 0))){ if(m && !(av_dict_count(m) == 1 && av_dict_get(m, "language", NULL, 0))){
AVDictionaryEntry *tag=NULL; AVDictionaryEntry *tag=NULL;
av_log(ctx, AV_LOG_INFO, "%sMetadata:\n", indent); av_log(ctx, AV_LOG_INFO, "%sMetadata:\n", indent);

@ -23,6 +23,11 @@
#include "internal.h" #include "internal.h"
#include "mem.h" #include "mem.h"
int av_dict_count(const AVDictionary *m)
{
return m ? m->count : 0;
}
AVDictionaryEntry * AVDictionaryEntry *
av_dict_get(AVDictionary *m, const char *key, const AVDictionaryEntry *prev, int flags) av_dict_get(AVDictionary *m, const char *key, const AVDictionaryEntry *prev, int flags)
{ {

@ -86,6 +86,14 @@ typedef struct AVDictionary AVDictionary;
AVDictionaryEntry * AVDictionaryEntry *
av_dict_get(AVDictionary *m, const char *key, const AVDictionaryEntry *prev, int flags); av_dict_get(AVDictionary *m, const char *key, const AVDictionaryEntry *prev, int flags);
/**
* Get number of entries in dictionary.
*
* @param m dictionary
* @return number of entries in dictionary
*/
int av_dict_count(const AVDictionary *m);
/** /**
* Set the given entry in *pm, overwriting an existing entry. * Set the given entry in *pm, overwriting an existing entry.
* *

@ -37,8 +37,8 @@
*/ */
#define LIBAVUTIL_VERSION_MAJOR 51 #define LIBAVUTIL_VERSION_MAJOR 51
#define LIBAVUTIL_VERSION_MINOR 37 #define LIBAVUTIL_VERSION_MINOR 38
#define LIBAVUTIL_VERSION_MICRO 1 #define LIBAVUTIL_VERSION_MICRO 0
#define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \ #define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \
LIBAVUTIL_VERSION_MINOR, \ LIBAVUTIL_VERSION_MINOR, \

Loading…
Cancel
Save