Browse Source

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
tags/v0.5
Reimar Döffinger 18 years ago
parent
commit
1e0f346896
2 changed files with 22 additions and 0 deletions
  1. +8
    -0
      libavformat/avio.h
  2. +14
    -0
      libavformat/aviobuf.c

+ 8
- 0
libavformat/avio.h View File

@@ -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);


+ 14
- 0
libavformat/aviobuf.c View File

@@ -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) {


Loading…
Cancel
Save