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
See VLCKit commit:
From eb4c129f6dd90be159fe9b16a62e6a813737df9d Mon Sep 17 00:00:00 2001
From: Maxime CHAPELET <umxprime.videolabs@gmail.com>
Date: Thu, 4 Nov 2021 16:03:36 +0100
Subject: [PATCH] Move -g flag after contrib compilation to prevent potential
issues with third parties build systems (+1 squashed commit) Squashed
commits: [efbc2a9] Add -g flag in order to generate complete libvlc debug
infos with Clang compiler
vout_Request() can be called on a started or stopped vout, it will try
to let the vout alive even in case of error (to let the user decide what
to do). There are some corner case where it returns an error and the
vout is stopped. In that case, the input resource was trying to stop the
already stopped vout.
To fix this issue, also return the vout state from vout_Request().
Fixes#26345
When the window is enabled again, size might not be updated if the view
already has the correct size.
Co-authored-by: Maxime Chapelet <umxprime@videolabs.io>
Use display_lock to ensure visibility is correctly taken into account,
and set up a temporary state including width and height instead of
overriding it.