So this had a long list of OS specific device files for CD and DVD
physical devices. If we ever migrate to a new build system, this will be
a PITA for rather questionable usefulness. For example, Linux does
provide /dev/sr0, but it also creates /dev/cdrom and /dev/dvd symlinks.
For Windows, it's sort of ridiculous to hardcode D: (well, might still
work).
Get rid of this stuff, hardcode a single device name on Unix, keep D: on
Windows. In general, this probably requires runtime detection in theory,
so it's not much of a sin to move these from the build system to the
code, even if we don't make use of determining the device at runtime
yet.
This should not invite to add new ifdeffery to add device files for
other Unix variants. Rather, if anyone wants to extend this, I'd argue
they should add proper runtime detection of the device. Or, even better,
create an appropriate symlink on their systems.
AOs which use the "push" API must set this field now. Actually, this was
sort of always required, but happened to work anyway. The future
intention is to use device_buffer as the pre-buffer amount, which has to
be available right before audio playback is started. "Pull" AOs really
need this too conceptually, just that the API is underspecified.
From what I can see, only ao_null did not do this yet.
Previously, device_buffer defaulted to 0 on pulse. This meant that
commit baa7b5c would always wait with a timeout of 0, leading to
high CPU usage for PulseAudio users.
By setting device_buffer to the number of samples per channel that
PulseAudio sets as its target, this commit fixes this behaviour.
cocoa-cb: properly reset window isMoving state on title bar clicks
since the title bar catches the mouse up and down events, the underlying
events view doesn't reset the isMoving state and no mouse movements are
signalled to the core. now we also reset the state in mouse up events
on the title bar.
vo_gpu: fix display corruption with window screenshots
The "screenshot window" command (ctrl+s by default) somehow broke video
colors with --gpu-api=vulkan --profile=gpu-hq when playback was paused.
I don't know the cause, but the rest of the code seems to imply
gl_video_reset_surfaces() needs to be called manually to flush some
caches, and it fixes the issue, so I assume there's no great mystery
here.