[FFmpeg-cvslog] lavu/bprint: add append buffer function

Lukasz Marek git at videolan.org
Fri Aug 30 22:49:13 CEST 2013


ffmpeg | branch: master | Lukasz Marek <lukasz.m.luki at gmail.com> | Fri Aug 23 23:21:50 2013 +0200| [0b46d6f3efa7c647a42d3e77d09c274f611b752b] | committer: Michael Niedermayer

lavu/bprint: add append buffer function

Signed-off-by: Lukasz Marek <lukasz.m.luki at gmail.com>
Reveiwed-by: Nicolas George <nicolas.george at normalesup.org>
Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=0b46d6f3efa7c647a42d3e77d09c274f611b752b
---

 libavutil/bprint.c  |   18 ++++++++++++++++++
 libavutil/bprint.h  |    9 +++++++++
 libavutil/version.h |    2 +-
 3 files changed, 28 insertions(+), 1 deletion(-)

diff --git a/libavutil/bprint.c b/libavutil/bprint.c
index cd91bc4..7786e3b 100644
--- a/libavutil/bprint.c
+++ b/libavutil/bprint.c
@@ -155,6 +155,24 @@ void av_bprint_chars(AVBPrint *buf, char c, unsigned n)
     av_bprint_grow(buf, n);
 }
 
+void av_bprint_append_data(AVBPrint *buf, const char *data, unsigned size)
+{
+    unsigned room, real_n;
+
+    while (1) {
+        room = av_bprint_room(buf);
+        if (size < room)
+            break;
+        if (av_bprint_alloc(buf, size))
+            break;
+    }
+    if (room) {
+        real_n = FFMIN(size, room - 1);
+        memcpy(buf->str + buf->len, data, real_n);
+    }
+    av_bprint_grow(buf, size);
+}
+
 void av_bprint_strftime(AVBPrint *buf, const char *fmt, const struct tm *tm)
 {
     unsigned room;
diff --git a/libavutil/bprint.h b/libavutil/bprint.h
index bb1de25..839ec1e 100644
--- a/libavutil/bprint.h
+++ b/libavutil/bprint.h
@@ -133,6 +133,15 @@ void av_vbprintf(AVBPrint *buf, const char *fmt, va_list vl_arg);
  */
 void av_bprint_chars(AVBPrint *buf, char c, unsigned n);
 
+/**
+ * Append data to a print buffer.
+ *
+ * param buf  bprint buffer to use
+ * param data pointer to data
+ * param size size of data
+ */
+void av_bprint_append_data(AVBPrint *buf, const char *data, unsigned size);
+
 struct tm;
 /**
  * Append a formatted date and time to a print buffer.
diff --git a/libavutil/version.h b/libavutil/version.h
index e522b79..7aec9c0 100644
--- a/libavutil/version.h
+++ b/libavutil/version.h
@@ -75,7 +75,7 @@
  */
 
 #define LIBAVUTIL_VERSION_MAJOR  52
-#define LIBAVUTIL_VERSION_MINOR  42
+#define LIBAVUTIL_VERSION_MINOR  43
 #define LIBAVUTIL_VERSION_MICRO 100
 
 #define LIBAVUTIL_VERSION_INT   AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \



More information about the ffmpeg-cvslog mailing list