mpv/demux
wm4 d7ca95c3ea command: whitelist some blocking accesses for certain demuxers/streams
The properties/commands touched in this commit are all for obscure
special inputs (BD/DVD/DVB/TV), and they all block on the demuxer/stream
layer. For network streams, this blocking is very unwelcome. They will
affect playback and probably introduce pauses and frame drops. The
player can even freeze fully, and the logic that tries to make playback
abortable even if frozen complicates the player.

Since the mentioned accesses are not needed for network streams, but
they will block on network streams even though they're going to fail,
add a flag that coarsely enables/disables these accesses. Essentially it
establishes a whitelist of demuxers/streams which support them.

In theory you could to access BD/DVD images over network (or add such
support, I don't think it's a thing in mpv). In these cases these
controls still can block and could even "freeze" the player completely.

Writing to the "program" and "cache-size" properties still can block
even for network streams. Just don't use them if you don't want freezes.
2018-05-24 19:56:35 +02:00
..
codec_tags.c demux_mkv: remove incorrect comment 2017-06-03 23:23:35 +02:00
codec_tags.h Relicense some non-MPlayer source files to LGPL 2.1 or later 2016-01-19 18:36:06 +01:00
cue.c cue: strip quotes and leading whitespace from tags 2018-01-30 14:01:15 +01:00
cue.h Relicense some non-MPlayer source files to LGPL 2.1 or later 2016-01-19 18:36:06 +01:00
demux.c command: whitelist some blocking accesses for certain demuxers/streams 2018-05-24 19:56:35 +02:00
demux.h command: whitelist some blocking accesses for certain demuxers/streams 2018-05-24 19:56:35 +02:00
demux_cue.c demux: get rid of DEMUXER_CTRL_GET_TIME_LENGTH 2017-06-20 14:22:10 +02:00
demux_disc.c command: whitelist some blocking accesses for certain demuxers/streams 2018-05-24 19:56:35 +02:00
demux_edl.c demux_edl: fix undefined behavior if mp4 init segment is not provided 2018-03-03 02:38:01 +02:00
demux_lavf.c demux: add a "cancel" field 2018-05-24 19:56:35 +02:00
demux_libarchive.c demux, stream: add option to prevent opening referenced files 2016-12-04 23:15:31 +01:00
demux_mf.c build: switch preliminary LGPL mode from v3 to v2.1 2017-10-05 15:57:30 +02:00
demux_mkv.c demux_mkv: adjust log verbosity levels 2018-04-29 02:21:32 +03:00
demux_mkv_timeline.c command: make loadlist command async and abortable 2018-05-24 19:56:35 +02:00
demux_null.c demux_null: mark as seekable 2018-01-06 14:42:22 -08:00
demux_playlist.c misc: move mp_cancel from stream.c to thread_tools.c 2018-05-24 19:56:35 +02:00
demux_rar.c demux, stream: add option to prevent opening referenced files 2016-12-04 23:15:31 +01:00
demux_raw.c demux_raw: change license to LGPL 2017-06-24 13:56:53 +02:00
demux_timeline.c demux: add a "cancel" field 2018-05-24 19:56:35 +02:00
demux_tv.c command: whitelist some blocking accesses for certain demuxers/streams 2018-05-24 19:56:35 +02:00
ebml.c demux_mkv: adjust log verbosity levels 2018-04-29 02:21:32 +03:00
ebml.h demux_mkv: rewrite packet reading to avoid 1 memcpy() 2017-11-05 18:13:34 +01:00
matroska.h ebml, matroska.h: change license to LGPL 2017-04-21 13:34:10 +02:00
packet.c demux: support for some kinds of timed metadata 2018-04-18 01:17:42 +03:00
packet.h demux: support for some kinds of timed metadata 2018-04-18 01:17:42 +03:00
stheader.h demux, player: fix playback of sparse video streams (w/ still images) 2018-05-24 10:26:41 -07:00
timeline.c demux: add a "cancel" field 2018-05-24 19:56:35 +02:00
timeline.h ytdl_hook, edl: implement pseudo-DASH support 2017-02-04 22:34:38 +01:00