add support for Matroska subtitle tracks
authorAurelien Jacobs <aurel@gnuage.org>
Wed, 11 Jul 2007 13:13:20 +0000 (13:13 +0000)
committerAurelien Jacobs <aurel@gnuage.org>
Wed, 11 Jul 2007 13:13:20 +0000 (13:13 +0000)
Originally committed as revision 9591 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/avcodec.h
libavformat/matroska.c
libavformat/matroskadec.c

index ef6ba1d..e1d3714 100644 (file)
@@ -262,6 +262,7 @@ enum CodecID {
     /* subtitle codecs */
     CODEC_ID_DVD_SUBTITLE= 0x17000,
     CODEC_ID_DVB_SUBTITLE,
+    CODEC_ID_TEXT,
 
     CODEC_ID_MPEG2TS= 0x20000, /* _FAKE_ codec to indicate a raw MPEG-2 TS
                                 * stream (only used by libavformat) */
index d593dea..df8d951 100644 (file)
@@ -58,6 +58,11 @@ CodecTags ff_mkv_codec_tags[]={
     {"A_REAL/ATRC"      , CODEC_ID_ATRAC3},
     {"A_REAL/COOK"      , CODEC_ID_COOK},
 //    {"A_REAL/SIPR"      , CODEC_ID_SIPRO},
+
+    {"S_TEXT/ASCII"     , CODEC_ID_TEXT},
+    {"S_TEXT/UTF8"      , CODEC_ID_TEXT},
+    {"S_VOBSUB"         , CODEC_ID_DVD_SUBTITLE},
+
     {NULL               , CODEC_ID_NONE}
 /* TODO: AC3-9/10 (?), Real, Musepack, Quicktime */
 };
index d54a867..a38504d 100644 (file)
@@ -2028,10 +2028,8 @@ matroska_read_header (AVFormatContext    *s,
             track = matroska->tracks[i];
             track->stream_index = -1;
 
-            /* libavformat does not really support subtitles.
-             * Also apply some sanity checks. */
-            if ((track->type == MATROSKA_TRACK_TYPE_SUBTITLE) ||
-                (track->codec_id == NULL))
+            /* Apply some sanity checks. */
+            if (track->codec_id == NULL)
                 continue;
 
             for(j=0; ff_mkv_codec_tags[j].str; j++){