]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/srtdec.c
Merge commit '0c0b87f12d48d4e7f0d3d13f9345e828a3a5ea32'
[ffmpeg] / libavcodec / srtdec.c
index 862ab476458757b36a6ef97393778c33234c5ab2..ecc080159546ba0a7e5278e54e842233cbad1f01 100644 (file)
@@ -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;