add support for old flac in ogg
authorMichael Niedermayer <michaelni@gmx.at>
Sun, 12 Aug 2007 09:29:39 +0000 (09:29 +0000)
committerMichael Niedermayer <michaelni@gmx.at>
Sun, 12 Aug 2007 09:29:39 +0000 (09:29 +0000)
fixes samples.mplayerhq.hu/flac/Yesterday.ogg
closes issue73

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

libavformat/ogg2.c
libavformat/ogg2.h
libavformat/oggparseflac.c

index 3602f21..2b4b160 100644 (file)
@@ -41,6 +41,7 @@ static ogg_codec_t *ogg_codecs[] = {
     &vorbis_codec,
     &theora_codec,
     &flac_codec,
+    &old_flac_codec,
     &ogm_video_codec,
     &ogm_audio_codec,
     &ogm_old_codec,
index 6b7c6b2..1230787 100644 (file)
@@ -77,6 +77,7 @@ typedef struct ogg {
 extern ogg_codec_t vorbis_codec;
 extern ogg_codec_t theora_codec;
 extern ogg_codec_t flac_codec;
+extern ogg_codec_t old_flac_codec;
 extern ogg_codec_t ogm_video_codec;
 extern ogg_codec_t ogm_audio_codec;
 extern ogg_codec_t ogm_old_codec;
index b2bdcd4..d8eff05 100644 (file)
@@ -75,8 +75,24 @@ flac_header (AVFormatContext * s, int idx)
     return 1;
 }
 
+static int
+old_flac_header (AVFormatContext * s, int idx)
+{
+    AVStream *st = s->streams[idx];
+    st->codec->codec_type = CODEC_TYPE_AUDIO;
+    st->codec->codec_id = CODEC_ID_FLAC;
+
+    return 0;
+}
+
 ogg_codec_t flac_codec = {
     .magic = "\177FLAC",
     .magicsize = 5,
     .header = flac_header
 };
+
+ogg_codec_t old_flac_codec = {
+    .magic = "fLaC",
+    .magicsize = 4,
+    .header = old_flac_header
+};