From 1e0f346896841598ee18f0145d86c2f352ee8ed8 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Reimar=20D=C3=B6ffinger?= Date: Sat, 22 Dec 2007 16:18:07 +0000 Subject: [PATCH] Add a av_alloc_put_byte function. The name is in analogy to init_put_byte, but I would not mind it being changed to something better. Originally committed as revision 11305 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavformat/avio.h | 8 ++++++++ libavformat/aviobuf.c | 14 ++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/libavformat/avio.h b/libavformat/avio.h index 0957d9d..9443cb0 100644 --- a/libavformat/avio.h +++ b/libavformat/avio.h @@ -181,6 +181,14 @@ int init_put_byte(ByteIOContext *s, int (*read_packet)(void *opaque, uint8_t *buf, int buf_size), int (*write_packet)(void *opaque, uint8_t *buf, int buf_size), offset_t (*seek)(void *opaque, offset_t offset, int whence)); +ByteIOContext *av_alloc_put_byte( + unsigned char *buffer, + int buffer_size, + int write_flag, + void *opaque, + int (*read_packet)(void *opaque, uint8_t *buf, int buf_size), + int (*write_packet)(void *opaque, uint8_t *buf, int buf_size), + offset_t (*seek)(void *opaque, offset_t offset, int whence)); void put_byte(ByteIOContext *s, int b); void put_buffer(ByteIOContext *s, const unsigned char *buf, int size); diff --git a/libavformat/aviobuf.c b/libavformat/aviobuf.c index 45248a9..5070031 100644 --- a/libavformat/aviobuf.c +++ b/libavformat/aviobuf.c @@ -60,6 +60,20 @@ int init_put_byte(ByteIOContext *s, return 0; } +ByteIOContext *av_alloc_put_byte( + unsigned char *buffer, + int buffer_size, + int write_flag, + void *opaque, + int (*read_packet)(void *opaque, uint8_t *buf, int buf_size), + int (*write_packet)(void *opaque, uint8_t *buf, int buf_size), + offset_t (*seek)(void *opaque, offset_t offset, int whence)) { + ByteIOContext *s = av_mallocz(sizeof(ByteIOContext)); + init_put_byte(s, buffer, buffer_size, write_flag, opaque, + read_packet, write_packet, seek); + return s; +} + static void flush_buffer(ByteIOContext *s) { if (s->buf_ptr > s->buffer) { -- 2.7.4