Note: MPV OSC Disappears in v0.38.0

Published on

Original language: Chinese . AI translations: English , Japanese .


Updated mpv, and the third-party OSC broke.

Fix

In the OSC script, change
utils.shared_script_property_set("osc-visibility", mode)
to
mp.set_property_native("user-data/osc/visibility", mode)

Ref:
Reddit - OSC not working after v0.37.0

Notes On What Happened

I use this on-screen controller: Github - mpv-osc-modern-f. It looks nicer than mpv’s built-in one.
But today the OSC broke and stopped showing up entirely.
Switching back to mpv’s built-in OSC worked fine.

I checked my local config and it didn’t look like I accidentally changed anything.
Searching online didn’t help either.

Later it occurred to me that it might be caused by a software upgrade.

Terminal window
sudo pacman -U https://archive.archlinux.org/packages/m/mpv/mpv-1%3A0.37.0-3-x86_64.pkg.tar.zst

After downgrading mpv to v0.37.0-3, the OSC displayed normally again.
So it really is something in versions after v0.38.0.

I searched again and found this post: Reddit - OSC not working after v0.37.0.
The solution is in the comments:

Comment
byu/Nisheshg5 from discussion
inmpv

I tried it: in modernf.lua, change
utils.shared_script_property_set("osc-visibility", mode)
to
mp.set_property_native("user-data/osc/visibility", mode)
and it worked.

Also saw someone mention the same issue on GitHub:
GitHub - script has error in mpv 0.38 and above; shared script property not supported anymore #51