1
0
mirror of https://github.com/mpv-player/mpv synced 2025-01-05 06:30:06 +00:00
mpv/player
wm4 a0a089f6a4 player: use a separate context for timeline loader stuff
Instead of accessing MPContext in player/timeline/*, create a separate
context struct, which the timeline loaders fill out. It turns out that
there's not much in the way too big MPContext that these need to access.

One major PITA is managing (and closing) the set of open demuxers. The
problem is that we need a list of all demuxers to make sure no unneeded
streams are enabled.

This adds a callback to the demuxer_desc struct, with the intention of
leaving to to the demuxer to call the right loader, instead of
explicitly checking the demuxer type and dispatching manually in common
code. I also considered making the timeline part of the demuxer state,
but decided against: it's too much of a mess wrt. memory management and
threading, and also doesn't make it clear who owns the child demuxers.
With the struct timeline decoupled from the demuxer state, it's at least
somewhat clear that the child demuxers are independent from the "main"
demuxer.

The actual changes to player/timeline/* are separated in the following
commits, because they're quite verbose. Some artifacts will be removed
later as soon as there's only 1 timeline loading mechanism.
2015-02-17 23:46:12 +01:00
..
lua lua: do not use math.pow() 2015-01-25 01:23:29 +01:00
timeline tl_matroska: only check the chapter count when adding chapters 2015-02-06 11:55:16 +01:00
audio.c player: use af_scaletempo when slowing down audio too 2015-02-12 11:58:35 +01:00
client.c client API: add mpv_wait_async_requests() 2015-02-02 18:07:37 +01:00
client.h vo_opengl_cb: simplify API uninitialization 2014-12-31 20:31:19 +01:00
command.c command: add rescan_external_files 2015-02-16 22:08:16 +01:00
command.h player: fix audio-device-list updates 2015-02-14 15:13:58 +01:00
configfiles.c sub: mess with styling defaults, change --ass-use-margins behavior 2015-02-16 20:04:29 +01:00
core.h player: use a separate context for timeline loader stuff 2015-02-17 23:46:12 +01:00
discnav.c osc, dvd, bd: fix mouse state when changing menu modes 2014-12-05 16:04:04 +01:00
loadfile.c player: use a separate context for timeline loader stuff 2015-02-17 23:46:12 +01:00
lua.c client API: be more lenient about mpv_suspend/resume mismatches 2014-12-15 14:44:47 +01:00
main_fn.c
main.c encoding: fixed-vo option was removed 2015-02-13 00:18:54 +01:00
misc.c
osd.c
playloop.c player: fix audio-device-list updates 2015-02-14 15:13:58 +01:00
screenshot.c options: list correct default value for --screenshot-template 2015-01-26 11:38:23 +01:00
screenshot.h
scripting.c scripting: fix/improve deprecation message 2014-12-15 06:24:05 +01:00
sub.c player: fix crash wtih --secondary-sid 2015-01-13 02:45:51 +01:00
video.c vf_vapoursynth: add display refresh rate property 2015-02-13 22:35:47 +01:00