---
avprobe.c | 2 +-
libavformat/avidec.c | 4 ++--
libavformat/dashenc.c | 4 ++--
libavformat/flac_picture.c | 4 ++--
libavformat/hdsenc.c | 4 ++--
libavformat/mpjpegdec.c | 2 +-
libavformat/rdt.c | 2 +-
libavformat/segment.c | 10 +++++-----
libavformat/smoothstreamingenc.c | 4 ++--
libavformat/swfdec.c | 4 +++-
libavformat/tests/movenc.c | 2 +-
libavformat/wtv.c | 2 +-
12 files changed, 23 insertions(+), 21 deletions(-)
diff --git a/avprobe.c b/avprobe.c
index a24e644..613e090 100644
--- a/avprobe.c
+++ b/avprobe.c
@@ -1178,7 +1178,7 @@ int main(int argc, char **argv)
ret = probe_file(input_filename);
probe_footer();
avio_flush(probe_out);
- av_freep(&probe_out);
+ avio_context_free(&probe_out);
av_freep(&buffer);
uninit_opts();
avformat_network_deinit();
diff --git a/libavformat/avidec.c b/libavformat/avidec.c
index 0439c9c..701cccb 100644
--- a/libavformat/avidec.c
+++ b/libavformat/avidec.c
@@ -901,7 +901,7 @@ static int read_gab2_sub(AVStream *st, AVPacket *pkt)
return 1;
error:
- av_freep(&pb);
+ avio_context_free(&pb);
}
return 0;
}
@@ -1576,7 +1576,7 @@ static int avi_read_close(AVFormatContext *s)
AVIStream *ast = st->priv_data;
if (ast) {
if (ast->sub_ctx) {
- av_freep(&ast->sub_ctx->pb);
+ avio_context_free(&ast->sub_ctx->pb);
avformat_close_input(&ast->sub_ctx);
}
av_free(ast->sub_buffer);
diff --git a/libavformat/dashenc.c b/libavformat/dashenc.c
index ce01860..3c2a3eb 100644
--- a/libavformat/dashenc.c
+++ b/libavformat/dashenc.c
@@ -180,8 +180,8 @@ static void dash_free(AVFormatContext *s)
OutputStream *os = &c->streams[i];
if (os->ctx && os->ctx_inited)
av_write_trailer(os->ctx);
- if (os->ctx && os->ctx->pb)
- av_free(os->ctx->pb);
+ if (os->ctx)
+ avio_context_free(&os->ctx->pb);
ff_format_io_close(s, &os->out);
if (os->ctx)
avformat_free_context(os->ctx);
diff --git a/libavformat/flac_picture.c b/libavformat/flac_picture.c
index 1381a28..fd0bb02 100644
--- a/libavformat/flac_picture.c
+++ b/libavformat/flac_picture.c
@@ -139,14 +139,14 @@ int ff_flac_parse_picture(AVFormatContext *s, uint8_t
*buf, int buf_size)
if (desc)
av_dict_set(&st->metadata, "title", desc, AV_DICT_DONT_STRDUP_VAL);
- av_freep(&pb);
+ avio_context_free(&pb);
return 0;
fail:
av_buffer_unref(&data);
av_freep(&desc);
- av_freep(&pb);
+ avio_context_free(&pb);
return ret;
}
diff --git a/libavformat/hdsenc.c b/libavformat/hdsenc.c
index e32c365..a608e7e 100644
--- a/libavformat/hdsenc.c
+++ b/libavformat/hdsenc.c
@@ -143,8 +143,8 @@ static void hds_free(AVFormatContext *s)
ff_format_io_close(s, &os->out);
if (os->ctx && os->ctx_inited)
av_write_trailer(os->ctx);
- if (os->ctx && os->ctx->pb)
- av_free(os->ctx->pb);
+ if (os->ctx)
+ avio_context_free(&os->ctx->pb);
if (os->ctx)
avformat_free_context(os->ctx);
av_free(os->metadata);
diff --git a/libavformat/mpjpegdec.c b/libavformat/mpjpegdec.c
index 886bdfc..844aa87 100644
--- a/libavformat/mpjpegdec.c
+++ b/libavformat/mpjpegdec.c
@@ -102,7 +102,7 @@ static int mpjpeg_read_probe(AVProbeData *p)
}
}
- av_free(pb);
+ avio_context_free(&pb);
return ret;
}
diff --git a/libavformat/rdt.c b/libavformat/rdt.c
index da5ff59..94356e4 100644
--- a/libavformat/rdt.c
+++ b/libavformat/rdt.c
@@ -324,7 +324,7 @@ get_cache:
st, rdt->rmst[st->index], pkt);
if (rdt->audio_pkt_cnt == 0 &&
st->codecpar->codec_id == AV_CODEC_ID_AAC)
- av_freep(&rdt->rmctx->pb);
+ avio_context_free(&rdt->rmctx->pb);
}
pkt->stream_index = st->index;
pkt->pts = *timestamp;
diff --git a/libavformat/segment.c b/libavformat/segment.c
index fd68a9f..7d23afc 100644
--- a/libavformat/segment.c
+++ b/libavformat/segment.c
@@ -184,10 +184,10 @@ static int open_null_ctx(AVIOContext **ctx)
return 0;
}
-static void close_null_ctx(AVIOContext *pb)
+static void close_null_ctx(AVIOContext **pb)
{
- av_free(pb->buffer);
- av_free(pb);
+ av_free((*pb)->buffer);
+ avio_context_free(pb);
}
static void seg_free_context(SegmentContext *seg)
@@ -259,7 +259,7 @@ static int seg_write_header(AVFormatContext *s)
}
if (!seg->write_header_trailer) {
- close_null_ctx(oc->pb);
+ close_null_ctx(&oc->pb);
if ((ret = s->io_open(s, &oc->pb, oc->filename, AVIO_FLAG_WRITE,
NULL)) < 0)
goto fail;
}
@@ -353,7 +353,7 @@ static int seg_write_trailer(struct AVFormatContext *s)
if ((ret = open_null_ctx(&oc->pb)) < 0)
goto fail;
ret = av_write_trailer(oc);
- close_null_ctx(oc->pb);
+ close_null_ctx(&oc->pb);
} else {
ret = segment_end(oc, 1);
}
diff --git a/libavformat/smoothstreamingenc.c b/libavformat/smoothstreamingenc.c
index 065ecc2..997b9e6 100644
--- a/libavformat/smoothstreamingenc.c
+++ b/libavformat/smoothstreamingenc.c
@@ -187,8 +187,8 @@ static void ism_free(AVFormatContext *s)
os->out = os->out2 = os->tail_out = NULL;
if (os->ctx && os->ctx_inited)
av_write_trailer(os->ctx);
- if (os->ctx && os->ctx->pb)
- av_free(os->ctx->pb);
+ if (os->ctx)
+ avio_context_free(&os->ctx->pb);
if (os->ctx)
avformat_free_context(os->ctx);
av_free(os->private_str);
diff --git a/libavformat/swfdec.c b/libavformat/swfdec.c
index 7bb67de..984fedf 100644
--- a/libavformat/swfdec.c
+++ b/libavformat/swfdec.c
@@ -310,7 +310,9 @@ static av_cold int swf_read_close(AVFormatContext *avctx)
inflateEnd(&s->zstream);
av_freep(&s->zbuf_in);
av_freep(&s->zbuf_out);
- av_freep(&s->zpb);
+
+ avio_context_free(&s->zpb);
+
return 0;
}
#endif
diff --git a/libavformat/tests/movenc.c b/libavformat/tests/movenc.c
index 05432eb..583a8d9 100644
--- a/libavformat/tests/movenc.c
+++ b/libavformat/tests/movenc.c
@@ -338,7 +338,7 @@ static void signal_init_ts(void)
static void finish(void)
{
av_write_trailer(ctx);
- av_free(ctx->pb);
+ avio_context_free(&ctx->pb);
avformat_free_context(ctx);
ctx = NULL;
}
diff --git a/libavformat/wtv.c b/libavformat/wtv.c
index 2cab4e5..794dd4b 100644
--- a/libavformat/wtv.c
+++ b/libavformat/wtv.c
@@ -313,7 +313,7 @@ static void wtvfile_close(AVIOContext *pb)
av_free(wf->sectors);
av_free(wf);
av_free(pb->buffer);
- av_free(pb);
+ avio_context_free(&pb);
}
/*
--
2.0.0
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel