mpv-player / mpv-player/mpv

Stop interferes with quit causing position to not be saved

Open
#10,634 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

core:api core:option-param-conf
Dominant language
C
Stars
37k
Forks
3.5k
Avg merge
1d 10h
Merged PRs (30d)
22

Description

Important Information

Provide following Information:

  • mpv version 0.34.1
  • macOS Version 12.5.1.
  • Source of the mpv binary or bundle stolendata
  • If known which version of mpv introduced the problem Unknown
  • Possible screenshot or video of visual glitches

No visual glitches, it is not that kind of problem.

Reproduction steps

Install socat (required) and jq (optional) if not already installed on your Mac.

Start with an empty mpv configuration directory:

low-batt@gag mpv$ pwd
/Users/low-batt/.config/mpv
low-batt@gag mpv$ ls
low-batt@gag mpv$ 

Start a video playing using these options:

/Applications/mpv.app/Contents/MacOS/mpv --log-file=mpv.log --input-ipc-server=/tmp/mpv-socket --save-position-on-quit Movies/resume-failure.mp4

Paste these 3 lines into a Terminal window all at once so they run as fast as possible:

echo '{ "command": ["write-watch-later-config"] }' | socat - /tmp/mpv-socket | jq
echo '{ "command": ["stop"] }' | socat - /tmp/mpv-socket | jq
echo '{ "command": ["quit"] }' | socat - /tmp/mpv-socket | jq

This is a race condition, so the problem may or may not reproduce. If the problem reproduces this message will be emitted:

Not seekable, or time unknown - not saving position.

Running on a MacBook Pro with the M1 chip this behavior is very reproducible.

Expected behavior

If someone only reads the manual entry for --save-position-on-quit:

--save-position-on-quit
     Always save the current playback position on quit. When this file is played
     again later, the player will seek to the old playback position on start. This
     does not happen if playback of a file is stopped in any other way than
     quitting. For example, going to the next file in the playlist will not save
     the position, and start playback at beginning the next time the file is
     played.

Then the expectation would be that --save-position-on-quit has no effect at all since playback was not stopped by quitting, but by the stop command. And that the watch later file contains the saved position written by the write-watch-later-config command:

low-batt@gag watch_later$ cat C1E670C91AEDD56BD6017878BCD577D3 
start=23.650000
low-batt@gag watch_later$ 
Actual behavior

Sometimes the player does not seek to the old playback position on start and instead playback starts from the beggining of the video.

This issue originates from IINA issue https://github.com/iina/iina/issues/3939. In response to the user closing the window IINA executes write-watch-later-config and stop. If that was the only window and IINA is not configured to keep running, IINA will execute quit as a part of termination. Depending upon timing that triggers the problem reported here.

Is it considered invalid for IINA to send the quit command without having waited for the stop command to complete?

When the failure occurs the watch later file exists but is empty:

low-batt@gag mpv$ ls
low-batt@gag mpv$ echo '{ "command": ["write-watch-later-config"] }' | socat - /tmp/mpv-socket | jq
{
  "data": null,
  "request_id": 0,
  "error": "success"
}
low-batt@gag mpv$ echo '{ "command": ["stop"] }' | socat - /tmp/mpv-socket | jq
{
  "data": null,
  "request_id": 0,
  "error": "success"
}
low-batt@gag mpv$ echo '{ "command": ["quit"] }' | socat - /tmp/mpv-socket | jq
{
  "data": null,
  "request_id": 0,
  "error": "success"
}
low-batt@gag mpv$ cd watch_later/
low-batt@gag watch_later$ cat C1E670C91AEDD56BD6017878BCD577D3 
low-batt@gag watch_later$ 

The console shows the state is being saved 3 times:

low-batt@gag ~$ /Applications/mpv.app/Contents/MacOS/mpv --log-file=mpv.log --input-ipc-server=/tmp/mpv-socket --save-position-on-quit Movies/resume-failure.mp4 
 (+) Video --vid=1 (*) (av1 3840x2160 60.000fps)
 (+) Audio --aid=1 (*) (aac 6ch 48000Hz)
AO: [coreaudio] 48000Hz stereo 2ch floatp
VO: [libmpv] 3840x2160 yuv420p
AV: 00:00:26 / 00:10:34 (4%) A-V:  0.000
Saving state.
AV: 00:00:26 / 00:10:34 (4%) A-V:  0.000
Saving state.
Saving state.
Not seekable, or time unknown - not saving position.

Exiting... (Quit)
low-batt@gag ~$ 

My understanding is that even though stop and quit are being executed using the synchronous command API they are processed asynchronously. The problem occurs when quit starts executing before stop has completed. If stop completes before quit starts executing then quit does not try and save the state.

This clip from the mpv log shows quit executing before stop has finished stopping playback:

[  26.866][d][cplayer] Run command: quit, flags=64, args=[code="0"]
[  26.866][d][global] config path: '/Users/low-batt/.config/mpv/watch_later' -> '/Users/low-batt/.config/mpv/watch_later'
[  26.866][i][cplayer] Saving state.
[  26.866][i][cplayer] Not seekable, or time unknown - not saving position.
[  26.867][v][ipc_2] Client disconnected
[  26.867][d][ipc_2] Exiting...
[  26.867][d][cplayer] Done terminating demuxers.
[  26.867][v][cplayer] finished playback, success (reason 3)

If only the first two commands are sent:

echo '{ "command": ["write-watch-later-config"] }' | socat - /tmp/mpv-socket | jq
echo '{ "command": ["stop"] }' | socat - /tmp/mpv-socket | jq

The state is saved 2 times:

low-batt@gag ~$ /Applications/mpv.app/Contents/MacOS/mpv --log-file=mpv.log --input-ipc-server=/tmp/mpv-socket --save-position-on-quit Movies/resume-failure.mp4 
 (+) Video --vid=1 (*) (av1 3840x2160 60.000fps)
 (+) Audio --aid=1 (*) (aac 6ch 48000Hz)
AO: [coreaudio] 48000Hz stereo 2ch floatp
VO: [libmpv] 3840x2160 yuv420p
AV: 00:00:27 / 00:10:34 (4%) A-V:  0.000
Saving state.
AV: 00:00:27 / 00:10:34 (4%) A-V:  0.000
Saving state.

Exiting... (End of file)
low-batt@gag ~$ 

Given the documentation I'm surprised the -save-position-on-quit causes stop to save the state.

Once during testing I encountered the message discussed in https://github.com/mpv-player/mpv/issues/9902, without the video problems reported in that issue:

low-batt@gag ~$ /Applications/mpv.app/Contents/MacOS/mpv --log-file=mpv.log --input-ipc-server=/tmp/mpv-socket --keep-open Movies/resume-failure.mp4 
Resuming playback. This behavior can be disabled with --no-resume-playback.
 (+) Video --vid=1 (*) (av1 3840x2160 60.000fps)
 (+) Audio --aid=1 (*) (aac 6ch 48000Hz)
AO: [coreaudio] 48000Hz stereo 2ch floatp
VO: [libmpv] 3840x2160 yuv420p
AV: 00:01:02 / 00:10:34 (10%) A-V:  0.000
Saving state.
AV: 00:01:02 / 00:10:34 (10%) A-V:  0.000

Exiting... (End of file)
[osx/cocoacb] Unexpected nil value in Control Callback
low-batt@gag ~$ 
Log file
mpv Log:
[   0.003][v][cplayer] mpv 0.34.1 Copyright © 2000-2021 mpv/MPlayer/mplayer2 projects
[   0.003][v][cplayer]  built on Sat Jan  8 16:50:23 CET 2022
[   0.003][v][cplayer] FFmpeg library versions:
[   0.003][v][cplayer]    libavutil       56.70.100
[   0.003][v][cplayer]    libavcodec      58.134.100
[   0.003][v][cplayer]    libavformat     58.76.100
[   0.003][v][cplayer]    libswscale      5.9.100
[   0.003][v][cplayer]    libavfilter     7.110.100
[   0.003][v][cplayer]    libswresample   3.9.100
[   0.003][v][cplayer] FFmpeg version: 4.4.1
[   0.003][v][cplayer] 
[   0.003][v][cplayer] Configuration: waf configure --prefix=/Users/djinn/ghislainestrialwasalie/build-0.34.1 --confloaddir=/usr/local/etc/mpv --enable-manpage-build --enable-html-build --disable-android --disable-tvos --disable-egl-android --disable-macos-media-player --lua=51deb
[   0.003][v][cplayer] List of enabled features: 51deb asm bsd-fstatfs build-date cocoa coreaudio cplayer cplugins debug-build ffmpeg ffmpeg-aviocontext-bytes-read gl gl-cocoa glob glob-posix gpl iconv javascript lcms2 libarchive libass libavdevice libdl libm lua macos-10-11-features macos-10-12-2-features macos-10-14-features macos-cocoa-cb macos-touchbar optimize osx-thread-name posix posix-or-mingw pthreads rubberband stdatomic swift uchardet vector videotoolbox-gl videotoolbox-hwaccel zimg zlib
[   0.003][v][cplayer] Command line options: '--log-file=mpv.log' '--input-ipc-server=/tmp/mpv-socket' '--save-position-on-quit' 'Movies/resume-failure.mp4'
[   0.003][v][cplayer] mpv 0.34.1 Copyright © 2000-2021 mpv/MPlayer/mplayer2 projects
[   0.003][v][cplayer]  built on Sat Jan  8 16:50:23 CET 2022
[   0.003][v][cplayer] FFmpeg library versions:
[   0.003][v][cplayer]    libavutil       56.70.100
[   0.003][v][cplayer]    libavcodec      58.134.100
[   0.003][v][cplayer]    libavformat     58.76.100
[   0.003][v][cplayer]    libswscale      5.9.100
[   0.003][v][cplayer]    libavfilter     7.110.100
[   0.003][v][cplayer]    libswresample   3.9.100
[   0.003][v][cplayer] FFmpeg version: 4.4.1
[   0.003][v][cplayer] 
[   0.003][v][cplayer] Configuration: waf configure --prefix=/Users/djinn/ghislainestrialwasalie/build-0.34.1 --confloaddir=/usr/local/etc/mpv --enable-manpage-build --enable-html-build --disable-android --disable-tvos --disable-egl-android --disable-macos-media-player --lua=51deb
[   0.003][v][cplayer] List of enabled features: 51deb asm bsd-fstatfs build-date cocoa coreaudio cplayer cplugins debug-build ffmpeg ffmpeg-aviocontext-bytes-read gl gl-cocoa glob glob-posix gpl iconv javascript lcms2 libarchive libass libavdevice libdl libm lua macos-10-11-features macos-10-12-2-features macos-10-14-features macos-cocoa-cb macos-touchbar optimize osx-thread-name posix posix-or-mingw pthreads rubberband stdatomic swift uchardet vector videotoolbox-gl videotoolbox-hwaccel zimg zlib
[   0.003][d][global] config path: '' -> '/Users/low-batt/.config/mpv'
[   0.003][d][global] user path: '~~home/' -> '/Users/low-batt/.config/mpv'
[   0.003][d][global] user path: '~~old_home/' -> '/Users/low-batt/.mpv'
[   0.003][d][global] config path: 'encoding-profiles.conf' -/-> '/Users/low-batt/.config/mpv/encoding-profiles.conf'
[   0.003][d][global] config path: 'encoding-profiles.conf' -/-> '/Users/low-batt/.mpv/encoding-profiles.conf'
[   0.003][d][global] config path: 'encoding-profiles.conf' -> '/usr/local/etc/mpv/encoding-profiles.conf'
[   0.003][v][cplayer] Reading config file /usr/local/etc/mpv/encoding-profiles.conf
[   0.004][v][cplayer] Applying profile 'default'...
[   0.004][d][global] config path: 'mpv.conf' -/-> '/Users/low-batt/.config/mpv/mpv.conf'
[   0.004][d][global] config path: 'config' -/-> '/Users/low-batt/.config/mpv/config'
[   0.004][d][global] config path: 'mpv.conf' -/-> '/Users/low-batt/.mpv/mpv.conf'
[   0.004][d][global] config path: 'config' -/-> '/Users/low-batt/.mpv/config'
[   0.004][d][global] config path: 'mpv.conf' -/-> '/usr/local/etc/mpv/mpv.conf'
[   0.004][d][global] config path: 'config' -/-> '/usr/local/etc/mpv/config'
[   0.004][v][cplayer] Setting option 'log-file' = 'mpv.log' (flags = 8)
[   0.004][v][cplayer] Setting option 'input-ipc-server' = '/tmp/mpv-socket' (flags = 8)
[   0.004][v][cplayer] Setting option 'save-position-on-quit' = '' (flags = 8)
[   0.005][d][global] config path: 'input.conf' -/-> '/Users/low-batt/.config/mpv/input.conf'
[   0.005][d][global] config path: 'input.conf' -/-> '/Users/low-batt/.mpv/input.conf'
[   0.005][d][global] config path: 'input.conf' -/-> '/usr/local/etc/mpv/input.conf'
[   0.005][d][global] user path: 'mpv.log' -> 'mpv.log'
[   0.005][d][osc] Loading lua script @osc.lua...
[   0.005][d][ytdl_hook] Loading lua script @ytdl_hook.lua...
[   0.005][d][stats] Loading lua script @stats.lua...
[   0.005][d][console] Loading lua script @console.lua...
[   0.005][d][auto_profiles] Loading lua script @auto_profiles.lua...
[   0.005][d][global] user path: '/tmp/mpv-socket' -> '/tmp/mpv-socket'
[   0.005][d][ytdl_hook] loading mp.defaults
[   0.005][d][osc] loading mp.defaults
[   0.005][d][stats] loading mp.defaults
[   0.005][d][console] loading mp.defaults
[   0.005][v][ipc] Starting IPC master
[   0.005][d][auto_profiles] loading mp.defaults
[   0.005][v][ipc] Listening to IPC socket.
[   0.006][d][osc] loading @osc.lua
[   0.006][d][stats] loading @stats.lua
[   0.006][d][auto_profiles] loading @auto_profiles.lua
[   0.006][d][ytdl_hook] loading @ytdl_hook.lua
[   0.007][d][console] loading @console.lua
[   0.007][d][ytdl_hook] reading options for ytdl_hook 
[   0.007][d][global] config path: 'script-opts/ytdl_hook.conf' -/-> '/Users/low-batt/.config/mpv/script-opts/ytdl_hook.conf'
[   0.007][d][global] config path: 'script-opts/ytdl_hook.conf' -/-> '/Users/low-batt/.mpv/script-opts/ytdl_hook.conf'
[   0.007][d][global] config path: 'script-opts/ytdl_hook.conf' -/-> '/usr/local/etc/mpv/script-opts/ytdl_hook.conf'
[   0.007][d][ytdl_hook] script-opts/ytdl_hook.conf not found. 
[   0.007][d][global] config path: 'lua-settings/ytdl_hook.conf' -/-> '/Users/low-batt/.config/mpv/lua-settings/ytdl_hook.conf'
[   0.007][d][global] config path: 'lua-settings/ytdl_hook.conf' -/-> '/Users/low-batt/.mpv/lua-settings/ytdl_hook.conf'
[   0.007][d][global] config path: 'lua-settings/ytdl_hook.conf' -/-> '/usr/local/etc/mpv/lua-settings/ytdl_hook.conf'
[   0.007][d][ytdl_hook] lua-settings/ytdl_hook.conf not found. 
[   0.008][d][stats] reading options for stats 
[   0.008][d][global] config path: 'script-opts/stats.conf' -/-> '/Users/low-batt/.config/mpv/script-opts/stats.conf'
[   0.008][d][global] config path: 'script-opts/stats.conf' -/-> '/Users/low-batt/.mpv/script-opts/stats.conf'
[   0.008][d][global] config path: 'script-opts/stats.conf' -/-> '/usr/local/etc/mpv/script-opts/stats.conf'
[   0.008][d][stats] script-opts/stats.conf not found. 
[   0.008][d][global] config path: 'lua-settings/stats.conf' -/-> '/Users/low-batt/.config/mpv/lua-settings/stats.conf'
[   0.008][d][global] config path: 'lua-settings/stats.conf' -/-> '/Users/low-batt/.mpv/lua-settings/stats.conf'
[   0.008][d][global] config path: 'lua-settings/stats.conf' -/-> '/usr/local/etc/mpv/lua-settings/stats.conf'
[   0.008][d][stats] lua-settings/stats.conf not found. 
[   0.009][d][osc] reading options for osc 
[   0.009][d][global] config path: 'script-opts/osc.conf' -/-> '/Users/low-batt/.config/mpv/script-opts/osc.conf'
[   0.009][d][global] config path: 'script-opts/osc.conf' -/-> '/Users/low-batt/.mpv/script-opts/osc.conf'
[   0.009][d][global] config path: 'script-opts/osc.conf' -/-> '/usr/local/etc/mpv/script-opts/osc.conf'
[   0.009][d][osc] script-opts/osc.conf not found. 
[   0.009][d][global] config path: 'lua-settings/osc.conf' -/-> '/Users/low-batt/.config/mpv/lua-settings/osc.conf'
[   0.009][d][global] config path: 'lua-settings/osc.conf' -/-> '/Users/low-batt/.mpv/lua-settings/osc.conf'
[   0.009][d][global] config path: 'lua-settings/osc.conf' -/-> '/usr/local/etc/mpv/lua-settings/osc.conf'
[   0.009][d][osc] lua-settings/osc.conf not found. 
[   0.028][v][osx/cocoacb] Created CGL pixel format with attributes: kCGLPFAOpenGLProfile, kCGLOGLPVersion_3_2_Core, kCGLPFAAccelerated, kCGLPFADoubleBuffer, kCGLPFAColorSize, 64, kCGLPFAColorFloat, kCGLPFABackingStore, kCGLPFAAllowOfflineRenderers, kCGLPFASupportsAutomaticGraphicsSwitching, 0
[   0.032][v][libmpv_render] GL_VERSION='4.1 Metal - 76.3'
[   0.032][v][libmpv_render] Detected desktop OpenGL 4.1.
[   0.032][v][libmpv_render] GL_VENDOR='Apple'
[   0.032][v][libmpv_render] GL_RENDERER='Apple M1 Max'
[   0.032][v][libmpv_render] GL_SHADING_LANGUAGE_VERSION='4.10'
[   0.032][d][libmpv_render] Combined OpenGL extensions string:
[   0.032][d][libmpv_render]  GL_ARB_blend_func_extended GL_ARB_draw_buffers_blend GL_ARB_draw_indirect GL_ARB_ES2_compatibility GL_ARB_explicit_attrib_location GL_ARB_gpu_shader_fp64 GL_ARB_gpu_shader5 GL_ARB_instanced_arrays GL_ARB_internalformat_query GL_ARB_occlusion_query2 GL_ARB_sample_shading GL_ARB_sampler_objects GL_ARB_separate_shader_objects GL_ARB_shader_bit_encoding GL_ARB_shader_subroutine GL_ARB_shading_language_include GL_ARB_tessellation_shader GL_ARB_texture_buffer_object_rgb32 GL_ARB_texture_cube_map_array GL_ARB_texture_gather GL_ARB_texture_query_lod GL_ARB_texture_rgb10_a2ui GL_ARB_texture_storage GL_ARB_texture_swizzle GL_ARB_timer_query GL_ARB_transform_feedback2 GL_ARB_transform_feedback3 GL_ARB_vertex_attrib_64bit GL_ARB_vertex_type_2_10_10_10_rev GL_ARB_viewport_array GL_EXT_debug_label GL_EXT_debug_marker GL_EXT_framebuffer_multisample_blit_scaled GL_EXT_texture_compression_s3tc GL_EXT_texture_filter_anisotropic GL_EXT_texture_sRGB_decode GL_APPLE_client_storage GL_APPLE_container_object_shareable GL_APPLE_flush_render GL_APPLE_rgb_422 GL_APPLE_row_bytes GL_APPLE_texture_range GL_NV_texture_barrier
[   0.032][v][libmpv_render] Loaded extension GL_APPLE_rgb_422.
[   0.032][v][libmpv_render] GL_*_swap_control extension missing.
[   0.032][d][libmpv_render] Texture formats:
[   0.032][d][libmpv_render]   NAME       COMP*TYPE SIZE           DEPTH PER COMP.
[   0.032][d][libmpv_render]   r8         1*unorm   1B    LF CR ST {8}
[   0.033][d][libmpv_render]   rg8        2*unorm   2B    LF CR ST {8 8}
[   0.033][d][libmpv_render]   rgb8       3*unorm   3B    LF CR ST {8 8 8}
[   0.033][d][libmpv_render]   rgba8      4*unorm   4B    LF CR ST {8 8 8 8}
[   0.033][d][libmpv_render]   r16        1*unorm   2B    LF CR ST {16}
[   0.033][d][libmpv_render]   rg16       2*unorm   4B    LF CR ST {16 16}
[   0.033][d][libmpv_render]   rgb16      3*unorm   6B    LF CR ST {16 16 16}
[   0.033][d][libmpv_render]   rgba16     4*unorm   8B    LF CR ST {16 16 16 16}
[   0.033][d][libmpv_render]   r8ui       1*uint    1B       CR ST {8}
[   0.033][d][libmpv_render]   rg8ui      2*uint    2B       CR ST {8 8}
[   0.033][d][libmpv_render]   rgb8ui     3*uint    3B          ST {8 8 8}
[   0.033][d][libmpv_render]   rgba8ui    4*uint    4B       CR ST {8 8 8 8}
[   0.033][d][libmpv_render]   r16ui      1*uint    2B       CR ST {16}
[   0.033][d][libmpv_render]   rg16ui     2*uint    4B       CR ST {16 16}
[   0.033][d][libmpv_render]   rgb16ui    3*uint    6B          ST {16 16 16}
[   0.033][d][libmpv_render]   rgba16ui   4*uint    8B       CR ST {16 16 16 16}
[   0.033][d][libmpv_render]   r16f       1*float   4B    LF CR ST {32/16}
[   0.033][d][libmpv_render]   rg16f      2*float   8B    LF CR ST {32/16 32/16}
[   0.033][d][libmpv_render]   rgb16f     3*float  12B    LF CR ST {32/16 32/16 32/16}
[   0.033][d][libmpv_render]   rgba16f    4*float  16B    LF CR ST {32/16 32/16 32/16 32/16}
[   0.033][d][libmpv_render]   r32f       1*float   4B    LF CR ST {32}
[   0.033][d][libmpv_render]   rg32f      2*float   8B    LF CR ST {32 32}
[   0.033][d][libmpv_render]   rgb32f     3*float  12B    LF CR ST {32 32 32}
[   0.033][d][libmpv_render]   rgba32f    4*float  16B    LF CR ST {32 32 32 32}
[   0.033][d][libmpv_render]   rgb10_a2   4*unorm   4B    LF CR ST {0/10 0/10 0/10 0/2}
[   0.033][d][libmpv_render]   rgba12     4*unorm   8B    LF CR ST {16/12 16/12 16/12 16/12}
[   0.033][d][libmpv_render]   rgb10      3*unorm   6B    LF CR ST {16/10 16/10 16/10}
[   0.033][d][libmpv_render]   rgb565     3*unorm   2B    LF    ST {0/8 0/8 0/8}
[   0.033][d][libmpv_render]   appleyp    0*unorm   2B    LF    ST {}
[   0.033][d][libmpv_render]  LA = LUMINANCE_ALPHA hack format
[   0.033][d][libmpv_render]  LF = linear filterable
[   0.033][d][libmpv_render]  CR = can be used for render targets
[   0.033][d][libmpv_render]  ST = can be used for storable images
[   0.033][d][libmpv_render] Image formats:
[   0.033][d][libmpv_render]   yuv444p => 3 planes 1x1 8/0 [r8/r8/r8] (r/g/b) [unorm]
[   0.033][d][libmpv_render]   yuv420p => 3 planes 2x2 8/0 [r8/r8/r8] (r/g/b) [unorm]
[   0.033][d][libmpv_render]   gray => 1 planes 1x1 8/0 [r8] (r) [unorm]
[   0.033][d][libmpv_render]   gray16 => 1 planes 1x1 16/0 [r16] (r) [unorm]
[   0.033][d][libmpv_render]   uyvy422 => 1 planes 1x1 0/0 [appleyp] (brg) [unknown]
[   0.033][d][libmpv_render]   nv12 => 2 planes 2x2 8/0 [r8/rg8] (r/gb) [unorm]
[   0.033][d][libmpv_render]   p010 => 2 planes 2x2 16/6 [r16/rg16] (r/gb) [unorm]
[   0.033][d][libmpv_render]   argb => 1 planes 1x1 8/0 [rgba8] (argb) [unorm]
[   0.033][d][libmpv_render]   bgra => 1 planes 1x1 8/0 [rgba8] (bgra) [unorm]
[   0.033][d][libmpv_render]   abgr => 1 planes 1x1 8/0 [rgba8] (abgr) [unorm]
[   0.033][d][libmpv_render]   rgba => 1 planes 1x1 8/0 [rgba8] (rgba) [unorm]
[   0.033][d][libmpv_render]   bgr24 => 1 planes 1x1 8/0 [rgb8] (bgr) [unorm]
[   0.033][d][libmpv_render]   rgb24 => 1 planes 1x1 8/0 [rgb8] (rgb) [unorm]
[   0.033][d][libmpv_render]   0rgb => 1 planes 1x1 8/0 [rgba8] (_rgb) [unorm]
[   0.033][d][libmpv_render]   bgr0 => 1 planes 1x1 8/0 [rgba8] (bgr) [unorm]
[   0.033][d][libmpv_render]   0bgr => 1 planes 1x1 8/0 [rgba8] (_bgr) [unorm]
[   0.033][d][libmpv_render]   rgb0 => 1 planes 1x1 8/0 [rgba8] (rgb) [unorm]
[   0.033][d][libmpv_render]   rgba64 => 1 planes 1x1 16/0 [rgba16] (rgba) [unorm]
[   0.033][d][libmpv_render]   rgb565 => 1 planes 1x1 0/0 [rgb565] (rgb) [unknown]
[   0.033][d][libmpv_render]   pal8
[   0.033][d][libmpv_render]   vdpau
[   0.033][d][libmpv_render]   d3d11
[   0.033][d][libmpv_render]   dxva2_vld
[   0.033][d][libmpv_render]   mmal
[   0.033][d][libmpv_render]   mediacodec
[   0.033][d][libmpv_render]   drm_prime
[   0.033][d][libmpv_render]   cuda
[   0.033][d][libmpv_render]   yap8 => 2 planes 1x1 8/0 [r8/r8] (r/a) [unorm]
[   0.033][d][libmpv_render]   yap16 => 2 planes 1x1 16/0 [r16/r16] (r/a) [unorm]
[   0.033][d][libmpv_render]   grayaf32 => 2 planes 1x1 32/0 [r16f/r16f] (r/a) [float]
[   0.033][d][libmpv_render]   yuv444pf => 3 planes 1x1 32/0 [r16f/r16f/r16f] (r/g/b) [float]
[   0.033][d][libmpv_render]   yuva444pf => 4 planes 1x1 32/0 [r16f/r16f/r16f/r16f] (r/g/b/a) [float]
[   0.033][d][libmpv_render]   yuv420pf => 3 planes 2x2 32/0 [r16f/r16f/r16f] (r/g/b) [float]
[   0.033][d][libmpv_render]   yuva420pf => 4 planes 2x2 32/0 [r16f/r16f/r16f/r16f] (r/g/b/a) [float]
[   0.033][d][libmpv_render]   yuv422pf => 3 planes 2x1 32/0 [r16f/r16f/r16f] (r/g/b) [float]
[   0.033][d][libmpv_render]   yuva422pf => 4 planes 2x1 32/0 [r16f/r16f/r16f/r16f] (r/g/b/a) [float]
[   0.033][d][libmpv_render]   yuv440pf => 3 planes 1x2 32/0 [r16f/r16f/r16f] (r/g/b) [float]
[   0.033][d][libmpv_render]   yuva440pf => 4 planes 1x2 32/0 [r16f/r16f/r16f/r16f] (r/g/b/a) [float]
[   0.033][d][libmpv_render]   yuv410pf => 3 planes 4x4 32/0 [r16f/r16f/r16f] (r/g/b) [float]
[   0.033][d][libmpv_render]   yuva410pf => 4 planes 4x4 32/0 [r16f/r16f/r16f/r16f] (r/g/b/a) [float]
[   0.033][d][libmpv_render]   yuv411pf => 3 planes 4x1 32/0 [r16f/r16f/r16f] (r/g/b) [float]
[   0.033][d][libmpv_render]   yuva411pf => 4 planes 4x1 32/0 [r16f/r16f/r16f/r16f] (r/g/b/a) [float]
[   0.033][d][libmpv_render]   rgb30 => 1 planes 1x1 10/0 [rgb10_a2] (bgr) [unknown]
[   0.033][d][libmpv_render]   y1 => 1 planes 1x1 8/-7 [r8] (r) [unorm]
[   0.033][d][libmpv_render]   gbrp1 => 3 planes 1x1 8/-7 [r8/r8/r8] (g/b/r) [unorm]
[   0.033][d][libmpv_render]   gbrp2 => 3 planes 1x1 8/-6 [r8/r8/r8] (g/b/r) [unorm]
[   0.033][d][libmpv_render]   gbrp3 => 3 planes 1x1 8/-5 [r8/r8/r8] (g/b/r) [unorm]
[   0.033][d][libmpv_render]   gbrp4 => 3 planes 1x1 8/-4 [r8/r8/r8] (g/b/r) [unorm]
[   0.033][d][libmpv_render]   gbrp5 => 3 planes 1x1 8/-3 [r8/r8/r8] (g/b/r) [unorm]
[   0.033][d][libmpv_render]   gbrp6 => 3 planes 1x1 8/-2 [r8/r8/r8] (g/b/r) [unorm]
[   0.033][d][libmpv_render]   vdpau_output
[   0.033][d][libmpv_render]   vaapi
[   0.033][d][libmpv_render]   videotoolbox
[   0.033][d][libmpv_render]   yuyv422
[   0.033][d][libmpv_render]   yuv422p => 3 planes 2x1 8/0 [r8/r8/r8] (r/g/b) [unorm]
[   0.033][d][libmpv_render]   yuv410p => 3 planes 4x4 8/0 [r8/r8/r8] (r/g/b) [unorm]
[   0.033][d][libmpv_render]   yuv411p => 3 planes 4x1 8/0 [r8/r8/r8] (r/g/b) [unorm]
[   0.033][d][libmpv_render]   monow
[   0.033][d][libmpv_render]   monob
[   0.033][d][libmpv_render]   yuvj422p => 3 planes 2x1 8/0 [r8/r8/r8] (r/g/b) [unorm]
[   0.033][d][libmpv_render]   uyyvyy411
[   0.033][d][libmpv_render]   bgr8
[   0.033][d][libmpv_render]   bgr4
[   0.033][d][libmpv_render]   bgr4_byte
[   0.033][d][libmpv_render]   rgb8
[   0.033][d][libmpv_render]   rgb4
[   0.033][d][libmpv_render]   rgb4_byte
[   0.033][d][libmpv_render]   nv21 => 2 planes 2x2 8/0 [r8/rg8] (r/bg) [unorm]
[   0.033][d][libmpv_render]   gray16be
[   0.033][d][libmpv_render]   yuv440p => 3 planes 1x2 8/0 [r8/r8/r8] (r/g/b) [unorm]
[   0.033][d][libmpv_render]   yuvj440p => 3 planes 1x2 8/0 [r8/r8/r8] (r/g/b) [unorm]
[   0.033][d][libmpv_render]   yuva420p => 4 planes 2x2 8/0 [r8/r8/r8/r8] (r/g/b/a) [unorm]
[   0.033][d][libmpv_render]   rgb48be
[   0.033][d][libmpv_render]   rgb48 => 1 planes 1x1 16/0 [rgb16] (rgb) [unorm]
[   0.033][d][libmpv_render]   rgb565be
[   0.033][d][libmpv_render]   rgb555be
[   0.033][d][libmpv_render]   rgb555
[   0.033][d][libmpv_render]   bgr565be
[   0.033][d][libmpv_render]   bgr565
[   0.033][d][libmpv_render]   bgr555be
[   0.033][d][libmpv_render]   bgr555
[   0.033][d][libmpv_render]   vaapi_moco
[   0.033][d][libmpv_render]   vaapi_idct
[   0.033][d][libmpv_render]   yuv420p16 => 3 planes 2x2 16/0 [r16/r16/r16] (r/g/b) [unorm]
[   0.033][d][libmpv_render]   yuv420p16be
[   0.033][d][libmpv_render]   yuv422p16 => 3 planes 2x1 16/0 [r16/r16/r16] (r/g/b) [unorm]
[   0.033][d][libmpv_render]   yuv422p16be
[   0.033][d][libmpv_render]   yuv444p16 => 3 planes 1x1 16/0 [r16/r16/r16] (r/g/b) [unorm]
[   0.033][d][libmpv_render]   yuv444p16be
[   0.033][d][libmpv_render]   rgb444
[   0.033][d][libmpv_render]   rgb444be
[   0.033][d][libmpv_render]   bgr444
[   0.033][d][libmpv_render]   bgr444be
[   0.033][d][libmpv_render]   ya8 => 1 planes 1x1 8/0 [rg8] (ra) [unorm]
[   0.033][d][libmpv_render]   bgr48be
[   0.033][d][libmpv_render]   bgr48 => 1 planes 1x1 16/0 [rgb16] (bgr) [unorm]
[   0.033][d][libmpv_render]   yuv420p9be
[   0.033][d][libmpv_render]   yuv420p9 => 3 planes 2x2 16/-7 [r16/r16/r16] (r/g/b) [unorm]
[   0.033][d][libmpv_render]   yuv420p10be
[   0.033][d][libmpv_render]   yuv420p10 => 3 planes 2x2 16/-6 [r16/r16/r16] (r/g/b) [unorm]
[   0.033][d][libmpv_render]   yuv422p10be
[   0.033][d][libmpv_render]   yuv422p10 => 3 planes 2x1 16/-6 [r16/r16/r16] (r/g/b) [unorm]
[   0.033][d][libmpv_render]   yuv444p9be
[   0.033][d][libmpv_render]   yuv444p9 => 3 planes 1x1 16/-7 [r16/r16/r16] (r/g/b) [unorm]
[   0.033][d][libmpv_render]   yuv444p10be
[   0.033][d][libmpv_render]   yuv444p10 => 3 planes 1x1 16/-6 [r16/r16/r16] (r/g/b) [unorm]
[   0.033][d][libmpv_render]   yuv422p9be
[   0.033][d][libmpv_render]   yuv422p9 => 3 planes 2x1 16/-7 [r16/r16/r16] (r/g/b) [unorm]
[   0.033][d][libmpv_render]   gbrp => 3 planes 1x1 8/0 [r8/r8/r8] (g/b/r) [unorm]
[   0.033][d][libmpv_render]   gbrp9be
[   0.033][d][libmpv_render]   gbrp9 => 3 planes 1x1 16/-7 [r16/r16/r16] (g/b/r) [unorm]
[   0.033][d][libmpv_render]   gbrp10be
[   0.033][d][libmpv_render]   gbrp10 => 3 planes 1x1 16/-6 [r16/r16/r16] (g/b/r) [unorm]
[   0.033][d][libmpv_render]   gbrp16be
[   0.033][d][libmpv_render]   gbrp16 => 3 planes 1x1 16/0 [r16/r16/r16] (g/b/r) [unorm]
[   0.033][d][libmpv_render]   yuva422p => 4 planes 2x1 8/0 [r8/r8/r8/r8] (r/g/b/a) [unorm]
[   0.033][d][libmpv_render]   yuva444p => 4 planes 1x1 8/0 [r8/r8/r8/r8] (r/g/b/a) [unorm]
[   0.033][d][libmpv_render]   yuva420p9be
[   0.033][d][libmpv_render]   yuva420p9 => 4 planes 2x2 16/-7 [r16/r16/r16/r16] (r/g/b/a) [unorm]
[   0.033][d][libmpv_render]   yuva422p9be
[   0.033][d][libmpv_render]   yuva422p9 => 4 planes 2x1 16/-7 [r16/r16/r16/r16] (r/g/b/a) [unorm]
[   0.033][d][libmpv_render]   yuva444p9be
[   0.033][d][libmpv_render]   yuva444p9 => 4 planes 1x1 16/-7 [r16/r16/r16/r16] (r/g/b/a) [unorm]
[   0.033][d][libmpv_render]   yuva420p10be
[   0.033][d][libmpv_render]   yuva420p10 => 4 planes 2x2 16/-6 [r16/r16/r16/r16] (r/g/b/a) [unorm]
[   0.033][d][libmpv_render]   yuva422p10be
[   0.033][d][libmpv_render]   yuva422p10 => 4 planes 2x1 16/-6 [r16/r16/r16/r16] (r/g/b/a) [unorm]
[   0.033][d][libmpv_render]   yuva444p10be
[   0.033][d][libmpv_render]   yuva444p10 => 4 planes 1x1 16/-6 [r16/r16/r16/r16] (r/g/b/a) [unorm]
[   0.033][d][libmpv_render]   yuva420p16be
[   0.033][d][libmpv_render]   yuva420p16 => 4 planes 2x2 16/0 [r16/r16/r16/r16] (r/g/b/a) [unorm]
[   0.033][d][libmpv_render]   yuva422p16be
[   0.033][d][libmpv_render]   yuva422p16 => 4 planes 2x1 16/0 [r16/r16/r16/r16] (r/g/b/a) [unorm]
[   0.033][d][libmpv_render]   yuva444p16be
[   0.033][d][libmpv_render]   yuva444p16 => 4 planes 1x1 16/0 [r16/r16/r16/r16] (r/g/b/a) [unorm]
[   0.033][d][libmpv_render]   xyz12 => 1 planes 1x1 16/4 [rgb16] (rgb) [unorm]
[   0.033][d][libmpv_render]   xyz12be
[   0.033][d][libmpv_render]   nv16 => 2 planes 2x1 8/0 [r8/rg8] (r/gb) [unorm]
[   0.033][d][libmpv_render]   nv20 => 2 planes 2x1 16/-6 [r16/rg16] (r/gb) [unorm]
[   0.033][d][libmpv_render]   nv20be
[   0.033][d][libmpv_render]   rgba64be
[   0.033][d][libmpv_render]   bgra64be
[   0.033][d][libmpv_render]   bgra64 => 1 planes 1x1 16/0 [rgba16] (bgra) [unorm]
[   0.033][d][libmpv_render]   yvyu422
[   0.033][d][libmpv_render]   ya16be
[   0.033][d][libmpv_render]   ya16 => 1 planes 1x1 16/0 [rg16] (ra) [unorm]
[   0.033][d][libmpv_render]   gbrap => 4 planes 1x1 8/0 [r8/r8/r8/r8] (g/b/r/a) [unorm]
[   0.033][d][libmpv_render]   gbrap16be
[   0.033][d][libmpv_render]   gbrap16 => 4 planes 1x1 16/0 [r16/r16/r16/r16] (g/b/r/a) [unorm]
[   0.033][d][libmpv_render]   qsv
[   0.033][d][libmpv_render]   d3d11va_vld
[   0.033][d][libmpv_render]   yuv420p12be
[   0.033][d][libmpv_render]   yuv420p12 => 3 planes 2x2 16/-4 [r16/r16/r16] (r/g/b) [unorm]
[   0.033][d][libmpv_render]   yuv420p14be
[   0.033][d][libmpv_render]   yuv420p14 => 3 planes 2x2 16/-2 [r16/r16/r16] (r/g/b) [unorm]
[   0.033][d][libmpv_render]   yuv422p12be
[   0.033][d][libmpv_render]   yuv422p12 => 3 planes 2x1 16/-4 [r16/r16/r16] (r/g/b) [unorm]
[   0.033][d][libmpv_render]   yuv422p14be
[   0.033][d][libmpv_render]   yuv422p14 => 3 planes 2x1 16/-2 [r16/r16/r16] (r/g/b) [unorm]
[   0.033][d][libmpv_render]   yuv444p12be
[   0.033][d][libmpv_render]   yuv444p12 => 3 planes 1x1 16/-4 [r16/r16/r16] (r/g/b) [unorm]
[   0.033][d][libmpv_render]   yuv444p14be
[   0.033][d][libmpv_render]   yuv444p14 => 3 planes 1x1 16/-2 [r16/r16/r16] (r/g/b) [unorm]
[   0.033][d][libmpv_render]   gbrp12be
[   0.033][d][libmpv_render]   gbrp12 => 3 planes 1x1 16/-4 [r16/r16/r16] (g/b/r) [unorm]
[   0.033][d][libmpv_render]   gbrp14be
[   0.033][d][libmpv_render]   gbrp14 => 3 planes 1x1 16/-2 [r16/r16/r16] (g/b/r) [unorm]
[   0.033][d][libmpv_render]   yuvj411p => 3 planes 4x1 8/0 [r8/r8/r8] (r/g/b) [unorm]
[   0.033][d][libmpv_render]   bayer_bggr8
[   0.033][d][libmpv_render]   bayer_rggb8
[   0.033][d][libmpv_render]   bayer_gbrg8
[   0.033][d][libmpv_render]   bayer_grbg8
[   0.033][d][libmpv_render]   bayer_bggr16
[   0.033][d][libmpv_render]   bayer_bggr16be
[   0.033][d][libmpv_render]   bayer_rggb16
[   0.033][d][libmpv_render]   bayer_rggb16be
[   0.033][d][libmpv_render]   bayer_gbrg16
[   0.033][d][libmpv_render]   bayer_gbrg16be
[   0.033][d][libmpv_render]   bayer_grbg16
[   0.033][d][libmpv_render]   bayer_grbg16be
[   0.033][d][libmpv_render]   xvmc
[   0.033][d][libmpv_render]   yuv440p10 => 3 planes 1x2 16/-6 [r16/r16/r16] (r/g/b) [unorm]
[   0.033][d][libmpv_render]   yuv440p10be
[   0.033][d][libmpv_render]   yuv440p12 => 3 planes 1x2 16/-4 [r16/r16/r16] (r/g/b) [unorm]
[   0.033][d][libmpv_render]   yuv440p12be
[   0.033][d][libmpv_render]   ayuv64 => 1 planes 1x1 16/0 [rgba16] (argb) [unorm]
[   0.033][d][libmpv_render]   ayuv64be
[   0.033][d][libmpv_render]   p010be
[   0.033][d][libmpv_render]   gbrap12be
[   0.033][d][libmpv_render]   gbrap12 => 4 planes 1x1 16/-4 [r16/r16/r16/r16] (g/b/r/a) [unorm]
[   0.033][d][libmpv_render]   gbrap10be
[   0.033][d][libmpv_render]   gbrap10 => 4 planes 1x1 16/-6 [r16/r16/r16/r16] (g/b/r/a) [unorm]
[   0.033][d][libmpv_render]   gray12be
[   0.033][d][libmpv_render]   gray12 => 1 planes 1x1 16/-4 [r16] (r) [unorm]
[   0.033][d][libmpv_render]   gray10be
[   0.033][d][libmpv_render]   gray10 => 1 planes 1x1 16/-6 [r16] (r) [unorm]
[   0.033][d][libmpv_render]   p016 => 2 planes 2x2 16/0 [r16/rg16] (r/gb) [unorm]
[   0.033][d][libmpv_render]   p016be
[   0.033][d][libmpv_render]   gray9be
[   0.033][d][libmpv_render]   gray9 => 1 planes 1x1 16/-7 [r16] (r) [unorm]
[   0.033][d][libmpv_render]   gbrpf32be
[   0.033][d][libmpv_render]   gbrpf32 => 3 planes 1x1 32/0 [r16f/r16f/r16f] (g/b/r) [float]
[   0.033][d][libmpv_render]   gbrapf32be
[   0.033][d][libmpv_render]   gbrapf32 => 4 planes 1x1 32/0 [r16f/r16f/r16f/r16f] (g/b/r/a) [float]
[   0.033][d][libmpv_render]   opencl
[   0.033][d][libmpv_render]   gray14be
[   0.033][d][libmpv_render]   gray14 => 1 planes 1x1 16/-2 [r16] (r) [unorm]
[   0.033][d][libmpv_render]   grayf32be
[   0.033][d][libmpv_render]   grayf32 => 1 planes 1x1 32/0 [r16f] (r) [float]
[   0.033][d][libmpv_render]   yuva422p12be
[   0.033][d][libmpv_render]   yuva422p12 => 4 planes 2x1 16/-4 [r16/r16/r16/r16] (r/g/b/a) [unorm]
[   0.033][d][libmpv_render]   yuva444p12be
[   0.033][d][libmpv_render]   yuva444p12 => 4 planes 1x1 16/-4 [r16/r16/r16/r16] (r/g/b/a) [unorm]
[   0.033][d][libmpv_render]   nv24 => 2 planes 1x1 8/0 [r8/rg8] (r/gb) [unorm]
[   0.033][d][libmpv_render]   nv42 => 2 planes 1x1 8/0 [r8/rg8] (r/bg) [unorm]
[   0.033][d][libmpv_render]   vulkan
[   0.033][d][libmpv_render]   y210be
[   0.033][d][libmpv_render]   y210
[   0.033][d][libmpv_render]   x2rgb10be
[   0.033][v][libmpv_render] Testing FBO format rgba16f
[   0.033][d][libmpv_render] Resizing texture: 16x16
[   0.034][v][libmpv_render] Using FBO format rgba16f.
[   0.034][v][libmpv_render] Disabling HDR peak computation (one or more of the following is not supported: compute shaders=0, SSBO=0).
[   0.034][v][libmpv_render] No advanced processing required. Enabling dumb mode.
[   0.034][v][libmpv_render] Loading hwdec driver 'videotoolbox'
[   0.034][d][global] config path: 'scripts' -/-> '/Users/low-batt/.config/mpv/scripts'
[   0.034][d][global] config path: 'scripts' -/-> '/Users/low-batt/.mpv/scripts'
[   0.034][d][global] config path: 'scripts' -/-> '/usr/local/etc/mpv/scripts'
[   0.034][v][cplayer] Waiting for scripts...
[   0.035][d][console] reading options for console 
[   0.035][d][global] config path: 'script-opts/console.conf' -/-> '/Users/low-batt/.config/mpv/script-opts/console.conf'
[   0.035][d][global] config path: 'script-opts/console.conf' -/-> '/Users/low-batt/.mpv/script-opts/console.conf'
[   0.035][d][global] config path: 'script-opts/console.conf' -/-> '/usr/local/etc/mpv/script-opts/console.conf'
[   0.035][d][console] script-opts/console.conf not found. 
[   0.035][d][global] config path: 'lua-settings/console.conf' -/-> '/Users/low-batt/.config/mpv/lua-settings/console.conf'
[   0.035][d][global] config path: 'lua-settings/console.conf' -/-> '/Users/low-batt/.mpv/lua-settings/console.conf'
[   0.035][d][global] config path: 'lua-settings/console.conf' -/-> '/usr/local/etc/mpv/lua-settings/console.conf'
[   0.035][d][console] lua-settings/console.conf not found. 
[   0.035][d][auto_profiles] Exiting...
[   0.036][d][cplayer] Run command: define-section, flags=64, args=[name="input_console", contents="", flags="default"]
[   0.036][d][cplayer] Run command: define-section, flags=64, args=[name="input_stats", contents="", flags="default"]
[   0.036][d][cplayer] Run command: enable-section, flags=64, args=[name="input_stats", flags="allow-hide-cursor+allow-vo-dragging"]
[   0.036][d][cplayer] Run command: enable-section, flags=64, args=[name="input_console", flags="allow-hide-cursor+allow-vo-dragging"]
[   0.036][d][cplayer] Run command: define-section, flags=64, args=[name="input_forced_console", contents="", flags="force"]
[   0.036][d][cplayer] Run command: define-section, flags=64, args=[name="input_forced_stats", contents="", flags="force"]
[   0.036][d][cplayer] Run command: enable-section, flags=64, args=[name="input_forced_stats", flags="allow-hide-cursor+allow-vo-dragging"]
[   0.036][d][cplayer] Run command: define-section, flags=64, args=[name="showhide", contents="mouse_move script-binding osc/__keybinding1\nmouse_leave script-binding osc/__keybinding2\n", flags="force"]
[   0.036][d][cplayer] Run command: define-section, flags=64, args=[name="showhide_wc", contents="mouse_move script-binding osc/__keybinding3\nmouse_leave script-binding osc/__keybinding4\n", flags="force"]
[   0.036][d][cplayer] Run command: enable-section, flags=64, args=[name="input_forced_console", flags="allow-hide-cursor+allow-vo-dragging"]
[   0.036][d][cplayer] Run command: enable-section, flags=64, args=[name="showhide", flags="allow-hide-cursor+allow-vo-dragging"]
[   0.036][d][cplayer] Run command: enable-section, flags=64, args=[name="showhide_wc", flags="allow-hide-cursor+allow-vo-dragging"]
[   0.036][d][cplayer] Run command: define-section, flags=64, args=[name="input", contents="mbtn_left script-binding osc/__keybinding5\nshift+mbtn_left script-binding osc/__keybinding6\nmbtn_right script-binding osc/__keybinding7\nmbtn_mid script-binding osc/__keybinding8\nwheel_up script-binding osc/__keybinding9\nwheel_down script-binding osc/__keybinding10\nmbtn_left_dbl ignore\nshift+mbtn_left_dbl ignore\nmbtn_right_dbl ignore\n", flags="force"]
[   0.036][d][cplayer] Run command: enable-section, flags=64, args=[name="input", flags=""]
[   0.036][d][cplayer] Run command: define-section, flags=64, args=[name="window-controls", contents="mbtn_left script-binding osc/__keybinding11\n", flags="force"]
[   0.036][d][cplayer] Run command: enable-section, flags=64, args=[name="window-controls", flags=""]
[   0.036][d][cplayer] Run command: change-list, flags=64, args=[name="shared-script-properties", operation="append", value="osc-visibility=auto"]
[   0.036][v][cplayer] Set property: shared-script-properties -> 1
[   0.036][d][cplayer] Run command: disable-section, flags=64, args=[name="input"]
[   0.036][d][cplayer] Run command: disable-section, flags=64, args=[name="window-controls"]
[   0.036][d][global] config path: 'fonts' -/-> '/Users/low-batt/.config/mpv/fonts'
[   0.036][d][global] config path: 'fonts' -/-> '/Users/low-batt/.mpv/fonts'
[   0.036][d][global] config path: 'fonts' -/-> '/usr/local/etc/mpv/fonts'
[   0.036][d][osd/libass] ASS library version: 0x1502000 (runtime 0x1502000)
[   0.036][v][osd/libass] libass API version: 0x1502000
[   0.036][v][osd/libass] libass source: tarball: 0.15.2
[   0.037][v][osd/libass] Shaper: FriBidi 1.0.11 (SIMPLE) HarfBuzz-ng 3.0.0 (COMPLEX)
[   0.037][d][global] config path: 'subfont.ttf' -/-> '/Users/low-batt/.config/mpv/subfont.ttf'
[   0.037][d][global] config path: 'subfont.ttf' -/-> '/Users/low-batt/.mpv/subfont.ttf'
[   0.037][d][global] config path: 'subfont.ttf' -/-> '/usr/local/etc/mpv/subfont.ttf'
[   0.037][d][global] config path: 'fonts.conf' -/-> '/Users/low-batt/.config/mpv/fonts.conf'
[   0.037][d][global] config path: 'fonts.conf' -/-> '/Users/low-batt/.mpv/fonts.conf'
[   0.037][d][global] config path: 'fonts.conf' -/-> '/usr/local/etc/mpv/fonts.conf'
[   0.037][v][osd/libass] Setting up fonts...
[   0.037][v][osd/libass] Using font provider coretext
[   0.037][v][osd/libass] Done.
[   0.038][d][cplayer] Run command: change-list, flags=64, args=[name="shared-script-properties", operation="append", value="osc-margins=0.000000,0.000000,0.000000,0.000000"]
[   0.038][v][cplayer] Set property: shared-script-properties -> 1
[   0.038][d][cplayer] Run command: change-list, flags=64, args=[name="shared-script-properties", operation="append", value="osc-margins=0.000000,0.000000,0.000000,0.000000"]
[   0.038][v][cplayer] Set property: shared-script-properties -> 1
[   0.038][d][osc] osc_init 
[   0.038][v][cplayer] Done loading scripts.
[   0.038][d][global] config path: 'watch_later' -> '/Users/low-batt/.config/mpv/watch_later'
[   0.038][v][cplayer] Running hook: ytdl_hook/on_load
[   0.038][v][ytdl_hook] ytdl:// hook 
[   0.038][v][ytdl_hook] not a ytdl:// url 
[   0.038][d][cplayer] Run command: change-list, flags=64, args=[name="shared-script-properties", operation="append", value="osc-margins=0.000000,0.000000,0.000000,0.000000"]
[   0.038][v][file] Opening Movies/resume-failure.mp4
[   0.038][v][cplayer] Set property: shared-script-properties -> 1
[   0.038][d][global] config path: 'fonts' -/-> '/Users/low-batt/.config/mpv/fonts'
[   0.038][d][global] config path: 'fonts' -/-> '/Users/low-batt/.mpv/fonts'
[   0.038][d][global] config path: 'fonts' -/-> '/usr/local/etc/mpv/fonts'
[   0.038][d][osd/libass] ASS library version: 0x1502000 (runtime 0x1502000)
[   0.038][v][osd/libass] libass API version: 0x1502000
[   0.038][v][osd/libass] libass source: tarball: 0.15.2
[   0.038][d][file] resize stream to 131072 bytes, drop 0 bytes
[   0.038][d][file] Stream opened successfully.
[   0.038][v][demux] Trying demuxers for level=normal.
[   0.038][d][demux] Trying demuxer: disc (force-level: normal)
[   0.038][d][demux] Trying demuxer: edl (force-level: normal)
[   0.038][d][demux] Trying demuxer: cue (force-level: normal)
[   0.038][d][demux] Trying demuxer: rawaudio (force-level: normal)
[   0.038][d][demux] Trying demuxer: rawvideo (force-level: normal)
[   0.038][d][demux] Trying demuxer: mkv (force-level: normal)
[   0.039][d][demux] Trying demuxer: libarchive (force-level: normal)
[   0.039][d][demux] Trying demuxer: lavf (force-level: normal)
[   0.039][v][osd/libass] Shaper: FriBidi 1.0.11 (SIMPLE) HarfBuzz-ng 3.0.0 (COMPLEX)
[   0.039][d][global] config path: 'subfont.ttf' -/-> '/Users/low-batt/.config/mpv/subfont.ttf'
[   0.039][d][global] config path: 'subfont.ttf' -/-> '/Users/low-batt/.mpv/subfont.ttf'
[   0.039][d][global] config path: 'subfont.ttf' -/-> '/usr/local/etc/mpv/subfont.ttf'
[   0.039][d][global] config path: 'fonts.conf' -/-> '/Users/low-batt/.config/mpv/fonts.conf'
[   0.039][d][global] config path: 'fonts.conf' -/-> '/Users/low-batt/.mpv/fonts.conf'
[   0.039][d][global] config path: 'fonts.conf' -/-> '/usr/local/etc/mpv/fonts.conf'
[   0.039][v][osd/libass] Setting up fonts...
[   0.039][v][osd/libass] Using font provider coretext
[   0.039][v][osd/libass] Done.
[   0.040][d][osc] osc_init 
[   0.040][d][cplayer] Run command: change-list, flags=64, args=[name="shared-script-properties", operation="append", value="osc-margins=0.000000,0.000000,0.000000,0.000000"]
[   0.040][v][cplayer] Set property: shared-script-properties -> 1
[   0.040][d][cplayer] Run command: define-section, flags=64, args=[name="input_osc", contents="", flags="default"]
[   0.040][d][cplayer] Run command: enable-section, flags=64, args=[name="input_osc", flags="allow-hide-cursor+allow-vo-dragging"]
[   0.040][d][cplayer] Run command: define-section, flags=64, args=[name="input_forced_osc", contents="", flags="force"]
[   0.040][d][cplayer] Run command: enable-section, flags=64, args=[name="input_forced_osc", flags="allow-hide-cursor+allow-vo-dragging"]
[   0.042][v][lavf] Found 'mov,mp4,m4a,3gp,3g2,mj2' at score=100 size=2048.
[   0.048][v][demux] Detected file format: mov,mp4,m4a,3gp,3g2,mj2 (libavformat)
[   0.048][v][cplayer] Opening done: Movies/resume-failure.mp4
[   0.048][v][find_files] Loading external files in Movies/
[   0.048][d][find_files] Potential external file: "[1]Airplane.1980.BluRay.720p.DTS.x264-CHD.eng.srt"  Priority: 0
[   0.048][d][find_files] Potential external file: "1.srt"  Priority: 0
[   0.048][d][find_files] Potential external file: "2.srt"  Priority: 0
[   0.048][d][find_files] Potential external file: "[3]The Man In The Gray Flannel Suit.srt"  Priority: 0
[   0.048][d][global] config path: 'sub' -/-> '/Users/low-batt/.config/mpv/sub'
[   0.048][d][global] config path: 'sub' -/-> '/Users/low-batt/.mpv/sub'
[   0.048][d][global] config path: 'sub' -/-> '/usr/local/etc/mpv/sub'
[   0.048][v][cplayer] Running hook: ytdl_hook/on_preloaded
[   0.049][v][lavf] select track 0
[   0.049][v][lavf] select track 1
[   0.049][i][cplayer]  (+) Video --vid=1 (*) (av1 3840x2160 60.000fps)
[   0.049][i][cplayer]  (+) Audio --aid=1 (*) (aac 6ch 48000Hz)
[   0.049][d][vo/libmpv] max content size: 3456x2054
[   0.049][d][vo/libmpv] monitor size: 3456x2054
[   0.052][v][osx/cocoacb] Can't find an ambient light sensor
[   0.052][v][vo/libmpv] Assuming 60.000002 FPS for display sync.
[   0.052][v][vd] Container reported FPS: 60.000000
[   0.052][v][vd] Codec list:
[   0.052][v][vd]     libdav1d (av1) - dav1d AV1 decoder by VideoLAN
[   0.052][v][vd]     av1 - Alliance for Open Media AV1
[   0.052][v][vd] Opening decoder libdav1d
[   0.052][v][vd] No hardware decoding requested.
[   0.052][v][vd] Using software decoding.
[   0.052][v][vd] Detected 10 logical cores.
[   0.052][v][vd] Requesting 11 threads for decoding.
[   0.052][v][ffmpeg/video] libdav1d: libdav1d 0.9.2
[   0.054][v][vd] Selected codec: libdav1d (dav1d AV1 decoder by VideoLAN)
[   0.054][v][vf] User filter list:
[   0.054][v][vf]   (empty)
[   0.055][v][ad] Codec list:
[   0.055][v][ad]     aac - AAC (Advanced Audio Coding)
[   0.055][v][ad]     aac_fixed (aac) - AAC (Advanced Audio Coding)
[   0.055][v][ad]     aac_at (aac) - aac (AudioToolbox)
[   0.055][v][ad] Opening decoder aac
[   0.055][v][ad] Requesting 1 threads for decoding.
[   0.056][v][ad] Selected codec: aac (AAC (Advanced Audio Coding))
[   0.056][v][af] User filter list:
[   0.056][v][af]   (empty)
[   0.056][v][cplayer] Starting playback...
[   0.056][v][af] [in] 48000Hz 5.1 6ch floatp
[   0.056][v][af] [userspeed] 48000Hz 5.1 6ch floatp
[   0.056][v][af] [userspeed] (disabled)
[   0.056][v][af] [convert] 48000Hz 5.1 6ch floatp
[   0.080][v][vd] Using software decoding.
[   0.080][v][vd] Decoder format: 3840x2160 yuv420p bt.709/bt.709/bt.1886/limited/auto CL=unknown
[   0.080][v][vd] Using container aspect ratio.
[   0.080][v][vf] [in] 3840x2160 yuv420p bt.709/bt.709/bt.1886/limited/display SP=1.000000 CL=mpeg2/4/h264
[   0.080][v][vf] [userdeint] 3840x2160 yuv420p bt.709/bt.709/bt.1886/limited/display SP=1.000000 CL=mpeg2/4/h264
[   0.080][v][vf] [userdeint] (disabled)
[   0.080][v][vf] [autorotate] 3840x2160 yuv420p bt.709/bt.709/bt.1886/limited/display SP=1.000000 CL=mpeg2/4/h264
[   0.080][v][vf] [autorotate] (disabled)
[   0.080][v][vf] [convert] 3840x2160 yuv420p bt.709/bt.709/bt.1886/limited/display SP=1.000000 CL=mpeg2/4/h264
[   0.080][v][vf] [convert] (disabled)
[   0.080][v][vf] [out] 3840x2160 yuv420p bt.709/bt.709/bt.1886/limited/display SP=1.000000 CL=mpeg2/4/h264
[   0.081][d][osc] osc_init 
[   0.081][d][cplayer] Run command: change-list, flags=64, args=[name="shared-script-properties", operation="append", value="osc-margins=0.000000,0.000000,0.000000,0.000000"]
[   0.081][v][cplayer] Set property: shared-script-properties -> 1
[   0.081][v][ao] Trying audio driver 'coreaudio'
[   0.081][v][ao/coreaudio] requested format: 48000 Hz, 5.1 channels, floatp
[   0.097][v][ao/coreaudio] selected audio output device: MacBook Pro Speakers (44)
[   0.097][v][ao/coreaudio] input channel layout:
[   0.097][v][ao/coreaudio] layout: tag: <0>, bitmap: <0>, descriptions <2>
[   0.097][v][ao/coreaudio]  - description 0: label <4294967295, 64>,  flags: <0>, coords: <0.000000, 0.000000, 0.000000>
[   0.097][v][ao/coreaudio]  - description 1: label <4294967295, 64>,  flags: <0>, coords: <0.000000, 0.000000, 0.000000>
[   0.097][v][ao/coreaudio] mp chmap: unknown2
[   0.097][v][ao/coreaudio] input channel layout:
[   0.097][v][ao/coreaudio] layout: tag: <0>, bitmap: <0>, descriptions <2>
[   0.098][v][ao/coreaudio]  - description 0: label <1, 0>,  flags: <0>, coords: <0.000000, 0.000000, 0.000000>
[   0.098][v][ao/coreaudio]  - description 1: label <2, 1>,  flags: <0>, coords: <0.000000, 0.000000, 0.000000>
[   0.098][v][ao/coreaudio] mp chmap: stereo
[   0.098][v][ao/coreaudio] Channel layouts:
[   0.098][v][ao/coreaudio]  - stereo
[   0.098][v][ao/coreaudio]  - mono
[   0.098][v][ao/coreaudio] result: stereo
[   0.105][v][ao/coreaudio] Latency property cntl: 70 frames
[   0.105][v][ao/coreaudio] Latency property zisf: 512 frames
[   0.105][v][ao/coreaudio] Latency property tfas: 74 frames
[   0.105][v][ao/coreaudio] audiounit latency [us]: 0
[   0.105][v][ao/coreaudio] device latency [us]: 13666
[   0.105][v][ao/coreaudio] using soft-buffer of 9600 samples.
[   0.105][i][cplayer] AO: [coreaudio] 48000Hz stereo 2ch floatp
[   0.105][v][cplayer] AO: Description: CoreAudio AudioUnit
[   0.105][v][autoconvert] inserting resampler
[   0.106][v][swresample] format change, reinitializing resampler
[   0.106][v][swresample] 48000Hz 5.1 floatp -> 48000Hz stereo floatp
[   0.106][v][swresample] Remix: 5.1 -> stereo
[   0.106][v][af] [out] 48000Hz stereo 2ch floatp
[   0.106][i][cplayer] VO: [libmpv] 3840x2160 yuv420p
[   0.106][v][cplayer] VO: Description: render API for libmpv
[   0.106][v][vo/libmpv] reconfig to 3840x2160 yuv420p bt.709/bt.709/bt.1886/limited/display SP=1.000000 CL=mpeg2/4/h264
[   0.131][d][vo/libmpv] max content size: 3456x2054
[   0.131][d][vo/libmpv] monitor size: 3456x2054
[   0.150][v][libmpv_render] Texture for plane 0: 3840x2160
[   0.150][v][libmpv_render] Texture for plane 1: 1920x1080
[   0.150][v][libmpv_render] Texture for plane 2: 1920x1080
[   0.150][v][libmpv_render] Testing FBO format rgba16f
[   0.150][d][libmpv_render] Resizing texture: 16x16
[   0.150][v][libmpv_render] Using FBO format rgba16f.
[   0.150][v][libmpv_render] No advanced processing required. Enabling dumb mode.
[   0.161][v][cplayer] first video frame after restart shown
[   0.161][d][cplayer] Run command: script-binding, flags=73, args=[name="osc/__keybinding4"]
[   0.162][v][cplayer] audio ready
[   0.162][d][cplayer] starting video playback
[   0.162][v][cplayer] delaying audio start 0.000000 vs. 0.000000, diff=0.000000
[   0.162][v][cplayer] playback restart complete @ 0.000000, audio=ready, video=playing
[   0.163][v][cplayer] starting audio playback
[   0.163][v][libmpv_render] Window size: 7680x4322 (Borders: l=0 t=0 r=0 b=0)
[   0.163][v][libmpv_render] Video source: 3840x2160 (1:1)
[   0.163][v][libmpv_render] Video display: (0, 0) 3840x2160 -> (0, 1) 7680x4320
[   0.163][v][libmpv_render] Video scale: 2.000000/2.000000
[   0.163][v][libmpv_render] OSD borders: l=0 t=1 r=0 b=1
[   0.163][v][libmpv_render] Video borders: l=0 t=1 r=0 b=1
[   0.177][d][libmpv_render] vertex shader source:
[   0.178][d][libmpv_render] [  1] #version 410
[   0.178][d][libmpv_render] [  2] #define tex1D texture
[   0.178][d][libmpv_render] [  3] #define tex3D texture
[   0.178][d][libmpv_render] [  4] #define LUT_POS(x, lut_size) mix(0.5 / (lut_size), 1.0 - 0.5 / (lut_size), (x))
[   0.178][d][libmpv_render] [  5] in vec2 vertex_position;
[   0.178][d][libmpv_render] [  6] in vec2 vertex_texcoord0;
[   0.178][d][libmpv_render] [  7] out vec2 texcoord0;
[   0.178][d][libmpv_render] [  8] in vec2 vertex_texcoord1;
[   0.178][d][libmpv_render] [  9] out vec2 texcoord1;
[   0.178][d][libmpv_render] [ 10] in vec2 vertex_texcoord2;
[   0.178][d][libmpv_render] [ 11] out vec2 texcoord2;
[   0.178][d][libmpv_render] [ 12] void main() {
[   0.178][d][libmpv_render] [ 13] gl_Position = vec4(vertex_position, 1.0, 1.0);
[   0.178][d][libmpv_render] [ 14] texcoord0 = vertex_texcoord0;
[   0.178][d][libmpv_render] [ 15] texcoord1 = vertex_texcoord1;
[   0.178][d][libmpv_render] [ 16] texcoord2 = vertex_texcoord2;
[   0.178][d][libmpv_render] [ 17] }
[   0.178][d][libmpv_render] fragment shader source:
[   0.178][d][libmpv_render] [  1] #version 410
[   0.178][d][libmpv_render] [  2] #define tex1D texture
[   0.178][d][libmpv_render] [  3] #define tex3D texture
[   0.178][d][libmpv_render] [  4] #define LUT_POS(x, lut_size) mix(0.5 / (lut_size), 1.0 - 0.5 / (lut_size), (x))
[   0.178][d][libmpv_render] [  5] out vec4 out_color;
[   0.178][d][libmpv_render] [  6] in vec2 texcoord0;
[   0.178][d][libmpv_render] [  7] in vec2 texcoord1;
[   0.178][d][libmpv_render] [  8] in vec2 texcoord2;
[   0.178][d][libmpv_render] [  9] uniform mat3 colormatrix;
[   0.178][d][libmpv_render] [ 10] uniform vec3 colormatrix_c;
[   0.178][d][libmpv_render] [ 11] uniform vec3 src_luma;
[   0.178][d][libmpv_render] [ 12] uniform vec3 dst_luma;
[   0.178][d][libmpv_render] [ 13] uniform sampler2D texture0;
[   0.178][d][libmpv_render] [ 14] uniform vec2 texture_size0;
[   0.178][d][libmpv_render] [ 15] uniform mat2 texture_rot0;
[   0.178][d][libmpv_render] [ 16] uniform vec2 texture_off0;
[   0.178][d][libmpv_render] [ 17] uniform vec2 pixel_size0;
[   0.178][d][libmpv_render] [ 18] uniform sampler2D texture1;
[   0.178][d][libmpv_render] [ 19] uniform vec2 texture_size1;
[   0.178][d][libmpv_render] [ 20] uniform mat2 texture_rot1;
[   0.178][d][libmpv_render] [ 21] uniform vec2 texture_off1;
[   0.178][d][libmpv_render] [ 22] uniform vec2 pixel_size1;
[   0.178][d][libmpv_render] [ 23] uniform sampler2D texture2;
[   0.178][d][libmpv_render] [ 24] uniform vec2 texture_size2;
[   0.178][d][libmpv_render] [ 25] uniform mat2 texture_rot2;
[   0.178][d][libmpv_render] [ 26] uniform vec2 texture_off2;
[   0.178][d][libmpv_render] [ 27] uniform vec2 pixel_size2;
[   0.178][d][libmpv_render] [ 28] void main() {
[   0.178][d][libmpv_render] [ 29] vec4 color = vec4(0.0, 0.0, 0.0, 1.0);
[   0.178][d][libmpv_render] [ 30] color.r = 1.000000 * vec4(texture(texture0, texcoord0)).r;
[   0.178][d][libmpv_render] [ 31] color.g = 1.000000 * vec4(texture(texture1, texcoord1)).r;
[   0.178][d][libmpv_render] [ 32] color.b = 1.000000 * vec4(texture(texture2, texcoord2)).r;
[   0.178][d][libmpv_render] [ 33] color = color.rgbr;
[   0.178][d][libmpv_render] [ 34] color.rgb = mat3(colormatrix) * color.rgb + colormatrix_c;
[   0.178][d][libmpv_render] [ 35] color.a = 1.0;
[   0.178][d][libmpv_render] [ 36] // color mapping
[   0.178][d][libmpv_render] [ 37] color.rgb *= vec3(1.000000);
[   0.178][d][libmpv_render] [ 38] color.rgb *= vec3(1.000000);
[   0.178][d][libmpv_render] [ 39] out_color = color;
[   0.178][d][libmpv_render] [ 40] }
[   0.179][d][libmpv_render] shader link log (status=1): 
[   0.190][d][osc] osc_init 
[   0.191][d][cplayer] Run command: change-list, flags=64, args=[name="shared-script-properties", operation="append", value="osc-margins=0.000000,0.000000,0.000000,0.000000"]
[   0.191][v][cplayer] Set property: shared-script-properties -> 1
[   0.909][d][cplayer] Run command: script-binding, flags=73, args=[name="osc/__keybinding4"]
[   3.629][v][libmpv_render] Window size: 1728x972 (Borders: l=0 t=0 r=0 b=0)
[   3.629][v][libmpv_render] Video source: 3840x2160 (1:1)
[   3.629][v][libmpv_render] Video display: (0, 0) 3840x2160 -> (0, 0) 1728x972
[   3.629][v][libmpv_render] Video scale: 0.450000/0.450000
[   3.629][v][libmpv_render] OSD borders: l=0 t=0 r=0 b=0
[   3.629][v][libmpv_render] Video borders: l=0 t=0 r=0 b=0
[   3.629][d][osc] osc_init 
[   3.630][d][cplayer] Run command: change-list, flags=64, args=[name="shared-script-properties", operation="append", value="osc-margins=0.000000,0.000000,0.000000,0.000000"]
[   3.630][v][cplayer] Set property: shared-script-properties -> 1
[   3.958][d][cplayer] Run command: change-list, flags=64, args=[name="shared-script-properties", operation="append", value="osc-margins=0.000000,0.000000,0.000000,0.000000"]
[   3.958][v][cplayer] Set property: shared-script-properties -> 1
[   3.972][d][cplayer] Run command: enable-section, flags=64, args=[name="input", flags=""]
[   3.990][v][osd/libass] fontselect: (sans-serif, 400, 0) -> /System/Library/Fonts/Helvetica.ttc, -1, Helvetica
[   3.991][v][osd/libass] fontselect: (mpv-osd-symbols, 400, 0) -> mpv-osd-symbols-Regular, 0, mpv-osd-symbols-Regular
[   3.992][v][libmpv_render] Reallocating OSD texture to 2048x256.
[   3.993][d][libmpv_render] vertex shader source:
[   3.993][d][libmpv_render] [  1] #version 410
[   3.993][d][libmpv_render] [  2] #define tex1D texture
[   3.993][d][libmpv_render] [  3] #define tex3D texture
[   3.993][d][libmpv_render] [  4] #define LUT_POS(x, lut_size) mix(0.5 / (lut_size), 1.0 - 0.5 / (lut_size), (x))
[   3.993][d][libmpv_render] [  5] in vec2 vertex_position;
[   3.993][d][libmpv_render] [  6] in vec2 vertex_texcoord;
[   3.993][d][libmpv_render] [  7] out vec2 texcoord;
[   3.993][d][libmpv_render] [  8] in vec4 vertex_ass_color;
[   3.993][d][libmpv_render] [  9] out vec4 ass_color;
[   3.993][d][libmpv_render] [ 10] void main() {
[   3.993][d][libmpv_render] [ 11] gl_Position = vec4(vertex_position, 1.0, 1.0);
[   3.993][d][libmpv_render] [ 12] texcoord = vertex_texcoord;
[   3.993][d][libmpv_render] [ 13] ass_color = vertex_ass_color;
[   3.993][d][libmpv_render] [ 14] }
[   3.993][d][libmpv_render] fragment shader source:
[   3.993][d][libmpv_render] [  1] #version 410
[   3.993][d][libmpv_render] [  2] #define tex1D texture
[   3.993][d][libmpv_render] [  3] #define tex3D texture
[   3.993][d][libmpv_render] [  4] #define LUT_POS(x, lut_size) mix(0.5 / (lut_size), 1.0 - 0.5 / (lut_size), (x))
[   3.993][d][libmpv_render] [  5] out vec4 out_color;
[   3.993][d][libmpv_render] [  6] in vec2 texcoord;
[   3.993][d][libmpv_render] [  7] in vec4 ass_color;
[   3.993][d][libmpv_render] [  8] uniform sampler2D osdtex;
[   3.993][d][libmpv_render] [  9] uniform vec3 src_luma;
[   3.993][d][libmpv_render] [ 10] uniform vec3 dst_luma;
[   3.993][d][libmpv_render] [ 11] void main() {
[   3.993][d][libmpv_render] [ 12] vec4 color = vec4(0.0, 0.0, 0.0, 1.0);
[   3.993][d][libmpv_render] [ 13] color = vec4(ass_color.rgb, ass_color.a * texture(osdtex, texcoord).r);
[   3.993][d][libmpv_render] [ 14] // color mapping
[   3.993][d][libmpv_render] [ 15] color.rgb *= vec3(1.000000);
[   3.993][d][libmpv_render] [ 16] color.rgb *= vec3(1.000000);
[   3.993][d][libmpv_render] [ 17] out_color = color;
[   3.993][d][libmpv_render] [ 18] }
[   3.994][d][libmpv_render] shader link log (status=1): 
[   4.847][d][cplayer] Run command: script-binding, flags=73, args=[name="osc/__keybinding4"]
[   5.088][d][cplayer] Run command: change-list, flags=64, args=[name="shared-script-properties", operation="append", value="osc-margins=0.000000,0.000000,0.000000,0.000000"]
[   5.088][v][cplayer] Set property: shared-script-properties -> 1
[   5.088][d][cplayer] Run command: disable-section, flags=64, args=[name="input"]
[  26.809][v][ipc_0] Client connected
[  26.809][d][cplayer] Run command: write-watch-later-config, flags=64, args=[]
[  26.809][d][global] config path: '/Users/low-batt/.config/mpv/watch_later' -> '/Users/low-batt/.config/mpv/watch_later'
[  26.810][i][cplayer] Saving state.
[  26.810][v][ipc_0] Client disconnected
[  26.810][d][ipc_0] Exiting...
[  26.835][v][ipc_1] Client connected
[  26.835][d][cplayer] Run command: stop, flags=64, args=[flags=""]
[  26.835][d][global] config path: '/Users/low-batt/.config/mpv/watch_later' -> '/Users/low-batt/.config/mpv/watch_later'
[  26.835][i][cplayer] Saving state.
[  26.836][v][ipc_1] Client disconnected
[  26.836][d][ipc_1] Exiting...
[  26.836][v][cplayer] EOF code: 4  
[  26.861][v][ipc_2] Client connected
[  26.866][d][ad] Uninit decoder.
[  26.866][d][vd] Uninit decoder.
[  26.866][d][cplayer] Terminating demuxers...
[  26.866][d][cplayer] Run command: quit, flags=64, args=[code="0"]
[  26.866][d][global] config path: '/Users/low-batt/.config/mpv/watch_later' -> '/Users/low-batt/.config/mpv/watch_later'
[  26.866][i][cplayer] Saving state.
[  26.866][i][cplayer] Not seekable, or time unknown - not saving position.
[  26.867][v][ipc_2] Client disconnected
[  26.867][d][ipc_2] Exiting...
[  26.867][d][cplayer] Done terminating demuxers.
[  26.867][v][cplayer] finished playback, success (reason 3)
[  26.867][i][cplayer] 
[  26.867][i][cplayer] Exiting... (Quit)
[  26.867][d][ytdl_hook] Exiting...
[  26.867][d][cplayer] Run command: change-list, flags=64, args=[name="shared-script-properties", operation="remove", value="osc-margins"]
[  26.867][d][console] Exiting...
[  26.867][v][cplayer] Set property: shared-script-properties -> 1
[  26.867][d][stats] Exiting...
[  26.867][d][osc] Exiting...
[  26.870][d][libmpv_render] flushing shader cache
[  26.870][d][osx] Exiting...
Sample files

I downloaded Big Buck Bunny 60fps 4K and was using that video, but this issue is not sensitive to the video being played.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the race with the IPC commands write-watch-later-config, stop, and quit while using --save-position-on-quit. Trace how these commands interact during playback termination; done means the watch-later file retains the saved position and quitting does not overwrite it with an empty state.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
cli
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.