From 8bea72f7ebcb57ab929657ff5e2dcd1f6f28f222 Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Sun, 3 Apr 2011 22:55:31 +0200 Subject: avio: simplify url_open_dyn_buf_internal by using avio_alloc_context() --- libavformat/aviobuf.c | 20 ++++++-------------- 1 file changed, 6 insertions(+), 14 deletions(-) (limited to 'libavformat/aviobuf.c') diff --git a/libavformat/aviobuf.c b/libavformat/aviobuf.c index ad969ae72e..d126fa8b0f 100644 --- a/libavformat/aviobuf.c +++ b/libavformat/aviobuf.c @@ -1136,7 +1136,6 @@ static int64_t dyn_buf_seek(void *opaque, int64_t offset, int whence) static int url_open_dyn_buf_internal(AVIOContext **s, int max_packet_size) { DynBuffer *d; - int ret; unsigned io_buffer_size = max_packet_size ? max_packet_size : 1024; if(sizeof(DynBuffer) + io_buffer_size < io_buffer_size) @@ -1144,23 +1143,16 @@ static int url_open_dyn_buf_internal(AVIOContext **s, int max_packet_size) d = av_mallocz(sizeof(DynBuffer) + io_buffer_size); if (!d) return AVERROR(ENOMEM); - *s = av_mallocz(sizeof(AVIOContext)); + d->io_buffer_size = io_buffer_size; + *s = avio_alloc_context(d->io_buffer, d->io_buffer_size, 1, d, NULL, + max_packet_size ? dyn_packet_buf_write : dyn_buf_write, + max_packet_size ? NULL : dyn_buf_seek); if(!*s) { av_free(d); return AVERROR(ENOMEM); } - d->io_buffer_size = io_buffer_size; - ret = ffio_init_context(*s, d->io_buffer, io_buffer_size, - 1, d, NULL, - max_packet_size ? dyn_packet_buf_write : dyn_buf_write, - max_packet_size ? NULL : dyn_buf_seek); - if (ret == 0) { - (*s)->max_packet_size = max_packet_size; - } else { - av_free(d); - av_freep(s); - } - return ret; + (*s)->max_packet_size = max_packet_size; + return 0; } int avio_open_dyn_buf(AVIOContext **s) -- cgit v1.2.3