[FFmpeg-devel] [PATCH] avio: make get_partial_buffer internal.

Anton Khirnov anton
Mon Feb 21 16:50:26 CET 2011


---
 libavformat/avio.h          |    9 +--------
 libavformat/avio_internal.h |    8 ++++++++
 libavformat/aviobuf.c       |    6 +++++-
 libavformat/rawdec.c        |    3 ++-
 4 files changed, 16 insertions(+), 10 deletions(-)

diff --git a/libavformat/avio.h b/libavformat/avio.h
index e4c2da4..a1e7449 100644
--- a/libavformat/avio.h
+++ b/libavformat/avio.h
@@ -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_partial_buffer(AVIOContext *s, unsigned char *buf, int size);
 attribute_deprecated int          get_byte(AVIOContext *s);
 attribute_deprecated unsigned int get_le16(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);
 
-/**
- * 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
     necessary */
 int avio_r8(AVIOContext *s);
diff --git a/libavformat/avio_internal.h b/libavformat/avio_internal.h
index 1cebcd7..1671537 100644
--- a/libavformat/avio_internal.h
+++ b/libavformat/avio_internal.h
@@ -32,4 +32,12 @@ int ffio_init_context(AVIOContext *s,
                   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
diff --git a/libavformat/aviobuf.c b/libavformat/aviobuf.c
index 2882550..fd14198 100644
--- a/libavformat/aviobuf.c
+++ b/libavformat/aviobuf.c
@@ -324,6 +324,10 @@ int get_buffer(AVIOContext *s, unsigned char *buf, int 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
 
 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;
 }
 
-int get_partial_buffer(AVIOContext *s, unsigned char *buf, int size)
+int ffio_read_partial(AVIOContext *s, unsigned char *buf, int size)
 {
     int len;
 
diff --git a/libavformat/rawdec.c b/libavformat/rawdec.c
index 4f830e3..1c2f121 100644
--- a/libavformat/rawdec.c
+++ b/libavformat/rawdec.c
@@ -21,6 +21,7 @@
  */
 
 #include "avformat.h"
+#include "avio_internal.h"
 #include "rawdec.h"
 
 /* raw input */
@@ -81,7 +82,7 @@ int ff_raw_read_partial_packet(AVFormatContext *s, AVPacket *pkt)
 
     pkt->pos= url_ftell(s->pb);
     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) {
         av_free_packet(pkt);
         return ret;
-- 
1.7.2.3




More information about the ffmpeg-devel mailing list