diff options
Diffstat (limited to 'demux')
-rw-r--r-- | demux/demux.c | 11 | ||||
-rw-r--r-- | demux/demux.h | 1 |
2 files changed, 12 insertions, 0 deletions
diff --git a/demux/demux.c b/demux/demux.c index be866b1642..36b6ec9231 100644 --- a/demux/demux.c +++ b/demux/demux.c @@ -1100,6 +1100,17 @@ void demux_set_wakeup_cb(struct demuxer *demuxer, void (*cb)(void *ctx), void *c pthread_mutex_unlock(&in->lock); } +void demux_start_prefetch(struct demuxer *demuxer) +{ + struct demux_internal *in = demuxer->in; + assert(demuxer == in->d_user); + + pthread_mutex_lock(&in->lock); + in->reading = true; + pthread_cond_signal(&in->wakeup); + pthread_mutex_unlock(&in->lock); +} + const char *stream_type_name(enum stream_type type) { switch (type) { diff --git a/demux/demux.h b/demux/demux.h index 65566ea509..b7f75ce813 100644 --- a/demux/demux.h +++ b/demux/demux.h @@ -260,6 +260,7 @@ struct demuxer *demux_open_url(const char *url, void demux_start_thread(struct demuxer *demuxer); void demux_stop_thread(struct demuxer *demuxer); void demux_set_wakeup_cb(struct demuxer *demuxer, void (*cb)(void *ctx), void *ctx); +void demux_start_prefetch(struct demuxer *demuxer); bool demux_cancel_test(struct demuxer *demuxer); |