We should not use whatever is in the PATH. Especially as the current directory
is set the a temporary directory during uninstallation.
(cherry picked from commit d13608f886)
Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>
This will allow to fix a leak by only checking the return code instead
of fetching the media (and forgetting to release it...)
Signed-off-by: Felix Paul Kühne <felix@feepk.net>
We should not subtract width and height values.
Fixes#27976
(cherry picked from commit 4cd819e238) (edited)
edited:
- SetupQuadFlat is in d3d11_quad on 3.0
This shouldn't be enforced. We already use -O2 on release builds.
Introduced in 77f2dac1ab
(cherry picked from commit 4dce5d8ed7)
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
VLC 4.0 doesn't need that but 3.0 still has no windowing module, leading
to display size not being reported to the subtitle text renderer, and
leading to blurry subtitles and OSD.
Because the size is coming from the display, it means that the first
time the subtitle is displayed, it will always be blurry depending on
the real display size and original media size.
Regression from 8ff5695217.
Fixes#27793
This is a temporary solution for #22576
It results in numbers not having thousands separator anymore, which
is better than the user being unable to save the desired value.
So far we did not need it. We should always have the format matching
the one we detected by the decoder. If we don't that means the packetizer
failed to reset the decoder.
(cherry picked from commit c901da645b)
Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>
(cherry picked from commit 5892a9106a) (edited)
edited:
- in 4.0 p_dec->fmt_in is a (const) pointer
- there's no VLC_ENOTSUP in 3.0
Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>
This is what is passed in the normal decoding case.
This fixes an issue where 10-bit sources don't play properly as we can't
tell from the Profile 0 is we're decoding in 8-bit or 10-bit.
(cherry picked from commit 1aa624e28d)
Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>
The container may lie but the size that libavcodec requests is the one it
will use. We need this size to probe the decoder in D3D11. There doesn't
seem to be a way to check the size support in dxva2.
Similar to e4cc2f846b but without setting
an output video_format_t.
This unbreaks packages using autoreconf.
(cherry picked from commit 7beb060516) (edited)
edited:
* on 3.0 it was already done since 8179b10e7e
but not for Darwin targets
Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>
(cherry picked from commit 906ffbaa63) (edited)
edited:
- 3.0 uses PixelFormat
- the code to handle b_hardware_only was already merged in 3.0
Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>
MTA was checked in the Open function. As this function is called from libvlc
thread, this implies that a user of libvlc should have its own thread in MTA
which may not be possible for various reasons.
* MuteSet, VolumeSet, Play, DeviceSelect, Close callback don't require MTA
* Flush, Pause and Start callbacks still require MTA, but as these functions are
called from VLC internal threads this is a lesser issue
(cherry-picked from 2fa81b6f15)
On iOS and tvOS, dylibs must be wrapped into a framework and frameworks
must be flattened into the frameworks/ application directory (or global
to the system which is not possible in the general case), so dylibs
can't be in the VLC_PKG_LIB_DIR/plugins folder. Redirect
VLC_PKG_LIB_DIR/plugins toward VLC_PKG_LIB_DIR/ on those platforms.
Manual cherry-pick from commit 89e90672db.
The code is written directly in the src/modules/bank.c code given that
config_GetSysPath doesn't exist in 3.0.
The arguments to AllocatePluginFile were written in reverse, leading to
vlc_stat failing to find the file. In addition the value that should
have been written `-(sizeof ".framework" -1)` was actually written as
`-sizeof ".framework" -1` and thus `foo_plugin` was instead `foo_plug`.
Typo from function refactor in 70d3002be1.
Cherry-picked from commit eb47c931a0.
Darwin platforms are using frameworks to embed libraries. Some of them
like iOS and tvOS even forbid the use of dynamic libraries that are not
wrapped into a framework.
Since frameworks can contain various things (headers, resources, etc),
we don't necessarily want to browse their whole tree if their structure
is well-defined. In our case, since plugins are bundles and not dylibs,
there's not linking and there's no point in supporting versionning so we
can expect the plugin's dynamic library in the root of the framework,
named like the framework without the .framework part.
Since MacOSX can also make use of frameworks, this is enabled for all
darwin platforms, though it might not use them.
Cherry-picked from commit 70d3002be1.
iosvlc.m provides a binary usable as an iOS application, forwarding the
VLC arguments just like VLC on desktop. It allows easier iteration on
vlccore development for iOS, without the need to test in a VLCKit
application like VLC for iOS or new external application.
It is currently designed for usage with dynamic plugins.
To develop with it, you must generate a .ipa archive containing both
the resulting binary as executable, a PkgInfo file, an Info.plist file
describing the package and the libs (libvlc.dylib, libvlccore.dylib, and
every plugin .dylib or additional convenience libraries that are not
linked statically in the Frameworks/ directory. It must then be signed
with a developer certificate allowed by Apple and provisionned with a
mobileprovision file allowing installation on the given device for the
same developer certificate.
Then, tools like libimobiledevice can be used to start the application
with additional arguments or environment variables. They can also be
added in XCode through the "Edit Scheme" menu.
A big part of the iOS-specific code has been originally written by
Marvin Scholz in a more complete libVLC ios sample.
Co-authored-by: Marvin Scholz <epirat07@gmail.com>
Cherry-picked and adapted from commits:
e16f4d9bb60bfe88030196bee41831904998afec54c392d7be
The build script allows building for iOS/tvOS without pulling the whole
VLCKit project, to build a standalone library for integrating libvlc in
applications.
The main goal is being able to maintain libVLC 3.0 without requiring the
whole VLCKit environment to run tests.
Cherry-picked from master branch at commit version
44d44176aa, and modified the build.conf to
have all enabled contribs building and have the target version match the
3.0.x system requirements.