diff options
author | Uoti Urpala <uau@symbol.nonexistent.invalid> | 2008-04-30 07:15:52 +0300 |
---|---|---|
committer | Uoti Urpala <uau@symbol.nonexistent.invalid> | 2008-04-30 13:24:54 +0300 |
commit | 9e9932d4d79fee2cd03ea8b88ee7281a7858837f (patch) | |
tree | ee2ec3b7e1b6f00c4e0518668fbbc2e020265475 /stream/stream.c | |
parent | 56fec4dfdca623c36d29ed7cb30e7637d99fb942 (diff) | |
download | mpv-9e9932d4d79fee2cd03ea8b88ee7281a7858837f.tar.bz2 mpv-9e9932d4d79fee2cd03ea8b88ee7281a7858837f.tar.xz |
Create a context for input.c state
Start moving static variables to a context struct. Only autorepeat
state is moved to the struct in this commit.
mp_input_check_interrupt now requires the context variable. Change
stream functions to pass it. It's still stored in a static variable in
stream/.
Diffstat (limited to 'stream/stream.c')
-rw-r--r-- | stream/stream.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/stream/stream.c b/stream/stream.c index ded692eca0..e24237fa1d 100644 --- a/stream/stream.c +++ b/stream/stream.c @@ -34,7 +34,9 @@ //#include "vcd_read_bincue.h" -static int (*stream_check_interrupt_cb)(int time) = NULL; +struct input_ctx; +static int (*stream_check_interrupt_cb)(struct input_ctx *ctx, int time); +static struct input_ctx *stream_check_interrupt_ctx; extern const stream_info_t stream_info_vcd; extern const stream_info_t stream_info_cdda; @@ -454,11 +456,14 @@ stream_t* new_ds_stream(demux_stream_t *ds) { return s; } -void stream_set_interrupt_callback(int (*cb)(int)) { +void stream_set_interrupt_callback(int (*cb)(struct input_ctx *, int), + struct input_ctx *ctx) +{ stream_check_interrupt_cb = cb; + stream_check_interrupt_ctx = ctx; } int stream_check_interrupt(int time) { if(!stream_check_interrupt_cb) return 0; - return stream_check_interrupt_cb(time); + return stream_check_interrupt_cb(stream_check_interrupt_ctx, time); } |