diff options
author | wm4 <wm4@nowhere> | 2020-09-17 15:34:40 +0200 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2020-09-17 15:34:40 +0200 |
commit | 9806e9f82b64b6c5336cbaaa7c8ce0ef12a56c4f (patch) | |
tree | 0d0643688521a10cec3c8a551e8a7d8a3f3369f6 /demux | |
parent | 602384348e718c772a2f0d1490d0f26d3578c373 (diff) | |
download | mpv-9806e9f82b64b6c5336cbaaa7c8ce0ef12a56c4f.tar.bz2 mpv-9806e9f82b64b6c5336cbaaa7c8ce0ef12a56c4f.tar.xz |
command, demux: make drop-buffers reset state even harder
Leave nothing left when it's executed.
Diffstat (limited to 'demux')
-rw-r--r-- | demux/demux.c | 11 |
1 files changed, 9 insertions, 2 deletions
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. |