mirror of https://github.com/mpv-player/mpv
demux: don't clobber internal demuxer EOF state in cache seeks
The last_eof field is the last known EOF state from the underlying demuxer. Normally, seeks reset it, because obviously if seek back into the middle of the file, you don't want last_eof to have a "wrong" value for a short time window (until a packet is read, which would reset the field to its correct value). This shouldn't happen during cache seeks, because you don't touch the underlying demuxer state. At first, I made this change because some other work in progress required it. It turned out that it was unnecessary, but keep the change anyway, since it's still correct and makes the logic cleaner.
This commit is contained in:
parent
9e1945d307
commit
e6911f82a5
|
@ -2311,6 +2311,7 @@ static void execute_seek(struct demux_internal *in)
|
|||
{
|
||||
int flags = in->seek_flags;
|
||||
double pts = in->seek_pts;
|
||||
in->last_eof = false;
|
||||
in->seeking = false;
|
||||
in->seeking_in_progress = pts;
|
||||
in->demux_ts = MP_NOPTS_VALUE;
|
||||
|
@ -3626,7 +3627,6 @@ static bool queue_seek(struct demux_internal *in, double seek_pts, int flags,
|
|||
}
|
||||
|
||||
in->eof = false;
|
||||
in->last_eof = false;
|
||||
in->idle = true;
|
||||
in->reading = false;
|
||||
in->back_demuxing = set_backwards;
|
||||
|
|
Loading…
Reference in New Issue