summaryrefslogtreecommitdiffstats
path: root/stream/stream.h
diff options
context:
space:
mode:
authorUoti Urpala <uau@mplayer2.org>2012-11-17 19:12:13 +0200
committerwm4 <wm4@nowhere>2012-12-03 21:08:51 +0100
commit2d58234c86e59298de52fec12d1eb59086d68763 (patch)
treed11ec050f30e1fa47cbf30475e6d84adf8080468 /stream/stream.h
parentc082240c62cb8855e55c0dbe88b8591458599ce9 (diff)
downloadmpv-2d58234c86e59298de52fec12d1eb59086d68763.tar.bz2
mpv-2d58234c86e59298de52fec12d1eb59086d68763.tar.xz
cache: refactor how cache enabling is done
Code enabling the cache by default for network streams did that by modifying the value of the "cache" option. This wasn't sane, as multiple streams may be created and all share the same options. Change the code to not modify options but store data in the stream instance instead. Conflicts: core/mplayer.c demux/demux.c stream/cache2.c stream/network.c stream/network.h stream/pnm.c stream/stream.c stream/stream_rtp.c Merged from mplayer2 commit e26070. Note that this doesn't solve any actual bug, as the playlist crashing bug has been fixed before. Since the global cache size option value is not overwritten anymore, the option doesn't need to be restored on end of playback (M_OPT_LOCAL).
Diffstat (limited to 'stream/stream.h')
-rw-r--r--stream/stream.h7
1 files changed, 3 insertions, 4 deletions
diff --git a/stream/stream.h b/stream/stream.h
index 28557e8c6e..dd092ddaec 100644
--- a/stream/stream.h
+++ b/stream/stream.h
@@ -22,6 +22,7 @@
#include "config.h"
#include "core/mp_msg.h"
#include "url.h"
+#include <stdbool.h>
#include <stdio.h>
#include <string.h>
#include <inttypes.h>
@@ -166,15 +167,15 @@ typedef struct stream {
int64_t pos,start_pos,end_pos;
int eof;
int mode; //STREAM_READ or STREAM_WRITE
+ int cache_size; // cache size to use if enabled
+ bool cached;
unsigned int cache_pid;
void* cache_data;
void* priv; // used for DVD, TV, RTSP etc
char* url; // strdup() of filename/url
char *lavf_type; // name of expected demuxer type for lavf
struct MPOpts *opts;
-#ifdef CONFIG_NETWORKING
streaming_ctrl_t *streaming_ctrl;
-#endif
unsigned char buffer[STREAM_BUFFER_SIZE>STREAM_MAX_SECTOR_SIZE?STREAM_BUFFER_SIZE:STREAM_MAX_SECTOR_SIZE];
} stream_t;
@@ -356,8 +357,6 @@ void free_stream(stream_t *s);
stream_t* new_memory_stream(unsigned char* data,int len);
stream_t *open_stream(const char *filename, struct MPOpts *options,
int *file_format);
-stream_t *open_stream_full(const char *filename,int mode,
- struct MPOpts *options, int *file_format);
stream_t *open_output_stream(const char *filename, struct MPOpts *options);
struct demux_stream;
struct stream *new_ds_stream(struct demux_stream *ds);