From 72fe16a13e3ebd5396ac173bf84c8b20085c16d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Storsj=C3=B6?= Date: Wed, 18 Sep 2013 22:02:17 +0300 Subject: [PATCH] movenc: Use null buffers for measuring the amount of data to be written MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Martin Storsjö --- libavformat/movenc.c | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/libavformat/movenc.c b/libavformat/movenc.c index 7d634ad853..dbff36906b 100644 --- a/libavformat/movenc.c +++ b/libavformat/movenc.c @@ -2443,13 +2443,11 @@ static int mov_write_moof_tag(AVIOContext *pb, MOVMuxContext *mov, int tracks) { AVIOContext *avio_buf; int ret, moof_size; - uint8_t *buf; - if ((ret = avio_open_dyn_buf(&avio_buf)) < 0) + if ((ret = ffio_open_null_buf(&avio_buf)) < 0) return ret; mov_write_moof_tag_internal(avio_buf, mov, tracks, 0); - moof_size = avio_close_dyn_buf(avio_buf, &buf); - av_free(buf); + moof_size = ffio_close_null_buf(avio_buf); return mov_write_moof_tag_internal(pb, mov, tracks, moof_size); } @@ -2738,11 +2736,10 @@ static int mov_flush_fragment(AVFormatContext *s) if (i < mov->nb_streams) return 0; - if ((ret = avio_open_dyn_buf(&moov_buf)) < 0) + if ((ret = ffio_open_null_buf(&moov_buf)) < 0) return ret; mov_write_moov_tag(moov_buf, mov, s); - buf_size = avio_close_dyn_buf(moov_buf, &buf); - av_free(buf); + buf_size = ffio_close_null_buf(moov_buf); for (i = 0; i < mov->nb_streams; i++) mov->tracks[i].data_offset = pos + buf_size + 8; @@ -3348,16 +3345,13 @@ static int mov_write_header(AVFormatContext *s) static int get_moov_size(AVFormatContext *s) { int ret; - uint8_t *buf; AVIOContext *moov_buf; MOVMuxContext *mov = s->priv_data; - if ((ret = avio_open_dyn_buf(&moov_buf)) < 0) + if ((ret = ffio_open_null_buf(&moov_buf)) < 0) return ret; mov_write_moov_tag(moov_buf, mov, s); - ret = avio_close_dyn_buf(moov_buf, &buf); - av_free(buf); - return ret; + return ffio_close_null_buf(moov_buf); } /*