mpv/stream
wm4 bcdb3c228e cache: fix stream_pts caching
Or rather, keep hacking it until it somehow works. The problem here was
that trying to avoid calling STREAM_CTRL_GET_CURRENT_TIME too often
didn't really work, so the cache sometimes returned incorrect times.

Also try to avoid the situation that looking up the time with an
advanced read position doesn't really work, as well as when trying to
look it up when EOF or cache end has been reached. In that case we have
read_filepos == max_filepos, which is "outside" of the cache, but
querying the time is still valid.

Should also fix the issue that demuxing streams with demux_lavf and if
STREAM_CTRL_GET_CURRENT_TIME is not supported messed up the reported
playback position.

This stuff is still not sane, but the way the player tries to fix the
playback time and how the DVD/BD stream inputs return the current time
based on the current byte position isn't sane to begin with. So, let's
leave it at bad hacks.

The two changes that touch s->eof are unrelated and basically of
cosmetic nature (separate commit would be too noisy.)
2013-06-18 02:19:15 +02:00
..
ai_alsa1x.c
ai_oss.c
asf_mmst_streaming.c
asf_mmst_streaming.h
asf_streaming.c
audio_in.c
audio_in.h
cache.c cache: fix stream_pts caching 2013-06-18 02:19:15 +02:00
cdd.h
cdinfo.c
cookies.c
cookies.h
dvb_tune.c
dvb_tune.h
dvbin.h
frequencies.c
frequencies.h
http.c
http.h
network.c
network.h
pvr.h
stream.c
stream.h
stream_avdevice.c
stream_bluray.c
stream_cdda.c
stream_cddb.c
stream_dvb.c
stream_dvd.c
stream_dvd.h
stream_dvd_common.c
stream_dvd_common.h
stream_file.c
stream_ftp.c
stream_lavf.c
stream_mf.c
stream_null.c
stream_pvr.c
stream_radio.c
stream_radio.h
stream_smb.c
stream_tv.c
stream_udp.c
stream_vcd.c
stream_vstream.c
tcp.c
tcp.h
tv.c
tv.h
tvi_def.h
tvi_dummy.c
tvi_v4l2.c
udp.c
udp.h
url.c
url.h
vcd_read.h
vcd_read_darwin.h
vcd_read_fbsd.h
vcd_read_win32.h