1
0
mirror of https://github.com/mpv-player/mpv synced 2024-12-25 16:33:02 +00:00
mpv/player
wm4 93de4c81b9 stream: make mp_input_check_interrupt thread-safe
The interrupt callback will can be called from another thread if the
cache is enabled, and the stream disconnects. Then stream_reconnect()
will call this function from within the cache thread.

mp_input_check_interrupt() is not thread-safe due to read_events() not
being thread-safe. It will call input callbacks added with
mp_input_add_fd() - these callbacks lead to code not protected by locks,
such as reading X11 events.

Solve this by adding a stupid hack, which checks whether the calling
thread is the main playback thread (i.e. calling the input callbacks
will be safe). We can remove this hack later, but it requires at least
moving the VO to its own thread first.
2014-04-25 19:13:03 +02:00
..
lua lua: make it easier to integrate with foreign event loops 2014-04-12 20:41:12 +02:00
timeline player: remove ASX, SMIL and NSC playlist parsers 2014-04-13 15:40:05 +02:00
audio.c af: add replaygain_data field to af_stream and af_instance 2014-04-04 18:35:29 +02:00
client.c dispatch: move into its own source file 2014-04-23 21:16:51 +02:00
client.h client API: add a way to notify clients of property changes 2014-04-06 03:22:49 +02:00
command.c video: add a "hwdec" property to enable or disable hw decoding at runtime 2014-04-23 01:58:12 +02:00
command.h client API: add a way to notify clients of property changes 2014-04-06 03:22:49 +02:00
configfiles.c encode: don't apply default config options 2014-04-19 22:05:17 +02:00
core.h client API: remove mpv_event_pause_reason 2014-04-14 22:33:41 +02:00
discnav.c player: rename dvdnav to discnav 2014-03-30 11:42:49 +09:00
loadfile.c stream: make mp_input_check_interrupt thread-safe 2014-04-25 19:13:03 +02:00
lua.c lua: fix stack going out of sync 2014-04-24 02:30:19 +02:00
lua.h lua: port to client API 2014-02-10 21:03:59 +01:00
main_fn.c build: add option to build a library 2014-02-10 21:25:22 +01:00
main.c stream: remove interrupt callback global variables 2014-04-25 19:12:24 +02:00
misc.c player: dvdnav: fix start time when entering and leaving menu 2014-03-30 07:31:02 +02:00
osd.c player: hack to fix --msgmodule --term-osd-bar 2014-04-13 13:03:31 +02:00
playloop.c dispatch: move into its own source file 2014-04-23 21:16:51 +02:00
screenshot.c sub: uglify OSD code path with locking 2014-01-18 01:27:43 +01:00
screenshot.h
sub.c sub: uglify OSD code path with locking 2014-01-18 01:27:43 +01:00
video.c video: auto-insert software rotation filter 2014-04-21 02:57:16 +02:00