- Oct 15, 2022
-
-
Steve Lhomme authored
In the contribs we * check that HOST-protoc has the same version as protobuf otherwise * check that protoc has the same version as protobuf AC_CHECK_TOOL() only tests one version of protoc for the protobuf matching.
-
Steve Lhomme authored
protoc 3.4.1 reports a libprotoc version of 3.4.0
-
- Oct 14, 2022
-
-
-
https://developer.android.com/ndk/guides/audio/aaudio/aaudio AAudio is a native PCM-only audio API starting Android 8.0 (but enabled in VLC starting Android 9.0 due to some bugs). Having tested it with few device. The latency reported by this new API is correct and without any irregularity, contrary to the AudioTrack.getTimeStamp() API that is very broken. Plus side, a huge gain of performance due to the absence of JNI C->JAVA->C++. -40ms of latency reported by Sync-One2 versus -150ms with AudioTrack. The remaining 40ms of latency to fix are likely on the mediacodec/vout side.
-
-
-
aout_stream_TimingReport() is the way to go.
-
-
-
-
-
-
Like mmdevice with wasapi/directsound. To get support for multiple audio tracks playback at once, all aout modules need to be split between device and stream. This is the first step in that direction (second step is to add aout_stream_t in the CORE). This will allow a single aout module to choose between audiotrack, opensles and the future aaudio plugin depending on the audio format/codec. Indeed, only AudioTrack can handle pass-through, and PCM playback should be done by aaudio in priority.
-
Adding forward declarations for Start and Stop temporarily.
-
-
- Oct 13, 2022
-
-
Steve Lhomme authored
-
Steve Lhomme authored
Enabled blake2 and chacha20 because there are some missing ifdef throughout the code to enable/disable some code if they are not set. The easiest fix is to just enable them, rather than patching the code.
-
This was attempted in 4f72f199, but back then, qtsvg still needed the Qt vendored zlib. Now, this has been fixed and we don't need the vendored zlib. zlib from the contribs has a few fixes [1] over the Qt version, so it is prefered. Just like the explicit -qt-zlib, we specify -system-zlib so we don't rely on the automatic fallback to the vendored version. Since this fails at configure time, it has been helpful when hacking away at the compiler flags and options. 1. https://github.com/madler/zlib/blob/master/ChangeLog
-
QMAKE_LDFLAGS does not exist [1]. The contrib libdir needs to be added to the linker flags in order to link to system libraries (e.g. zlib) during conftest. 1. https://doc.qt.io/qt-5/qmake-variable-reference.html#qmake-lflags
-
Steve Lhomme authored
Requires a Docker image with this patch [1] to build [1] videolan/docker-images!196
-
Steve Lhomme authored
So libplacebo can be built.
-
Steve Lhomme authored
It's actually built since we build libass.
-
Steve Lhomme authored
-
NEON is always available there, just like on iOS. This fixes building for Windows on ARM after switching to building libpng with CMake - after that change, building failed due to "No support for run-time ARM Neon checking; use compile-time options".
-
1 ideogram character should be a valid search pattern
-
- Oct 11, 2022
-
-
Martin Storsjö authored
Clang does support the flag and gladly generates the instructions for return address signing, but it doesn't generate matching unwind info for it. If a return address is signed, unwinding through it would fail unless the signing is reversed at the right place. The ARM64 SEH unwind info format has no public documentation on how to handle return address signing currently. This issue isn't noticeable on any current public Windows on ARM64 devices or servers, as the CPUs don't implement the return address signing instructions (which then are handled as no-ops). However, binaries with those instructions would fail subtly (seemingly work fine, but fail whenever unwinding the stack) on newer CPUs. Therefore, disable it in the CI configuration, as long as that uses a version of Clang that doesn't generate correct unwind info for this case.
-
Steve Lhomme authored
It is cleaner than using an internal "install" target which may not be on all CMake generators. We don't need multiple threads to install files. They will be better used for compiling files.
-
Steve Lhomme authored
-
Steve Lhomme authored
We don't need to know the prefix when compiling. We also don't need multiple threads to install files. They will be better used for compiling files.
-
Steve Lhomme authored
-
This C++ listener is actually a wrapper over a media tree listener, not a media source listener. This allows to make NetworkMediaModel independent of media sources, so that it can be reused with only a media tree not linked to a media source. NetworkDeviceModel, which still requires a media source, stores it in its listener callbacks implementation (ListenerCb).
-
-
Only NetworkDeviceModel need to expose a mediaSource. The mediaSource was forwarded to all media item, but it is never used, so remove it. This paves the way to make NetworkMediaModel independent of media sources.
-
-
For each model (NetworkDeviceModel and NetworkMediaModel), every NetworkSourceListener instance were created with the same SourceListenercb instance: +------------------+ | SourceListenerCb |-----------------------------. +------------------+ | ^ | | implements | +--------------------+ | | NetworkDeviceModel | | +--------------------+ | | m_listeners | +---+ +-----------------------+ | | ---------------| NetworkSourceListener |-| +---+ +-----------------------+ | | ---------- +-----------------------+ | +---+ `----| NetworkSourceListener |-| | -------... +-----------------------+ . +---+ . | | . +---+ To prepare storing additional data for each registration, use one SourceListenerCb instance per listener: +------------------+ | SourceListenerCb | +------------------+ ^ implements | +--------------------+ | | NetworkDeviceModel | | +--------------------+ | | m_listeners | +---+ +-----------------------+ +--------------+ | | ------------| NetworkSourceListener |--| MyListenerCb |-| +---+ +-----------------------+ +--------------+ | | ---------- +-----------------------+ +--------------+ | +---+ `-| NetworkSourceListener |--| MyListenerCb |-| | -------... +-----------------------+ +--------------+ . +---+ . | | . +---+ In practice, this will allow the SourceListenerCb (to be renamed to MediaTreeListenerCb) to only use a media tree (not a media source), and let the caller store an additional associated media source usable from the callbacks implementation. As a drawback, the MyListenerCb instance must be owned by the listener (to avoid additional complexity on the client side), but then this forces the client to always create a separate class for the listener callbacks, even when not necessary (i.e. making NetworkMediaModel "implement" SourceListenerCb is not possible anymore). Alternatives considered: 1. keep SourceListenerCb as is, but make NetworkSourceListener virtual (inheritable), so that the additional media source could be stored there. As a drawback, the SourceListenerCb methods would need to get the NetworkSourceListener instance as parameter (so yet another indirection). And having both the listener and the callbacks virtual seems odd. 2. merge SourceListenerCb into NetworkSourceListener, so that the client can just inherit and store additional private data in the same class. But this requires more changes from the existing code base.
-
Callbacks to be called from C should be free functions rather than class members.
-
-
-
This will allow to create and handle a media tree separately from a media source (linked to a service discovery).
-
-