summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2014-07-20 00:19:58 +0200
committerwm4 <wm4@nowhere>2014-07-20 00:19:58 +0200
commitded02bb78cce4ec6e6f7ffb5a4070024a503f814 (patch)
treeefc619196d705a5fd3b81a494e63df001b1ce7ae
parent1313d38efb677ff1667333e1c1a3be9726efeb50 (diff)
downloadmpv-ded02bb78cce4ec6e6f7ffb5a4070024a503f814.tar.bz2
mpv-ded02bb78cce4ec6e6f7ffb5a4070024a503f814.tar.xz
demux: make the cache refresh cached STREAM_CTRLs
This fixes the same symptom as the previous commit, but when the demuxer thread is enabled. In this case, if nothing was read from the demuxer, the STREAM_CTRLs weren't updated either. To the player, this looked like the stream cache was never making progress, so playback was kept paused.
-rw-r--r--demux/demux.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/demux/demux.c b/demux/demux.c
index 927c8488e2..b9dc232a79 100644
--- a/demux/demux.c
+++ b/demux/demux.c
@@ -1105,6 +1105,7 @@ int demux_control(demuxer_t *demuxer, int cmd, void *arg)
pthread_mutex_lock(&in->lock);
if (!in->threading)
update_cache(in);
+ pthread_cond_signal(&in->wakeup);
int cr = cached_demux_control(in, cmd, arg);
if (cr != DEMUXER_CTRL_DONTKNOW) {
pthread_mutex_unlock(&in->lock);