From 9806e9f82b64b6c5336cbaaa7c8ce0ef12a56c4f Mon Sep 17 00:00:00 2001 From: wm4 Date: Thu, 17 Sep 2020 15:34:40 +0200 Subject: command, demux: make drop-buffers reset state even harder Leave nothing left when it's executed. --- demux/demux.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'demux') diff --git a/demux/demux.c b/demux/demux.c index 8fcafec9df..e4dda43cf0 100644 --- a/demux/demux.c +++ b/demux/demux.c @@ -3487,12 +3487,19 @@ void demux_flush(demuxer_t *demuxer) struct demux_internal *in = demuxer->in; assert(demuxer == in->d_user); - pthread_mutex_lock(&demuxer->in->lock); + pthread_mutex_lock(&in->lock); clear_reader_state(in, true); for (int n = 0; n < in->num_ranges; n++) clear_cached_range(in, in->ranges[n]); free_empty_cached_ranges(in); - pthread_mutex_unlock(&demuxer->in->lock); + for (int n = 0; n < in->num_streams; n++) { + struct demux_stream *ds = in->streams[n]->ds; + ds->refreshing = false; + ds->eof = false; + } + in->eof = false; + in->seeking = false; + pthread_mutex_unlock(&in->lock); } // Does some (but not all) things for switching to another range. -- cgit v1.2.3