[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