lavf/matroskaenc: List subtitle codecs with fake codec_tags to allow remuxing.
authorCarl Eugen Hoyos <cehoyos@ag.or.at>
Mon, 23 Mar 2015 23:04:43 +0000 (00:04 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Fri, 15 May 2015 08:04:52 +0000 (10:04 +0200)
Fixes remuxing of DVBSUB to mkv.

libavformat/matroskaenc.c

index 1dfc5a8..66b4555 100644 (file)
@@ -2006,6 +2006,12 @@ static const AVCodecTag additional_video_tags[] = {
     { AV_CODEC_ID_NONE,      0xFFFFFFFF }
 };
 
+static const AVCodecTag additional_subtitle_tags[] = {
+    { AV_CODEC_ID_DVB_SUBTITLE,      0xFFFFFFFF },
+    { AV_CODEC_ID_HDMV_PGS_SUBTITLE, 0xFFFFFFFF },
+    { AV_CODEC_ID_NONE,              0xFFFFFFFF }
+};
+
 #define OFFSET(x) offsetof(MatroskaMuxContext, x)
 #define FLAGS AV_OPT_FLAG_ENCODING_PARAM
 static const AVOption options[] = {
@@ -2043,7 +2049,7 @@ AVOutputFormat ff_matroska_muxer = {
                          AVFMT_TS_NONSTRICT | AVFMT_ALLOW_FLUSH,
     .codec_tag         = (const AVCodecTag* const []){
          ff_codec_bmp_tags, ff_codec_wav_tags,
-         additional_audio_tags, additional_video_tags, 0
+         additional_audio_tags, additional_video_tags, additional_subtitle_tags, 0
     },
     .subtitle_codec    = AV_CODEC_ID_ASS,
     .query_codec       = mkv_query_codec,