VSYNC can easily happens in multiple modules at the same time, and the
CFRunLoop code to avoid deadlock seems to lead this to inversions, so
remove the VSYNC when disabling the window.
The previous fix was dropped in 233747ab4c
when updating harfbuzz. The previous (local) patch for fixing the matter
didn't fit without conflicts - instead of updating that patch, backport
the upstream fix (removing the unused variable - our previous fix was to
remove -Werror for -Wunused).
It seems that python3 is already specified in all the VLC
contribs/tools.
Fixes build on systems not having a shortcut python -> python3 (macOS
for example).
aout_DecDrain() is now asynchronous, except for modules still implementing
aout->drain (only during the transition).
Add aout->drain_async(). Aout modules should implement drain_async
instead of drain, and call aout_DrainedReport() to report that the
stream is drained.
Aout modules not implementing any drain functions will still rely on
aout_TimeGet() to detect the end of the stream.
I hate the myself of 2years ago for the lack of explanion on the
original commit. But DTS 14b inside WAV is now played as PCM, using the
same receiver with the same Windows machine than 2 years ago.
Reverting this commit fix it (for 14b and 16b). Maybe a receiver or a
Windows update fixed it ?
This reverts commit 3c68e5ff1f.
Previously, the volume and mute properties would read their default
values (0 and false respectively) since neither Open() or Start()
would call aout_{Volume,Mute}Report by themselves.
Now, the initial volume and mute status are read during Start(), which
means that setting the volume should work after the first
volume_changed event is received by a libvlc consumer.
Partial workaround for #26032.
As a result, reporting the volume level after (un)muting is no longer
necessary (d104faec19).
The chans_to_reorder variable was reset after being set up. Channel
reordering was *not* needed for 5.1 and below, but was needed for upper
configurations.
This reverts commit dcb42685eb.
My bad ! This commit is useless, the code and the documentation were
perfectly clear:
"This callback may be called concurrently with time_get(), play(),
pause() or flush(). It will however be protected against concurrent
calls to start(), stop(), volume_set(), mute_set() or device_select()."
The config "advanced" flag was unused and has been removed by
6a7a137f7b.
It has been removed from many add_*() macros, but not all. Remove it
from the remaining macros.
Set volume/mute function pointers when handle is freed, to ensure
sio_setvol() is not called on a freed handle. Fixes crashes when volume
is adjusted while playback is stopped.
Fixes#25796