[FFmpeg-cvslog] avio: Add an internal utility function for freeing dynamic buffers
Martin Storsjö
git at videolan.org
Wed Feb 25 00:40:06 CET 2015
ffmpeg | branch: master | Martin Storsjö <martin at martin.st> | Tue Feb 24 13:23:30 2015 +0200| [8a273a746061a112e5e35066a8fd8e146d821a62] | committer: Martin Storsjö
avio: Add an internal utility function for freeing dynamic buffers
Signed-off-by: Martin Storsjö <martin at martin.st>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=8a273a746061a112e5e35066a8fd8e146d821a62
---
libavformat/avio_internal.h | 7 +++++++
libavformat/aviobuf.c | 10 ++++++++++
2 files changed, 17 insertions(+)
diff --git a/libavformat/avio_internal.h b/libavformat/avio_internal.h
index a8bcadd..f8c9c93 100644
--- a/libavformat/avio_internal.h
+++ b/libavformat/avio_internal.h
@@ -139,4 +139,11 @@ int ffio_open_null_buf(AVIOContext **s);
*/
int ffio_close_null_buf(AVIOContext *s);
+/**
+ * Free a dynamic buffer.
+ *
+ * @param s a pointer to an IO context opened by avio_open_dyn_buf()
+ */
+void ffio_free_dyn_buf(AVIOContext **s);
+
#endif /* AVFORMAT_AVIO_INTERNAL_H */
diff --git a/libavformat/aviobuf.c b/libavformat/aviobuf.c
index 5f848b2..8dc805a 100644
--- a/libavformat/aviobuf.c
+++ b/libavformat/aviobuf.c
@@ -991,6 +991,16 @@ int avio_close_dyn_buf(AVIOContext *s, uint8_t **pbuffer)
return size - padding;
}
+void ffio_free_dyn_buf(AVIOContext **s)
+{
+ uint8_t *tmp;
+ if (!*s)
+ return;
+ avio_close_dyn_buf(*s, &tmp);
+ av_free(tmp);
+ *s = NULL;
+}
+
static int null_buf_write(void *opaque, uint8_t *buf, int buf_size)
{
DynBuffer *d = opaque;
More information about the ffmpeg-cvslog
mailing list