Signed-off-by: Martin Storsjö <martin@martin.st>
*/
int ffio_close_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 */
#endif /* AVFORMAT_AVIO_INTERNAL_H */
+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;
static int null_buf_write(void *opaque, uint8_t *buf, int buf_size)
{
DynBuffer *d = opaque;