diff options
author | Uoti Urpala <uau@glyph.nonexistent.invalid> | 2010-03-10 01:08:50 +0200 |
---|---|---|
committer | Uoti Urpala <uau@glyph.nonexistent.invalid> | 2010-03-10 01:08:50 +0200 |
commit | 194efde18f8f2621f847bd2bc2c13bf58e865730 (patch) | |
tree | a98b71eb9727c082d71d1fc728c76e0393ea8b2a /stream/stream.h | |
parent | 415a39cad0c801a9b904e75090730dbe5232142d (diff) | |
parent | e59081d1218547907a143ab54e1feaec43ec2bff (diff) | |
download | mpv-194efde18f8f2621f847bd2bc2c13bf58e865730.tar.bz2 mpv-194efde18f8f2621f847bd2bc2c13bf58e865730.tar.xz |
Merge svn changes up to r30702
Diffstat (limited to 'stream/stream.h')
-rw-r--r-- | stream/stream.h | 30 |
1 files changed, 26 insertions, 4 deletions
diff --git a/stream/stream.h b/stream/stream.h index 2dd65051c8..c48dd2a8b2 100644 --- a/stream/stream.h +++ b/stream/stream.h @@ -21,6 +21,7 @@ #include "config.h" #include "mp_msg.h" +#include "url.h" #include <string.h> #include <inttypes.h> #include <sys/types.h> @@ -89,9 +90,27 @@ #define STREAM_CTRL_SET_ANGLE 11 -#ifdef CONFIG_NETWORK -#include "network.h" -#endif +typedef enum { + streaming_stopped_e, + streaming_playing_e +} streaming_status; + +typedef struct streaming_control { + URL_t *url; + streaming_status status; + int buffering; // boolean + unsigned int prebuffer_size; + char *buffer; + unsigned int buffer_size; + unsigned int buffer_pos; + unsigned int bandwidth; // The downstream available + int (*streaming_read)( int fd, char *buffer, int buffer_size, struct streaming_control *stream_ctrl ); + int (*streaming_seek)( int fd, off_t pos, struct streaming_control *stream_ctrl ); + void *data; + // hacks for asf + int *audio_id_ptr; + int *video_id_ptr; +} streaming_ctrl_t; struct stream; typedef struct stream_info_st { @@ -143,6 +162,10 @@ typedef struct stream { unsigned char buffer[STREAM_BUFFER_SIZE>VCD_SECTOR_SIZE?STREAM_BUFFER_SIZE:VCD_SECTOR_SIZE]; } stream_t; +#ifdef CONFIG_NETWORK +#include "network.h" +#endif + int stream_fill_buffer(stream_t *s); int stream_seek_long(stream_t *s, off_t pos); @@ -156,7 +179,6 @@ int cache_stream_seek_long(stream_t *s,off_t pos); #define cache_stream_seek_long(x,y) stream_seek_long(x,y) #define stream_enable_cache(x,y,z,w) 1 #endif -void fixup_network_stream_cache(stream_t *stream); int stream_write_buffer(stream_t *s, unsigned char *buf, int len); inline static int stream_read_char(stream_t *s){ |