sha512sum uses --check, which is not supported by many other
implementations of sha512sum such as busybox. Using -c instead
will let this script usable in more distros and OSes.
Currently we are using commandname --version to check wheather a
command exists. Hence if a command is not shipped with --version the
check fails. For example busybox implementation of sha512sum fails
to get detected via this method.
Use command -v to check whether a command exists to fix this limitation.
libtool is notoriously known to have been patched over the time and was
provided as 2.4.7-dirty on archlinux, which makes the integer comparison
test fail since 7-dirty is not an integer.
shell || nicely handles the commands on the other lines without escaping
the end of line, which provides better error message in case of error.
In addition, priority of operators is much more obvious since the []
test syntax provides a visible scope-like feeling.
When building with bitcode enabled (*FLAGS+=-fembed-bitcode), the
following happens:
- with LDFLAGS += -fembed-bitcode, the vanilla libtool version will
remove the -fembed-bitcode flag, being an unknown flag, so bitcode
won't actually be enabled, and final link steps might complain that
the dylibs (libvlccore.dylib for instance) doesn't actually have
bitcode embedded.
- once fixed (either by this patch or by using -Wl,-fembed-bitcode),
the plugins will be compiled with -module, which default to using
MH_BUNDLE on iOS/tvOS/MacOSX instead of MH_DYLIB. Indeed, dylibs can
be dlopened only since MacOSX 10.3/10.4, and can be dlclosed only
since MacOSX 10.5, so MH_BUNDLE was the primary target for libtool
module support. However, MH_BUNDLE is not compatible with the bitcode
support from Clang.
Since we support MacOSX 10.11 as minimum, we can default to using
MH_DYLIB for plugins to have the bitcode support.
This new libtool patch add the explicit support for -fembed-bitcode in
libtool --mode=link flags, and change the flags used when using -module
in libtool to switch to dylibs.
Instead of ltmain.sh, in order to ensure all changes will used.
If ltmain.sh gets modified as well, there is no way to guarantee that
all changes to the .in file will trigger a regenetation since both file
will likely have the same modification timestamps
Refs !182
An updated version of our current libtool patchset has been pushed to
https://github.com/chouquette/libtool/tree/vlc_patches
The asdcplib code contains a C++ template which refers to member
variables that doesn't exist. Earlier, this hasn't been an issue,
as the C++ template never is instantiated, but current Clang
versions (the upcoming 19.x version) diagnoses such issues already
before the class is instantiated, leading to compilation errors
on the asdcplib code.
This applies https://github.com/cinecert/asdcplib/pull/137 (which
hasn't yet received any attention), fixing
https://github.com/cinecert/asdcplib/issues/136.
(cherry picked from commit c481befc97)
assert() may be disabled and you don't want to abort a whole process in
case of a parsing issue. So check the offset from samples_avail(), that
will return 0 (EOF) in case of a out of bounds read.
Patch already upstream.
(cherry picked from commit 8205482c3a)
Signed-off-by: Thomas Guillem <thomas@gllm.fr>
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.
(cherry picked from commit 90dc0a023f)
The `psz_lcname` is lowercase, so we need to use `strcasecmp`
instead.
(cherry picked from commit c52066f204)
Signed-off-by: Marvin Scholz <epirat07@gmail.com>
In macOS/iOS/tvOS, font collection file contains multiple fonts.
The 0 index should not be used by default, but the corresponding
index should be used. This will fix some font rendering bugs and
fallback font bugs.
(manual cherry picked from commit 2e3c0fb6bc)
Signed-off-by: Marvin Scholz <epirat07@gmail.com>
The script is supposed to be usable stand-alone but makes use of
ACTUAL_HOST_ARCH which is never set before.
Fix this by properly initialising ACTUAL_HOST_ARCH.
The wrong API was used to set kIntelVpeFnScaling.
(cherry picked from commit 6d8d4e0ff7a34705c0fff4ee0d5f3a409b991dce)
Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>
Unless it's an EbmlDummy the element is not unknown if it has a known class.
Rather than displaying a decorated C++ class name, show the actual element name in libmatroska.
No need for Runtime Type Indentification (RTTI) for that.
The EBML_NAME() has been around since at least libebml 0.8: cd378f23ff
(cherry picked from commit dba5d5969a) (edited)
edited:
- in 3.0 the tag loading is different
Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>
When stopping the playback, vout_display_t destructor will call the
[VideoView vlcClose] which references the backing CALayer through [self
layer]. This function is not thread-safe and should only be called from
the main thread, leading to reports and crashes when using the main
thread checker.
Instead, since we allocate the layer and references it from the
vout_display_t implementation, just send the vlcClose message on the
stored layer directly. Since it's only used to pass from the vd from the
view to the layer, and it's initialized from a dispatch_sync() in the
Open() function, there won't be race de-initializing them in a
non-synchronized fashion like done in this commit.
Fixes#27513
(cherry picked from commit 79e1535af5)