Updates to latest upstream release 0.9.15 and
switches the build system to CMake as autotools
was removed.
Co-authored-by: Johannes Kauffmann <johanneskauffmann@hotmail.com>
The meson target was named 'libvlc_vtutils' but meson automatically
adds a 'lib' prefix, producing 'liblibvlc_vtutils.a'. Rename the target
to 'vlc_vtutils' so the output match the intended name.
The meson target was named 'libvlc_opengles' but meson automatically
adds a 'lib' prefix, producing 'liblibvlc_opengles.a'. Rename the
target to 'vlc_opengles' so the output match the intended name.
Music related metadata like album, albumartist, tracknumber and
discnumber is currently not added to media playback messages for
Chromecast.
This patch will add the entries if they're specified in the media
metadata.
On the Windows SDK, the definition of DllMain is hardcoded to using
unsigned long as reason parameter.
MinGW has two definitions and the definition of DllMain is different in
MinGW given `_WINDOWS_` is defined or not, leading to a different
prototype between VLC and process.h currently (not taking the `_WINDOWS_`
path):
../subprojects/vlc/src/win32/thread.c:688:15: error: conflicting types for 'DllMain'; have 'int(void *, long unsigned int, void *)'
688 | int __stdcall DllMain (void *hinstDll, unsigned long fdwReason, void *lpvReserved)
| ^~~~~~~
In file included from ../subprojects/vlc/src/win32/thread.c:33:
/usr/share/mingw-w64/include/process.h:141:17: note: previous declaration of 'DllMain' with type 'int(void *, unsigned int, void *)'
141 | int __stdcall DllMain(void *_HDllHandle,unsigned _Reason,void *_Reserved);
This was fixed VLC upstream and for newer mingw64 revision with the
[MR !4300] but even though the Windows SDK uses unsigned long, the
documentation[^1] uses DWORD which matches how mingw64 writes the
prototype. By doing the change, we can support older Mingw SDKs (using
the proper definition path) and yet-to-be-released SDKs (where the
definition would use something else than unsigned long).
[MR !4300]: https://code.videolan.org/videolan/vlc/-/merge_requests/4300
[^1]: https://learn.microsoft.com/en-us/windows/win32/dlls/dllmain
So as to use DWORD, we must include <windows.h> first as noted by commit
9ca790a641 that we're essentially
partially reverting here.
After this change, this would work regardless of the SDK vendor or the
SDK version.
Allow skipping the contribs bootstrap and build step, useful for
iterating on VLC compilation when contribs are already built by
providing already built contribs elsewhere or by completely disabling
the building of contribs to just build core functionalities.