summaryrefslogtreecommitdiff
path: root/libavformat/aviobuf.c
diff options
context:
space:
mode:
Diffstat (limited to 'libavformat/aviobuf.c')
-rw-r--r--libavformat/aviobuf.c13
1 files changed, 3 insertions, 10 deletions
diff --git a/libavformat/aviobuf.c b/libavformat/aviobuf.c
index fa63ddf2b9..b5e9d4c61c 100644
--- a/libavformat/aviobuf.c
+++ b/libavformat/aviobuf.c
@@ -838,19 +838,12 @@ int ffio_fdopen(AVIOContext **s, URLContext *h)
if (!buffer)
return AVERROR(ENOMEM);
- *s = av_mallocz(sizeof(AVIOContext));
- if(!*s) {
+ *s = avio_alloc_context(buffer, buffer_size, h->flags & AVIO_FLAG_WRITE, h,
+ ffurl_read, ffurl_write, ffurl_seek);
+ if (!*s) {
av_free(buffer);
return AVERROR(ENOMEM);
}
-
- if (ffio_init_context(*s, buffer, buffer_size,
- h->flags & AVIO_FLAG_WRITE, h,
- ffurl_read, ffurl_write, ffurl_seek) < 0) {
- av_free(buffer);
- av_freep(s);
- return AVERROR(EIO);
- }
#if FF_API_OLD_AVIO
(*s)->is_streamed = h->is_streamed;
#endif