1
mirror of https://github.com/mpv-player/mpv synced 2024-09-12 23:45:53 +02:00
mpv/stream
wm4 0f110ad0e2 stream_lavf: fix determining seekability
demux_lavf.c forces seek to being determined as supported if
STREAM_CTRL_HAS_AVSEEK is returned as success. But it always succeeds
with current FFmpeg versions. (Seems like Libav commit cae448cf broke
this in early 2016.)

Now we can't determine via private API whether the underlying protocol
supports read_seek anymore. The affected protocols (mostly rtmp) also
set seekable=0, meaning they signal they're not seekable, even though
read_seek would work. (My guess is that this can't be fixed because even
though seekable is in theory a combination of elaborate flags [of which
only 1 is defined, AVIO_SEEKABLE_NORMAL], a seekable!=0 always means
it's byte-seekable in some way.)

So the FFmpeg API is being garbage _again_, and all what we can do is
determining this via protocol name and a whitelist.

Should fix the behavior reported in #1701.
2016-09-26 16:49:35 +02:00
..
ai_alsa1x.c stream/audio: fix unchecked strdups 2015-10-30 15:51:26 +01:00
ai_oss.c stream/audio: fix unchecked strdups 2015-10-30 15:51:26 +01:00
ai_sndio.c stream/audio: fix unchecked strdups 2015-10-30 15:51:26 +01:00
audio_in.c stream/audio: fix unchecked strdups 2015-10-30 15:51:26 +01:00
audio_in.h Update license headers 2015-04-13 12:10:01 +02:00
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: don't use a backbuffer if the cache is as large as the file 2016-08-26 13:33:38 +02:00
cookies.c Update license headers 2015-04-13 12:10:01 +02:00
cookies.h Update license headers 2015-04-13 12:10:01 +02:00
dvb_tune.c dvb: remove trailing whitespace 2016-01-22 11:55:47 +01:00
dvb_tune.h stream_dvb: support frontends with multiple delivery systems. 2016-01-21 00:34:02 +01:00
dvbin.h build: make DVB test stricter 2016-04-02 20:51:39 +02:00
frequencies.c Update license headers 2015-04-13 12:10:01 +02:00
frequencies.h Update license headers 2015-04-13 12:10:01 +02:00
rar.c mpv_talloc.h: rename from talloc.h 2016-01-11 21:05:55 +01:00
rar.h stream: redo playback abort handling 2014-09-13 16:09:51 +02:00
stream_avdevice.c Relicense some non-MPlayer source files to LGPL 2.1 or later 2016-01-19 18:36:06 +01:00
stream_bluray.c stream_bluray: fix a minor memory leak 2016-09-08 20:59:24 +02:00
stream_cb.c stream_cb: don't add "*://" to protocol list 2016-09-10 15:35:22 +02:00
stream_cdda.c stream_cdda: remove weird option parsing stuff 2016-09-09 17:54:35 +02:00
stream_dvb.c stream_dvb: remove weird option parsing stuff 2016-09-09 17:54:35 +02:00
stream_dvd_common.c Update license headers 2015-04-13 12:10:01 +02:00
stream_dvd_common.h Update license headers 2015-04-13 12:10:01 +02:00
stream_dvd.c stream_dvd, stream_dvdnav: remove weird option parsing stuff 2016-09-08 21:46:48 +02:00
stream_dvdnav.c stream_dvd, stream_dvdnav: remove weird option parsing stuff 2016-09-08 21:46:48 +02:00
stream_edl.c stream: always disable cache for pseudo-streams 2014-12-24 14:33:34 +01:00
stream_file.c win32: fix fd:// 2016-01-07 23:37:06 +11:00
stream_lavf.c stream_lavf: fix determining seekability 2016-09-26 16:49:35 +02:00
stream_libarchive.c libarchive: sanitize non-UTF8 archive entries 2016-07-18 12:52:59 +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 Update license headers 2015-04-13 12:10:01 +02:00
stream_null.c Update license headers 2015-04-13 12:10:01 +02:00
stream_rar.c stream_rar: update comment 2015-03-29 13:37:14 +02:00
stream_smb.c Update license headers 2015-04-13 12:10:01 +02:00
stream_tv.c tv: remove weird option parsing stuff 2016-09-09 17:54:35 +02:00
stream.c stream_cb: don't add "*://" to protocol list 2016-09-10 15:35:22 +02:00
stream.h stream, demux, config: remove some dead/unneeded option-related code 2016-09-09 17:54:57 +02:00
tv.c Update license headers 2015-04-13 12:10:01 +02:00
tv.h Update license headers 2015-04-13 12:10:01 +02:00
tvi_def.h Update license headers 2015-04-13 12:10:01 +02:00
tvi_dummy.c Update license headers 2015-04-13 12:10:01 +02:00
tvi_v4l2.c tvi_v4l2: fix style in the uninit function 2016-08-05 10:08:57 +02:00