[SCM] libav/experimental: add support for Matroska subtitle tracks

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sun Jun 30 16:03:27 UTC 2013


The following commit has been merged in the experimental branch:
commit f7e97aaf877fbed5b618798c055603e5d7da5d12
Author: Aurelien Jacobs <aurel at gnuage.org>
Date:   Wed Jul 11 13:13:20 2007 +0000

    add support for Matroska subtitle tracks
    
    Originally committed as revision 9591 to svn://svn.ffmpeg.org/ffmpeg/trunk

diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h
index ef6ba1d..e1d3714 100644
--- a/libavcodec/avcodec.h
+++ b/libavcodec/avcodec.h
@@ -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) */
diff --git a/libavformat/matroska.c b/libavformat/matroska.c
index d593dea..df8d951 100644
--- a/libavformat/matroska.c
+++ b/libavformat/matroska.c
@@ -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 */
 };
diff --git a/libavformat/matroskadec.c b/libavformat/matroskadec.c
index d54a867..a38504d 100644
--- a/libavformat/matroskadec.c
+++ b/libavformat/matroskadec.c
@@ -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++){

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list