1
0
mirror of https://github.com/mpv-player/mpv synced 2024-12-19 21:31:52 +00:00
mpv/stream
Uoti Urpala 3f17b101ee cache: fix unnecessary seek blocking from f4d62dc4a0
Commit 374600cec0 ("cache: propagate seek failures") changed
stream-level seeks to be done in the calling thread so possible errors
could be reported. This commit included some rationale why doing the
stream-level seeks synchronously was not a big issue. However, the
following fixup commit f4d62dc4a0 changed the seek code to always
synchronize with the cache thread and do seek handling there. This is
a problem because it affects even seeks within already cached data
(which require no stream-level seek). With a network server that sends
data in bursts, the cache thread can be blocked in a read call for a
long time; the added synchronization means that seeking within already
downloaded data can have unnecessary long delays.

Change cache_seek() to check whether the seek is expected to result in
a stream-level seek, and skip synchronization if it is not. This means
that seeks within the cached portion of the file now again happen
immediately without possibly waiting for network.

Signed-off-by: wm4 <wm4@nowhere>
2017-05-15 15:47:20 +02:00
..
ai_alsa1x.c
ai_oss.c
ai_sndio.c
audio_in.c
audio_in.h
cache_file.c Relicense some non-MPlayer source files to LGPL 2.1 or later 2016-01-19 18:36:06 +01:00
cache.c cache: fix unnecessary seek blocking from f4d62dc4a0 2017-05-15 15:47:20 +02:00
cookies.c cookies: change license to LGPL 2017-05-11 07:29:01 +02:00
cookies.h cookies: change license to LGPL 2017-05-11 07:29:01 +02:00
dvb_tune.c dvb: add support for DVB-T2 2017-03-06 16:12:27 +01:00
dvb_tune.h dvb: add support for DVB-T2 2017-03-06 16:12:27 +01:00
dvbin.h dvb: add support for DVB-T2 2017-03-06 16:12:27 +01:00
frequencies.c
frequencies.h
rar.c
rar.h
stream_avdevice.c stream: get rid of streamtype enum 2017-02-02 18:26:58 +01:00
stream_bluray.c stream: get rid of streamtype enum 2017-02-02 18:26:58 +01:00
stream_cb.c stream_cb: don't add "*://" to protocol list 2016-09-10 15:35:22 +02:00
stream_cdda.c stream: get rid of streamtype enum 2017-02-02 18:26:58 +01:00
stream_dvb.c dvb: add support for DVB-T2 2017-03-06 16:12:27 +01:00
stream_dvd_common.c
stream_dvd_common.h
stream_dvd.c stream_dvd: fix subs/audio detection on DVDs containing multi-PGC titles 2017-03-15 02:54:18 +01:00
stream_dvdnav.c stream/stream_dvdnav: show list of titles on verbose 2017-03-29 02:19:09 +01:00
stream_edl.c stream: get rid of streamtype enum 2017-02-02 18:26:58 +01:00
stream_file.c stream_file: change license to LGPL 2017-05-11 08:14:48 +02:00
stream_lavf.c stream_lavf: add support for data URIs 2017-01-25 15:40:56 +00:00
stream_libarchive.c stream_libarchive: add some more points at which reading can be stopped 2016-10-01 18:19:57 +02:00
stream_libarchive.h libarchive: unify entry iteration between stream/demux layers 2016-07-18 12:44:56 +02:00
stream_memory.c stream_memory: disable stream cache 2016-08-26 13:33:38 +02:00
stream_mf.c stream: get rid of streamtype enum 2017-02-02 18:26:58 +01:00
stream_null.c stream_null: change license to LGPL 2017-05-08 12:45:50 +02:00
stream_rar.c
stream_smb.c stream_smb: disable by default, mark as GPLv3 2017-05-11 08:19:02 +02:00
stream_tv.c stream: get rid of streamtype enum 2017-02-02 18:26:58 +01:00
stream.c wscript: decouple dvdnav check from dvdread 2017-03-31 16:46:58 +01:00
stream.h stream: get rid of streamtype enum 2017-02-02 18:26:58 +01:00
tv.c tv: Zero-out newly-allocated handle in tv_new_handle() 2017-02-05 14:20:27 +01:00
tv.h tv: fix option type 2016-11-22 15:54:45 +01:00
tvi_def.h
tvi_dummy.c tvi_dummy: don't return bad dummy PTS 2017-02-02 08:51:40 +01:00
tvi_v4l2.c tvi_v4l2: fix style in the uninit function 2016-08-05 10:08:57 +02:00