Ogg demuxers.
Originally committed as revision 19186 to svn://svn.ffmpeg.org/ffmpeg/trunk
.flags= AVFMT_GENERIC_INDEX,
.extensions = "flac",
.value = CODEC_ID_FLAC,
+ .metadata_conv = ff_vorbiscomment_metadata_conv,
};
NULL,
ogg_read_timestamp,
.extensions = "ogg",
+ .metadata_conv = ff_vorbiscomment_metadata_conv,
};
#define AVFORMAT_OGGDEC_H
#include "avformat.h"
+#include "metadata.h"
struct ogg_codec {
const int8_t *magic;
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 */
#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)
{