Browse code

Add id3v2 metadata conversion table and use it in mp3 muxer.

Patch by Anton Khirnov, wyskas gmail

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

Anton Khirnov authored on 2009/09/29 16:05:03
Showing 3 changed files
... ...
@@ -242,3 +242,22 @@ void ff_id3v2_parse(AVFormatContext *s, int len, uint8_t version, uint8_t flags)
242 242
     av_log(s, AV_LOG_INFO, "ID3v2.%d tag skipped, cannot handle %s\n", version, reason);
243 243
     url_fskip(s->pb, len);
244 244
 }
245
+
246
+const AVMetadataConv ff_id3v2_metadata_conv[] = {
247
+    { "TALB", "album"},
248
+    { "TCOM", "composer"},
249
+    { "TCON", "genre"},
250
+    { "TCOP", "copyright"},
251
+    { "TDRL", "date"},
252
+    { "TENC", "encoder"},
253
+    { "TIT2", "title"},
254
+    { "TLAN", "language"},
255
+    { "TPE1", "author"},
256
+    { "TPOS", "disc"},
257
+    { "TPUB", "publisher"},
258
+    { "TRCK", "track"},
259
+    { "TSOA", "albumsort"},
260
+    { "TSOP", "authorsort"},
261
+    { "TSOT", "titlesort"},
262
+    { 0 }
263
+};
... ...
@@ -24,6 +24,7 @@
24 24
 
25 25
 #include <stdint.h>
26 26
 #include "avformat.h"
27
+#include "metadata.h"
27 28
 
28 29
 #define ID3v2_HEADER_SIZE 10
29 30
 
... ...
@@ -51,4 +52,6 @@ void ff_id3v2_parse(AVFormatContext *s, int len, uint8_t version, uint8_t flags)
51 51
  */
52 52
 void ff_id3v2_read(AVFormatContext *s);
53 53
 
54
+extern const AVMetadataConv ff_id3v2_metadata_conv[];
55
+
54 56
 #endif /* AVFORMAT_ID3V2_H */
... ...
@@ -341,5 +341,6 @@ AVOutputFormat mp3_muxer = {
341 341
     mp3_write_header,
342 342
     mp3_write_packet,
343 343
     mp3_write_trailer,
344
+    .metadata_conv = ff_id3v2_metadata_conv,
344 345
 };
345 346
 #endif