summaryrefslogtreecommitdiffstats
path: root/stream/stream.h
diff options
context:
space:
mode:
authorUoti Urpala <uau@glyph.nonexistent.invalid>2011-02-25 18:10:00 +0200
committerUoti Urpala <uau@glyph.nonexistent.invalid>2011-03-03 21:39:24 +0200
commit4c117849b343109666c7a25b6fa815ce63d0175f (patch)
treed890c23070556c804304435bf55a7f32cc15dd0d /stream/stream.h
parent5e0a163886f825983c5bfcd4181e6498b0f3e0f2 (diff)
downloadmpv-4c117849b343109666c7a25b6fa815ce63d0175f.tar.bz2
mpv-4c117849b343109666c7a25b6fa815ce63d0175f.tar.xz
stream.[ch], ass_mp: new stream function for whole-file reads
Add new stream_read_complete() function which reads the complete contents of file. Use that in ass_mp.c which had custom code to do the same.
Diffstat (limited to 'stream/stream.h')
-rw-r--r--stream/stream.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/stream/stream.h b/stream/stream.h
index 413e80ad91..94bfb0e343 100644
--- a/stream/stream.h
+++ b/stream/stream.h
@@ -28,6 +28,8 @@
#include <sys/types.h>
#include <fcntl.h>
+#include "bstr.h"
+
#ifndef O_BINARY
#define O_BINARY 0
#endif
@@ -331,6 +333,14 @@ inline static int stream_skip(stream_t *s,off_t len){
}
struct MPOpts;
+/*
+ * Return allocated buffer for all data until EOF.
+ * If amount of data would be more than max_size return NULL as data ptr.
+ * Make the allocated buffer padding_bytes larger than the data read.
+ * Write number of bytes read at *amount_read.
+ */
+struct bstr stream_read_complete(struct stream *s, void *talloc_ctx,
+ int max_size, int padding_bytes);
void stream_reset(stream_t *s);
int stream_control(stream_t *s, int cmd, void *arg);
stream_t* new_stream(int fd,int type);