From 58c9f1a822bf226472eaa471c487988f9dac5c7f Mon Sep 17 00:00:00 2001
From: wm4 <wm4@nowhere>
Date: Sat, 4 Feb 2017 22:50:45 +0100
Subject: [PATCH] demux: try not to read packets when cancelled

Essentially, this will make it abort sooner. Especially with DASH it
might avoid confusing error messages, although exact behavior depends
on timing.
---
 demux/demux.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/demux/demux.c b/demux/demux.c
index d21b20910a..0c45083e2d 100644
--- a/demux/demux.c
+++ b/demux/demux.c
@@ -661,7 +661,9 @@ static bool read_packet(struct demux_internal *in)
         demux->desc->seek(demux, seek_pts, SEEK_BACKWARD | SEEK_HR);
     }
 
-    bool eof = !demux->desc->fill_buffer || demux->desc->fill_buffer(demux) <= 0;
+    bool eof = true;
+    if (demux->desc->fill_buffer && !demux_cancel_test(demux))
+        eof = demux->desc->fill_buffer(demux) <= 0;
     update_cache(in);
 
     pthread_mutex_lock(&in->lock);