mirror of https://github.com/mpv-player/mpv
12d1404b04
Until now, they could be aborted only by ending playback, and calling mpv_abort_async_command didn't do anything. This requires furthering the mess how playback abort is done. The main reason why mp_cancel exists at all is to avoid that a "frozen" demuxer (blocked on network I/O or whatever) cannot freeze the core. The core should always get its way. Previously, there was a single mp_cancel handle, that could be signaled, and all demuxers would unfreeze. With external files, we might want to abort loading of a certain external file, which automatically means they need a separate mp_cancel. So give every demuxer its own mp_cancel, and "slave" it to whatever parent mp_cancel handles aborting. Since the mpv demuxer API conflates creating the demuxer and reading the file headers, mp_cancel strictly need to be created before the demuxer is created (or we couldn't abort loading). Although we give every demuxer its own mp_cancel (as "enforced" by cancel_and_free_demuxer), it's still rather messy to create/destroy it along with the demuxer. |
||
---|---|---|
.. | ||
README.md | ||
acompressor.lua | ||
ao-null-reload.lua | ||
audio-hotplug-test.lua | ||
autocrop.lua | ||
autodeint.lua | ||
autoload.lua | ||
command-test.lua | ||
cycle-deinterlace-pullup.lua | ||
observe-all.lua | ||
ontop-playback.lua | ||
pause-when-minimize.lua | ||
status-line.lua |
README.md
mpv lua scripts
The lua scripts in this folder can be loaded on a one-time basis by adding the option
--script=/path/to/script.lua
to mpv's command line.
Where appropriate, they may also be placed in ~/.config/mpv/scripts/ from where they will be automatically loaded when mpv starts.
This is only a small selection of internally maintained scripts. Some of them are just for testing mpv internals, or serve as examples. An extensive user-edited list of 3rd party scripts is available here:
https://github.com/mpv-player/mpv/wiki/User-Scripts
(Anyone can add their own scripts to that list.)