Browse Source

avio: Introduce avio_read_to_bprint(avioctx, bp, max_size)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
tags/n2.4
Andrey Utkin Michael Niedermayer 11 years ago
parent
commit
8a4c0866dc
4 changed files with 32 additions and 2 deletions
  1. +3
    -0
      doc/APIchanges
  2. +9
    -0
      libavformat/avio.h
  3. +18
    -0
      libavformat/aviobuf.c
  4. +2
    -2
      libavformat/version.h

+ 3
- 0
doc/APIchanges View File

@@ -15,6 +15,9 @@ libavutil: 2012-10-22

API changes, most recent first:

2014-07-23 - XXXXXXX - lavf 55.49.100 - avio.h
Add avio_read_to_bprint()

2014-07-14 - 62227a7 - lavf 55.47.100 - avformat.h
Add av_stream_get_parser()



+ 9
- 0
libavformat/avio.h View File

@@ -31,6 +31,7 @@
#include "libavutil/common.h"
#include "libavutil/dict.h"
#include "libavutil/log.h"
#include "libavutil/bprint.h"

#include "libavformat/version.h"

@@ -500,4 +501,12 @@ int avio_pause(AVIOContext *h, int pause);
int64_t avio_seek_time(AVIOContext *h, int stream_index,
int64_t timestamp, int flags);

/**
* Read contents of h into print buffer, up to max_size bytes, or up to EOF.
*
* @return 0 for success (max_size bytes read or EOF reached), negative error
* code otherwise
*/
int avio_read_to_bprint(AVIOContext *h, AVBPrint *pb, size_t max_size);

#endif /* AVFORMAT_AVIO_H */

+ 18
- 0
libavformat/aviobuf.c View File

@@ -953,6 +953,24 @@ int64_t avio_seek_time(AVIOContext *s, int stream_index,
return ret;
}

int avio_read_to_bprint(AVIOContext *h, AVBPrint *pb, size_t max_size)
{
int ret;
char buf[1024];
while (max_size) {
ret = avio_read(h, buf, FFMIN(max_size, sizeof(buf)));
if (ret == AVERROR_EOF)
return 0;
if (ret <= 0)
return ret;
av_bprint_append_data(pb, buf, ret);
if (!av_bprint_is_complete(pb))
return AVERROR(ENOMEM);
max_size -= ret;
}
return 0;
}

/* output in a dynamic buffer */

typedef struct DynBuffer {


+ 2
- 2
libavformat/version.h View File

@@ -30,8 +30,8 @@
#include "libavutil/version.h"

#define LIBAVFORMAT_VERSION_MAJOR 55
#define LIBAVFORMAT_VERSION_MINOR 48
#define LIBAVFORMAT_VERSION_MICRO 101
#define LIBAVFORMAT_VERSION_MINOR 49
#define LIBAVFORMAT_VERSION_MICRO 100

#define LIBAVFORMAT_VERSION_INT AV_VERSION_INT(LIBAVFORMAT_VERSION_MAJOR, \
LIBAVFORMAT_VERSION_MINOR, \


Loading…
Cancel
Save