Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit b3db9ceef1)
tags/n0.8
| @@ -385,6 +385,7 @@ attribute_deprecated AVIOContext *av_alloc_put_byte( | |||||
| * @{ | * @{ | ||||
| */ | */ | ||||
| attribute_deprecated int get_buffer(AVIOContext *s, unsigned char *buf, int size); | attribute_deprecated int get_buffer(AVIOContext *s, unsigned char *buf, int size); | ||||
| attribute_deprecated int get_partial_buffer(AVIOContext *s, unsigned char *buf, int size); | |||||
| attribute_deprecated int get_byte(AVIOContext *s); | attribute_deprecated int get_byte(AVIOContext *s); | ||||
| attribute_deprecated unsigned int get_le16(AVIOContext *s); | attribute_deprecated unsigned int get_le16(AVIOContext *s); | ||||
| attribute_deprecated unsigned int get_le24(AVIOContext *s); | attribute_deprecated unsigned int get_le24(AVIOContext *s); | ||||
| @@ -498,14 +499,6 @@ void put_flush_packet(AVIOContext *s); | |||||
| */ | */ | ||||
| int avio_read(AVIOContext *s, unsigned char *buf, int size); | int avio_read(AVIOContext *s, unsigned char *buf, int size); | ||||
| /** | |||||
| * Read size bytes from AVIOContext into buf. | |||||
| * This reads at most 1 packet. If that is not enough fewer bytes will be | |||||
| * returned. | |||||
| * @return number of bytes read or AVERROR | |||||
| */ | |||||
| int get_partial_buffer(AVIOContext *s, unsigned char *buf, int size); | |||||
| /** @note return 0 if EOF, so you cannot use it if EOF handling is | /** @note return 0 if EOF, so you cannot use it if EOF handling is | ||||
| necessary */ | necessary */ | ||||
| int avio_r8 (AVIOContext *s); | int avio_r8 (AVIOContext *s); | ||||
| @@ -32,4 +32,12 @@ int ffio_init_context(AVIOContext *s, | |||||
| int64_t (*seek)(void *opaque, int64_t offset, int whence)); | int64_t (*seek)(void *opaque, int64_t offset, int whence)); | ||||
| /** | |||||
| * Read size bytes from AVIOContext into buf. | |||||
| * This reads at most 1 packet. If that is not enough fewer bytes will be | |||||
| * returned. | |||||
| * @return number of bytes read or AVERROR | |||||
| */ | |||||
| int ffio_read_partial(AVIOContext *s, unsigned char *buf, int size); | |||||
| #endif // AVFORMAT_AVIO_INTERNAL_H | #endif // AVFORMAT_AVIO_INTERNAL_H | ||||
| @@ -324,6 +324,10 @@ int get_buffer(AVIOContext *s, unsigned char *buf, int size) | |||||
| { | { | ||||
| return avio_read(s, buf, size); | return avio_read(s, buf, size); | ||||
| } | } | ||||
| int get_partial_buffer(AVIOContext *s, unsigned char *buf, int size) | |||||
| { | |||||
| return ffio_read_partial(s, buf, size); | |||||
| } | |||||
| #endif | #endif | ||||
| int avio_put_str(AVIOContext *s, const char *str) | int avio_put_str(AVIOContext *s, const char *str) | ||||
| @@ -548,7 +552,7 @@ int avio_read(AVIOContext *s, unsigned char *buf, int size) | |||||
| return size1 - size; | return size1 - size; | ||||
| } | } | ||||
| int get_partial_buffer(AVIOContext *s, unsigned char *buf, int size) | |||||
| int ffio_read_partial(AVIOContext *s, unsigned char *buf, int size) | |||||
| { | { | ||||
| int len; | int len; | ||||
| @@ -21,6 +21,7 @@ | |||||
| */ | */ | ||||
| #include "avformat.h" | #include "avformat.h" | ||||
| #include "avio_internal.h" | |||||
| #include "rawdec.h" | #include "rawdec.h" | ||||
| /* raw input */ | /* raw input */ | ||||
| @@ -81,7 +82,7 @@ int ff_raw_read_partial_packet(AVFormatContext *s, AVPacket *pkt) | |||||
| pkt->pos= url_ftell(s->pb); | pkt->pos= url_ftell(s->pb); | ||||
| pkt->stream_index = 0; | pkt->stream_index = 0; | ||||
| ret = get_partial_buffer(s->pb, pkt->data, size); | |||||
| ret = ffio_read_partial(s->pb, pkt->data, size); | |||||
| if (ret < 0) { | if (ret < 0) { | ||||
| av_free_packet(pkt); | av_free_packet(pkt); | ||||
| return ret; | return ret; | ||||