Add id3v2 metadata conversion table and use it in mp3 muxer.
authorAnton Khirnov <wyskas@gmail.com>
Tue, 29 Sep 2009 07:05:03 +0000 (07:05 +0000)
committerCarl Eugen Hoyos <cehoyos@rainbow.studorg.tuwien.ac.at>
Tue, 29 Sep 2009 07:05:03 +0000 (07:05 +0000)
Patch by Anton Khirnov, wyskas gmail

Originally committed as revision 20073 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavformat/id3v2.c
libavformat/id3v2.h
libavformat/mp3.c

index dedc045..651c8fc 100644 (file)
@@ -242,3 +242,22 @@ void ff_id3v2_parse(AVFormatContext *s, int len, uint8_t version, uint8_t flags)
     av_log(s, AV_LOG_INFO, "ID3v2.%d tag skipped, cannot handle %s\n", version, reason);
     url_fskip(s->pb, len);
 }
+
+const AVMetadataConv ff_id3v2_metadata_conv[] = {
+    { "TALB", "album"},
+    { "TCOM", "composer"},
+    { "TCON", "genre"},
+    { "TCOP", "copyright"},
+    { "TDRL", "date"},
+    { "TENC", "encoder"},
+    { "TIT2", "title"},
+    { "TLAN", "language"},
+    { "TPE1", "author"},
+    { "TPOS", "disc"},
+    { "TPUB", "publisher"},
+    { "TRCK", "track"},
+    { "TSOA", "albumsort"},
+    { "TSOP", "authorsort"},
+    { "TSOT", "titlesort"},
+    { 0 }
+};
index 791c00c..3e981a4 100644 (file)
@@ -24,6 +24,7 @@
 
 #include <stdint.h>
 #include "avformat.h"
+#include "metadata.h"
 
 #define ID3v2_HEADER_SIZE 10
 
@@ -51,4 +52,6 @@ void ff_id3v2_parse(AVFormatContext *s, int len, uint8_t version, uint8_t flags)
  */
 void ff_id3v2_read(AVFormatContext *s);
 
+extern const AVMetadataConv ff_id3v2_metadata_conv[];
+
 #endif /* AVFORMAT_ID3V2_H */
index ab57227..42ca42f 100644 (file)
@@ -341,5 +341,6 @@ AVOutputFormat mp3_muxer = {
     mp3_write_header,
     mp3_write_packet,
     mp3_write_trailer,
+    .metadata_conv = ff_id3v2_metadata_conv,
 };
 #endif