]> git.sesse.net Git - ffmpeg/blobdiff - libavformat/id3v2.c
vf_drawtext: make strftime work without localtime_r()
[ffmpeg] / libavformat / id3v2.c
index 4e0c7d47ceda1956133d0a63a6593cc9c0e784e2..930ab5c8706f6aaf00b0dfdbe84b50fcb92dc114 100644 (file)
@@ -30,7 +30,7 @@
 #include "id3v1.h"
 #include "libavutil/avstring.h"
 #include "libavutil/intreadwrite.h"
-#include "metadata.h"
+#include "libavutil/dict.h"
 #include "avio_internal.h"
 
 int ff_id3v2_match(const uint8_t *buf, const char * magic)
@@ -140,7 +140,7 @@ static void read_ttag(AVFormatContext *s, AVIOContext *pb, int taglen, const cha
         val = dst;
 
     if (val)
-        av_metadata_set2(&s->metadata, key, val, AV_METADATA_DONT_OVERWRITE);
+        av_dict_set(&s->metadata, key, val, AV_DICT_DONT_OVERWRITE);
 }
 
 static int is_number(const char *str)
@@ -149,44 +149,44 @@ static int is_number(const char *str)
     return !*str;
 }
 
-static AVMetadataTag* get_date_tag(AVMetadata *m, const char *tag)
+static AVDictionaryEntry* get_date_tag(AVDictionary *m, const char *tag)
 {
-    AVMetadataTag *t;
-    if ((t = av_metadata_get(m, tag, NULL, AV_METADATA_MATCH_CASE)) &&
+    AVDictionaryEntry *t;
+    if ((t = av_dict_get(m, tag, NULL, AV_DICT_MATCH_CASE)) &&
         strlen(t->value) == 4 && is_number(t->value))
         return t;
     return NULL;
 }
 
-static void merge_date(AVMetadata **m)
+static void merge_date(AVDictionary **m)
 {
-    AVMetadataTag *t;
+    AVDictionaryEntry *t;
     char date[17] = {0};      // YYYY-MM-DD hh:mm
 
     if (!(t = get_date_tag(*m, "TYER")) &&
         !(t = get_date_tag(*m, "TYE")))
         return;
     av_strlcpy(date, t->value, 5);
-    av_metadata_set2(m, "TYER", NULL, 0);
-    av_metadata_set2(m, "TYE",  NULL, 0);
+    av_dict_set(m, "TYER", NULL, 0);
+    av_dict_set(m, "TYE",  NULL, 0);
 
     if (!(t = get_date_tag(*m, "TDAT")) &&
         !(t = get_date_tag(*m, "TDA")))
         goto finish;
     snprintf(date + 4, sizeof(date) - 4, "-%.2s-%.2s", t->value + 2, t->value);
-    av_metadata_set2(m, "TDAT", NULL, 0);
-    av_metadata_set2(m, "TDA",  NULL, 0);
+    av_dict_set(m, "TDAT", NULL, 0);
+    av_dict_set(m, "TDA",  NULL, 0);
 
     if (!(t = get_date_tag(*m, "TIME")) &&
         !(t = get_date_tag(*m, "TIM")))
         goto finish;
     snprintf(date + 10, sizeof(date) - 10, " %.2s:%.2s", t->value, t->value + 2);
-    av_metadata_set2(m, "TIME", NULL, 0);
-    av_metadata_set2(m, "TIM",  NULL, 0);
+    av_dict_set(m, "TIME", NULL, 0);
+    av_dict_set(m, "TIM",  NULL, 0);
 
 finish:
     if (date[0])
-        av_metadata_set2(m, "date", date, 0);
+        av_dict_set(m, "date", date, 0);
 }
 
 static void ff_id3v2_parse(AVFormatContext *s, int len, uint8_t version, uint8_t flags)