MPV

mpv:rcombs/macos-fixes

Last commit made on 2021-11-28
Get this branch:
git clone -b rcombs/macos-fixes https://git.launchpad.net/mpv

Branch merges

Branch information

Name:
rcombs/macos-fixes
Repository:
lp:mpv

Recent commits

b044f08... by Ridley Combs

ao_coreaudio: fix some incorrect channel mappings

761d4c8... by Ridley Combs

cocoa: fix pasteboard deprecation warnings

fcf7e1f... by Ridley Combs

ao_coreaudio: fix getting non-ASCII device descriptions

4991ffa... by Niklas Haas <email address hidden>

vo_gpu_next: implement VOCTRL_SCREENSHOT

Somewhat annoying but still relatively straightforward. There are
several ways to approach this, but I settled on reusing the pl_queue as
a cheap way to get access to the currently mapped frame. This saves us
from having to process `vo_frame` at all, and also avoids any overhead
from re-uploading the same frame twice.

(However maybe there's some circumstance in which `vo_frame` needs to be
queried/updated first, to get a screenshot of the correct frame? I'm not
sure.)

I also had the option of going with either pl_render_image() on the
extract pl_frame, or just calling pl_render_image_mix directly on it. I
went for the latter, because in the optimal case, this allows the
rendered frame to be directly retrieved from the cache, actually
entirely avoiding any sort of recompute overhead. This makes e.g. ctrl+s
during playback essentially free. (Except for the download cost,
obviously)

It would be even neater if we could make this VOCTRL asynchronous and
thereby leverage libplacebo's asynchronous download capabilities. But oh
well. That will have to wait for a sufficiently rainy day.

Closes #9388

c66f3b0... by Niklas Haas <email address hidden>

vo_gpu_next: factor out some common helpers

In preparation of VOCTRL_SCREENSHOT support

f08db00... by Dudemanguy <email address hidden>

client API: also export mpv_client_api_version

20c4036daa680ebf9d379c9a7566bcf3ae12d405 switched to using symbol
visibility attributes for mpv client api functions (for the meson build
at least). Unfortunately mpv_client_api_version was mistakenly missed.
We need to export this function as well. Fixes #9531.

448fe02... by Funami580 <email address hidden>

osc: fix cache displaying 60s in some cases

It was caused by string.format rounding e.g. 59.9 to 60.

cc4ac14... by Niklas Haas <email address hidden>

vo_gpu_next: guard sentinel in free_dr_buf

As noticed in #9526, apparently there's some case in which DR buffers
get corrupted. Add an explicit sentinel check to try and figure out
which cases these are.

059bd3d... by shlomo choina

meson: correct champ.c to chmap.c

meson: correct champ.c to chmap.c

ec97b3f... by Dudemanguy <email address hidden>

meson: add a temporary workaround for iconv crap

The initial iconv dependency worked everywhere but was broken on
freebsd. This was fixed in 0.60.2 but the fix accidentally broke mingw
(ouch; kind of my fault for not double checking). There's another PR to
fix this but that won't land until 0.60.3 so for the meantime just
if/else this (both freebsd and windows work with the system method)
until we want to bump the meson version (probably not for a while since
opensuse tumbleweed is weirdly slow).