X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavcodec%2Fass.c;h=6f1719bc5e69c1ae8d55d19383ff38534794bcf3;hb=5a9fa84585e93a70bf586cf959065f61fa949949;hp=8c94d724ebe12f9e8090edf5b2c74731f2f8dac3;hpb=653d117c29123d353ce3bdd7de71e830a26733c1;p=ffmpeg diff --git a/libavcodec/ass.c b/libavcodec/ass.c index 8c94d724ebe..6f1719bc5e6 100644 --- a/libavcodec/ass.c +++ b/libavcodec/ass.c @@ -1,5 +1,5 @@ /* - * SSA/ASS common funtions + * SSA/ASS common functions * Copyright (c) 2010 Aurelien Jacobs * * This file is part of FFmpeg. @@ -38,7 +38,7 @@ int ff_ass_subtitle_header(AVCodecContext *avctx, "Style: Default,%s,%d,&H%x,&H%x,&H%x,&H%x,%d,%d,%d,1,1,0,%d,10,10,10,0,0\r\n" "\r\n" "[Events]\r\n" - "Format: Layer, Start, End, Text\r\n", + "Format: Layer, Start, End, Style, Text\r\n", font, font_size, color, color, back_color, back_color, -bold, -italic, -underline, alignment); @@ -70,16 +70,19 @@ static int ts_to_string(char *str, int strlen, int ts) } int ff_ass_add_rect(AVSubtitle *sub, const char *dialog, - int ts_start, int ts_end, int raw) + int ts_start, int duration, int raw) { - int len = 0, dlen, duration = ts_end - ts_start; + int len = 0, dlen; char s_start[16], s_end[16], header[48] = {0}; AVSubtitleRect **rects; if (!raw) { ts_to_string(s_start, sizeof(s_start), ts_start); - ts_to_string(s_end, sizeof(s_end), ts_end ); - len = snprintf(header, sizeof(header), "Dialogue: 0,%s,%s,", + if (duration == -1) + snprintf(s_end, sizeof(s_end), "9:59:59.99"); + else + ts_to_string(s_end, sizeof(s_end), ts_start + duration); + len = snprintf(header, sizeof(header), "Dialogue: 0,%s,%s,Default,", s_start, s_end); }