OSDN Git Service

lavc/srtenc: do not emit any subrip tags with text codec
authorClément Bœsch <u@pkh.me>
Sun, 1 May 2016 13:16:34 +0000 (15:16 +0200)
committerClément Bœsch <u@pkh.me>
Sun, 1 May 2016 13:16:50 +0000 (15:16 +0200)
Fixes presence of opening tags when running
  ffmpeg -i x.ass -c text x.srt

Reported-by: Jean First <jeanfirst@gmail.com>
libavcodec/srtenc.c

index 5143984..34f0f0d 100644 (file)
@@ -250,7 +250,8 @@ static int encode_frame(AVCodecContext *avctx,
             dialog = ff_ass_split_dialog(s->ass_ctx, ass, 0, &num);
             for (; dialog && num--; dialog++) {
                 s->alignment_applied = 0;
-                srt_style_apply(s, dialog->style);
+                if (avctx->codec_id == AV_CODEC_ID_SUBRIP)
+                    srt_style_apply(s, dialog->style);
                 ff_ass_split_override_codes(cb, s, dialog->text);
             }
         } else {
@@ -259,7 +260,8 @@ static int encode_frame(AVCodecContext *avctx,
             if (!dialog)
                 return AVERROR(ENOMEM);
             s->alignment_applied = 0;
-            srt_style_apply(s, dialog->style);
+            if (avctx->codec_id == AV_CODEC_ID_SUBRIP)
+                srt_style_apply(s, dialog->style);
             ff_ass_split_override_codes(cb, s, dialog->text);
             ff_ass_free_dialog(&dialog);
 #if FF_API_ASS_TIMING