mirror of
https://github.com/mpv-player/mpv.git
synced 2024-09-20 12:02:23 +02:00
848546f2de
It was easy to get into a wakeup feedback loop on EOF. The reason that EOF is complicated is that we try to retry reading when EOF is reached, in case the EOF state actually disappears (e.g. when watching a currently downloaded file). This feature is probably worthless, since in practice you have to do a seek to "unstuck" it anyway, but since the old code also did this, we want to keep this behavior for now. Avoid the feedback loop by introducing another EOF flag (last_eof), that contains the actual previous EOF state, and is not overwritten when retrying reading. Wakeup is skipped if the EOF state didn't change. Also, actually call the wakeup callback when EOF is detected. The line that adds "ds->active = false;" actually does nothing, but in theory it's cleaner. |
||
---|---|---|
.. | ||
codec_tags.c | ||
codec_tags.h | ||
demux_cue.c | ||
demux_disc.c | ||
demux_edl.c | ||
demux_lavf.c | ||
demux_libass.c | ||
demux_mf.c | ||
demux_mkv.c | ||
demux_playlist.c | ||
demux_raw.c | ||
demux_subreader.c | ||
demux_tv.c | ||
demux.c | ||
demux.h | ||
ebml.c | ||
ebml.h | ||
matroska.h | ||
mf.c | ||
mf.h | ||
ms_hdr.h | ||
packet.c | ||
packet.h | ||
stheader.h |