aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorClément Bœsch <u@pkh.me>2014-09-21 18:36:11 +0200
committerClément Bœsch <u@pkh.me>2014-09-21 18:41:45 +0200
commitd210c0e777c181f3954582703c95e85d885d68c1 (patch)
treeadd367051a8b879c5849bce926c4463d47e0b1ea
parentdcdc1cbf4321071b933e14d59afc518321d2450a (diff)
downloadffmpeg-d210c0e777c181f3954582703c95e85d885d68c1.tar.gz
avcodec/ass: add ff_ass_add_rect_bprint() helper
-rw-r--r--libavcodec/ass.c8
-rw-r--r--libavcodec/ass.h7
2 files changed, 15 insertions, 0 deletions
diff --git a/libavcodec/ass.c b/libavcodec/ass.c
index a5b5ae5fb2..ba0593c936 100644
--- a/libavcodec/ass.c
+++ b/libavcodec/ass.c
@@ -151,6 +151,14 @@ err:
return ret;
}
+int ff_ass_add_rect_bprint(AVSubtitle *sub, const AVBPrint *buf,
+ int ts_start, int duration, int raw)
+{
+ if (!av_bprint_is_complete(buf))
+ return AVERROR(ENOMEM);
+ return ff_ass_add_rect(sub, buf->str, ts_start, duration, raw);
+}
+
void ff_ass_bprint_text_event(AVBPrint *buf, const char *p, int size,
const char *linebreaks, int keep_ass_markup)
{
diff --git a/libavcodec/ass.h b/libavcodec/ass.h
index 2df38e6efa..5ed947ad9e 100644
--- a/libavcodec/ass.h
+++ b/libavcodec/ass.h
@@ -92,6 +92,13 @@ int ff_ass_add_rect(AVSubtitle *sub, const char *dialog,
int ts_start, int duration, int raw);
/**
+ * Same as ff_ass_add_rect_bprint, but taking an AVBPrint buffer instead of a
+ * string.
+ */
+int ff_ass_add_rect_bprint(AVSubtitle *sub, const AVBPrint *buf,
+ int ts_start, int duration, int raw);
+
+/**
* Add an ASS dialog line to an AVBPrint buffer.
*
* @param buf pointer to an initialized AVBPrint buffer