The location which automake uses can not be used at the moment
because plugins built by meson lack the RUNPATH property.
Signed-off-by: Olaf Hering <olaf@aepfle.de>
It's now using CMake and integrates some of our patches.
We don't need to flag the version as patched anymore since 2.10.1.
Disabling DRC in now a build option.
The 7.1 PCE mapping patch has been applied and is available since 2.10.1 [^1].
We can detect whether we build with 2.10.1 or newer by checking the presence of
the FAAD2_VERSION define in faad.h [^2]. Unfortunately it's a string so we can't
use the value.
[^1]: b9bd2eba31
[^2]: bc533c9043
The same what meson does, and what distributions like openSUSE Leap
(used to) ship.
Fixes commit 4b2c2a7bd0
Signed-off-by: Olaf Hering <olaf@aepfle.de>
This fixes vlc_player_GetTime() reporting input time when paused, that
could be more than 1 seconds behind the last polled timing.
Improve 46214fdceb
Really fixes#28353
(still no problem with Qt as it use the timer API directly).
It's a metadata. If the buffer dimensions changed or the visible area changed
we will still create a new pool.
We still need to ensure the pictures coming out of the pool match the format
set during decoder_UpdateVideoOutput().
When running make clean, 20 shader files were deleted that were tracked
by the repo, and trying to run the build afterwards fails because of
those missing files.
Make's suffix substitution $(var:.frag=.frag.qsb) only replaces entries
ending in .frag, while .vert remain unchanged (and vice versa), which
caused all .frag and .vert files to be included in BUILT_SOURCES, and
get deleted.
Fixed by defining separate .frag and .vert lists (libqt_plugin_la_SHADER_FRAG and libqt_plugin_la_SHADER_VERT) and
applying the suffix substitution on each independently. Also removed
shaders/shaders.qrc from BUILT_SOURCES since it is a tracked source
file, not a generated one, and added it to CLEANFILES so its build
directory copy is cleaned up during distclean.
Variadics might not know about std::optional<> since it triggers C code
and it might be undefined depending on the representation of optional<>.
Since we set the std::optional<> right before, ensure it returns the
wrapped value.
Add a test script that verifies all plugins listed in vlc_modules_list
exist at their specified paths. This catches issues like incorrect
library extensions on different platforms.
Move the vlc_modules_list generation logic to a shared modulelist.mk file
that can be included by both modules/Makefile.am and modules/gui/qt/Makefile.am.
Now each directory generates its own vlc_modules_list using LTLIBRARIES,
and the parent concatenates lists from SUBDIRS.
Change vlc_modules_list format from just plugin names to name:path pairs.
This allows plugins built in SUBDIRS (like the Qt plugin) to specify
their actual location, enabling copy_plugins.sh to find them.
New format: plugin_name: relative/path/to/plugin.dylib
The path is relative to the top build directory as it also inject
$(subdir) in the path from Makefile.am.
We want to fetch the vlc_modules_list from subdirectories but they must
have already processed their files so that we can include our.
Fix this by reordering SUBDIRS so that "." is processed last instead of
first. This way SUBDIRS (like gui/qt) generate their vlc_modules_list
before the parent directory tries to concatenate them.
We don't need the lock for that.
However the semaphore will keep being signal after the initial phase as
we don't have a way in MMSession() to tell if DEVICE_PENDING means the initial
phase or a change of device.