diff options
Diffstat (limited to 'stream')
-rw-r--r-- | stream/stream_cb.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/stream/stream_cb.c b/stream/stream_cb.c index fa8871ddf6..fa52935a4b 100644 --- a/stream/stream_cb.c +++ b/stream/stream_cb.c @@ -17,9 +17,11 @@ #include "options/path.h" #include "player/client.h" #include "libmpv/stream_cb.h" +#include "misc/thread_tools.h" struct priv { mpv_stream_cb_info info; + struct mp_cancel *cancel; }; static int fill_buffer(stream_t *s, char *buffer, int max_len) @@ -98,6 +100,12 @@ static int open_cb(stream_t *stream) stream->read_chunk = 64 * 1024; stream->close = s_close; + if (p->info.cancel_fn && stream->cancel) { + p->cancel = mp_cancel_new(p); + mp_cancel_set_parent(p->cancel, stream->cancel); + mp_cancel_set_cb(p->cancel, p->info.cancel_fn, p->info.cookie); + } + return STREAM_OK; } |