add support for FLAC in matroska
authorAurelien Jacobs <aurel@gnuage.org>
Tue, 21 Nov 2006 23:47:21 +0000 (23:47 +0000)
committerAurelien Jacobs <aurel@gnuage.org>
Tue, 21 Nov 2006 23:47:21 +0000 (23:47 +0000)
Originally committed as revision 7150 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavformat/matroska.c

index 44d07dda0831ae226e718880201b823b6fd32cf7..32146d7c045bbe79359abfaa0311df97f8497c22 100644 (file)
@@ -224,6 +224,7 @@ static CodecTags codec_tags[]={
     {"A_DTS"            , CODEC_ID_DTS},
     {"A_VORBIS"         , CODEC_ID_VORBIS},
     {"A_AAC"            , CODEC_ID_AAC},
+    {"A_FLAC"           , CODEC_ID_FLAC},
     {"A_WAVPACK4"       , CODEC_ID_WAVPACK},
     {"A_TTA1"           , CODEC_ID_TTA},
     {NULL               , CODEC_ID_NONE}
@@ -2265,6 +2266,14 @@ matroska_read_header (AVFormatContext    *s,
                 }
             }
 
+            else if (codec_id == CODEC_ID_FLAC) {
+                AVPacket *pkt = av_mallocz(sizeof(AVPacket));
+                av_new_packet(pkt, track->codec_priv_size);
+                memcpy(pkt->data, track->codec_priv, track->codec_priv_size);
+                matroska_queue_packet(matroska, pkt);
+                track->codec_priv_size = 0;
+            }
+
             else if (codec_id == CODEC_ID_TTA) {
                 MatroskaAudioTrack *audiotrack = (MatroskaAudioTrack *) track;
                 ByteIOContext b;