X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavcodec%2Fsrtdec.c;h=ecc080159546ba0a7e5278e54e842233cbad1f01;hb=276f035a4d0f0cbd88c0b67d0358d3d121202c5a;hp=862ab476458757b36a6ef97393778c33234c5ab2;hpb=2ea6310f4ae7509d7711fdb7cf86e80c189afa8b;p=ffmpeg diff --git a/libavcodec/srtdec.c b/libavcodec/srtdec.c index 862ab476458..ecc08015954 100644 --- a/libavcodec/srtdec.c +++ b/libavcodec/srtdec.c @@ -27,7 +27,7 @@ #include "ass.h" #include "htmlsubtitles.h" -static void srt_to_ass(AVCodecContext *avctx, AVBPrint *dst, +static int srt_to_ass(AVCodecContext *avctx, AVBPrint *dst, const char *in, int x1, int y1, int x2, int y2) { if (x1 >= 0 && y1 >= 0) { @@ -49,7 +49,7 @@ static void srt_to_ass(AVCodecContext *avctx, AVBPrint *dst, } } - ff_htmlmarkup_to_ass(avctx, dst, in); + return ff_htmlmarkup_to_ass(avctx, dst, in); } static int srt_decode_frame(AVCodecContext *avctx, @@ -74,8 +74,9 @@ static int srt_decode_frame(AVCodecContext *avctx, av_bprint_init(&buffer, 0, AV_BPRINT_SIZE_UNLIMITED); - srt_to_ass(avctx, &buffer, avpkt->data, x1, y1, x2, y2); - ret = ff_ass_add_rect(sub, buffer.str, s->readorder++, 0, NULL, NULL); + ret = srt_to_ass(avctx, &buffer, avpkt->data, x1, y1, x2, y2); + if (ret >= 0) + ret = ff_ass_add_rect(sub, buffer.str, s->readorder++, 0, NULL, NULL); av_bprint_finalize(&buffer, NULL); if (ret < 0) return ret;