diff options
author | Andreas Rheinhardt <andreas.rheinhardt@gmail.com> | 2020-07-13 17:13:51 +0200 |
---|---|---|
committer | Andreas Rheinhardt <andreas.rheinhardt@gmail.com> | 2020-07-18 17:16:24 +0200 |
commit | 8d3556b7a3f89f5dd621c3359f8690cf38796db7 (patch) | |
tree | 5fb046c8424b8c89d4ad83112256717e90fbe383 | |
parent | fa8345cf059394544387e1a47016dec109379a8a (diff) | |
download | ffmpeg-8d3556b7a3f89f5dd621c3359f8690cf38796db7.tar.gz |
avformat/au: Store strings instead of pointers to strings in array
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
-rw-r--r-- | libavformat/au.c | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/libavformat/au.c b/libavformat/au.c index f92863e400..b419c9ed95 100644 --- a/libavformat/au.c +++ b/libavformat/au.c @@ -68,13 +68,13 @@ static int au_probe(const AVProbeData *p) static int au_read_annotation(AVFormatContext *s, int size) { - static const char * keys[] = { + static const char keys[][7] = { "title", "artist", "album", "track", "genre", - NULL }; + }; AVIOContext *pb = s->pb; enum { PARSE_KEY, PARSE_VALUE, PARSE_FINISHED } state = PARSE_KEY; char c; @@ -107,7 +107,7 @@ static int au_read_annotation(AVFormatContext *s, int size) av_log(s, AV_LOG_ERROR, "Memory error while parsing AU metadata.\n"); } else { av_bprint_init(&bprint, 64, AV_BPRINT_SIZE_UNLIMITED); - for (i = 0; keys[i] != NULL && key != NULL; i++) { + for (i = 0; i < FF_ARRAY_ELEMS(keys) && key != NULL; i++) { if (av_strcasecmp(keys[i], key) == 0) { av_dict_set(&(s->metadata), keys[i], value, AV_DICT_DONT_STRDUP_VAL); av_freep(&key); @@ -243,14 +243,13 @@ typedef struct AUContext { static int au_get_annotations(AVFormatContext *s, char **buffer) { - static const char * keys[] = { + static const char keys[][7] = { "Title", "Artist", "Album", "Track", "Genre", - NULL }; - int i; + }; int cnt = 0; AVDictionary *m = s->metadata; AVDictionaryEntry *t = NULL; @@ -258,7 +257,7 @@ static int au_get_annotations(AVFormatContext *s, char **buffer) av_bprint_init(&bprint, 64, AV_BPRINT_SIZE_UNLIMITED); - for (i = 0; keys[i] != NULL; i++) { + for (int i = 0; i < FF_ARRAY_ELEMS(keys); i++) { t = av_dict_get(m, keys[i], NULL, 0); if (t != NULL) { if (cnt++) |