mirror of
https://gitee.com/openharmony/third_party_ffmpeg
synced 2024-11-27 21:20:41 +00:00
avio: Introduce avio_read_to_bprint(avioctx, bp, max_size)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
parent
01b236b704
commit
8a4c0866dc
@ -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()
|
||||
|
||||
|
@ -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 */
|
||||
|
@ -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 {
|
||||
|
@ -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…
Reference in New Issue
Block a user