summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2013-08-22 19:06:51 +0200
committerwm4 <wm4@nowhere>2013-08-22 21:19:40 +0200
commit69d46b1d95761ccb64acbd6422fef61bf349fbdf (patch)
treeada2204e935b2da78d8c7792b06a6877ae569192
parent0440561c99e4f34e4a743d7d17f8fa933a49d362 (diff)
downloadmpv-69d46b1d95761ccb64acbd6422fef61bf349fbdf.tar.bz2
mpv-69d46b1d95761ccb64acbd6422fef61bf349fbdf.tar.xz
demux: check whether stream is selected in demux_get_next_pts()
Otherwise, this would just try to demux a good chunk of the file, even though the operation can't succeed anyway. This caused some pretty strange issues, where perfectly valid use cases would print a "Too many packets in the demuxer packet queue..." message.
-rw-r--r--demux/demux.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/demux/demux.c b/demux/demux.c
index 5ffd42a971..ff59ef4250 100644
--- a/demux/demux.c
+++ b/demux/demux.c
@@ -466,7 +466,7 @@ struct demux_packet *demux_read_packet(struct sh_stream *sh)
// packets from the queue.
double demux_get_next_pts(struct sh_stream *sh)
{
- if (sh) {
+ if (sh && sh->ds->selected) {
ds_get_packets(sh);
if (sh->ds->head)
return sh->ds->head->pts;