[FFmpeg-cvslog] r19186 - in trunk/libavformat: flacdec.c oggdec.c oggdec.h oggparsevorbis.c

jbr subversion
Sun Jun 14 00:45:59 CEST 2009


Author: jbr
Date: Sun Jun 14 00:45:58 2009
New Revision: 19186

Log:
Add a VorbisComment metadata conversion table and use it in the FLAC and 
Ogg demuxers.

Modified:
   trunk/libavformat/flacdec.c
   trunk/libavformat/oggdec.c
   trunk/libavformat/oggdec.h
   trunk/libavformat/oggparsevorbis.c

Modified: trunk/libavformat/flacdec.c
==============================================================================
--- trunk/libavformat/flacdec.c	Sun Jun 14 00:33:13 2009	(r19185)
+++ trunk/libavformat/flacdec.c	Sun Jun 14 00:45:58 2009	(r19186)
@@ -146,4 +146,5 @@ AVInputFormat flac_demuxer = {
     .flags= AVFMT_GENERIC_INDEX,
     .extensions = "flac",
     .value = CODEC_ID_FLAC,
+    .metadata_conv = ff_vorbiscomment_metadata_conv,
 };

Modified: trunk/libavformat/oggdec.c
==============================================================================
--- trunk/libavformat/oggdec.c	Sun Jun 14 00:33:13 2009	(r19185)
+++ trunk/libavformat/oggdec.c	Sun Jun 14 00:45:58 2009	(r19186)
@@ -583,4 +583,5 @@ AVInputFormat ogg_demuxer = {
     NULL,
     ogg_read_timestamp,
     .extensions = "ogg",
+    .metadata_conv = ff_vorbiscomment_metadata_conv,
 };

Modified: trunk/libavformat/oggdec.h
==============================================================================
--- trunk/libavformat/oggdec.h	Sun Jun 14 00:33:13 2009	(r19185)
+++ trunk/libavformat/oggdec.h	Sun Jun 14 00:45:58 2009	(r19186)
@@ -26,6 +26,7 @@
 #define AVFORMAT_OGGDEC_H
 
 #include "avformat.h"
+#include "metadata.h"
 
 struct ogg_codec {
     const int8_t *magic;
@@ -91,6 +92,8 @@ extern const struct ogg_codec ff_speex_c
 extern const struct ogg_codec ff_theora_codec;
 extern const struct ogg_codec ff_vorbis_codec;
 
+extern const AVMetadataConv ff_vorbiscomment_metadata_conv[];
+
 int vorbis_comment(AVFormatContext *ms, uint8_t *buf, int size);
 
 #endif /* AVFORMAT_OGGDEC_H */

Modified: trunk/libavformat/oggparsevorbis.c
==============================================================================
--- trunk/libavformat/oggparsevorbis.c	Sun Jun 14 00:33:13 2009	(r19185)
+++ trunk/libavformat/oggparsevorbis.c	Sun Jun 14 00:45:58 2009	(r19186)
@@ -30,6 +30,21 @@
 #include "avformat.h"
 #include "oggdec.h"
 
+/**
+ * VorbisComment metadata conversion mapping.
+ * from Ogg Vorbis I format specification: comment field and header specification
+ * http://xiph.org/vorbis/doc/v-comment.html
+ */
+const AVMetadataConv ff_vorbiscomment_metadata_conv[] = {
+    { "ARTIST"     , "author" },
+    { "TITLE"      , "title"  },
+    { "ALBUM"      , "album"  },
+    { "DATE"       , "year"   },
+    { "TRACKNUMBER", "track"  },
+    { "GENRE"      , "genre"  },
+    { 0 }
+};
+
 int
 vorbis_comment(AVFormatContext * as, uint8_t *buf, int size)
 {



More information about the ffmpeg-cvslog mailing list