... to restore compatiblity with Python 3.6.
This was initroduced in commit 177d049950,
which broke compilation on openSUSE Leap 15, which uses Python 3.6 als
default Python interpreter.
Fixes#28636
Signed-off-by: Olaf Hering <olaf@aepfle.de>
Use system preferred RNG and skip the unnecessary initialization steps (in this
context, which is definitely not security related)
The vlc_rand_bytes function is now about 55x faster when called repeatedly in a loop
See https://learn.microsoft.com/en-us/windows/win32/api/bcrypt/nf-bcrypt-bcryptgenrandom for more details
Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>
RFC9110 specifies that a client must handle a shorter response range
than requested in all circumstanges. Previously, RFC7233 only required
that behaviour for multipart ranges, which VLC did not use.
This matches the newer specification: VLC will try to resume from the
last received offset not only on unexpected error, but also on short
response.
Fixes#28627.
Player timer states are not really states but events. It is possible to
receive a discontinuity while paused, in that case, the paused state was
overridden causing UI timers to continue while paused. Store each events
in different variables to fix this issue. Keeping the discontinuity
event in the internal player state is useless since
1ecb283c87.
Fixes#28622
This module enables SpatialAudio when playing multi channels content.
This module has finer A/V sync delay:
- 15-40ms on speaker/HDMI
- -80ms with AirPlay
- 80ms with bluetooth devices (was 250ms before).
Airplay playback is now more stable, the VLC delay (via
aout_TimingReport) is less than 100ms, so audio and video will play
almost instantaneously.
With audiounit_ios, the delay was 2 seconds making it harder to sync
audio and video (since input tracks had to be delayed too).
Note that even if the audio seems to be playing from the VLC side, the
airplay will be silent for the first 2seconds. This can be improved by
increasing the pts-delay (file-caching): 7seconds of pts-delay remove
this latency (from 2secs to 100ms), but this is not something that could
be enabled by default.
One other improvement is that the airplay device will stop immediately
when pausing/stopping/seeking.
This module has a priority of 100, less than auhal, that can handle
passthrough, but more than audiunit_ios. Therefore, this module will be
the default one on iOS/tvOS, but can be selected by the user on macOS
(or deselected on iOS/tvOS). This is temporary as it might be
interesting for macOS users to use this aout as it can handle Spatial
Audio.
Don't ask the core to downmix to stereo when spatialaudio is handled.
Notify when we are playing multi channels.
This is not supported by the audiounit_ios module but will be supported
by the future avsamplebuffer module.