Commit Graph

79085 Commits

Author SHA1 Message Date
Jean-Baptiste Kempf 32b50de2a2 Update NEWS 2023-09-30 11:45:12 +02:00
Jean-Baptiste Kempf 235747f2c5 Contribs: update libvpx to 1.13.1
CVE-2023-5217
https://crbug.com/1486441 (CVE-2023-5217)

(cherry picked from commit ab520205ae)
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
2023-09-30 11:37:40 +02:00
Steve Lhomme 236b3184d7 nsis: always use the regsvr32.exe from the system
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>
2023-09-27 15:13:37 +02:00
Thomas Guillem 56529098b0 lib: media_list_player: fix leaks
Signed-off-by: Felix Paul Kühne <felix@feepk.net>
2023-09-07 13:34:32 +00:00
Thomas Guillem 4e4e389c01 lib: media_list_player: check set_current_playing_item() return
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>
2023-09-07 13:34:32 +00:00
Thomas Guillem dc2242c0ea lib: media_list: fix leak
Signed-off-by: Felix Paul Kühne <felix@feepk.net>
2023-09-07 13:34:32 +00:00
Felix Paul Kühne 95f79c82d6 lib:media_list_player: add missing nullability checks 2023-09-07 13:34:32 +00:00
Felix Paul Kühne f1ed769f55 NEWS: mention new translations 2023-09-05 23:18:19 +02:00
VideoLAN e96e6c6d78 po: add initial translation to Swahili 2023-09-05 23:18:19 +02:00
VideoLAN 943d3c3b25 po: add initial translation to Samoan 2023-09-05 23:18:18 +02:00
VideoLAN 54401b01c3 po: add initial translation to Odia 2023-09-05 23:18:18 +02:00
VideoLAN 5953ed5119 po: add initial translation to Burmese 2023-09-05 23:18:18 +02:00
VideoLAN 82f8de5c76 po: add initial translation to Macedonian 2023-09-05 23:18:18 +02:00
VideoLAN b75e7040d8 po: add initial translation to Lao 2023-09-05 23:18:18 +02:00
VideoLAN 9249ec99eb po: add initial translation to Interlingue 2023-09-05 23:18:18 +02:00
VideoLAN 78ed9cd267 po: add initial translation to Esperanto 2023-09-05 23:18:18 +02:00
VideoLAN 8dd5dd1520 Update translations for release 2023-09-05 23:18:13 +02:00
Jean-Baptiste Kempf 4733d1cced News for 3.0.19 2023-08-15 11:12:19 +02:00
Francois Cartegnie 90d44efbc5 demux: mp4: fix duration probing on missing info
(cherry picked from commit 2ce189cc17)
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
2023-08-12 21:57:59 +02:00
Steve Lhomme 8b622fc01f d3d_shaders: fix placement with 270° rotation
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
2023-08-10 07:22:40 +02:00
Jean-Baptiste Kempf c420116756 Update NEWS for 3.0.19 2023-08-05 12:18:49 +02:00
Francois Cartegnie 9c46fed0cc codec: libass: patch info for compatibility
refs #27771

(cherry picked from commit 11d7708b1a) (edited)
edited:
- fmt_in is not a pointer in 3.0

Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>
2023-08-05 06:18:26 +00:00
Francois Cartegnie 4d093ebb85 contribs: update libass to 0.17.1
refs #27771

(cherry picked from commit 00e4996d1e)
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
2023-08-04 20:34:52 +00:00
Johannes Kauffmann b2b0683da2 contribs: use $(GITHUB) consistently
(cherry picked from commit 2dcd7516a0)
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
2023-08-04 20:34:52 +00:00
Steve Lhomme 5241032ac7 contrib: ass: disable tests
And fix fribidi dependencies

(cherry picked from commit 7ebe66444b)
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
2023-08-04 20:34:52 +00:00
Steve Lhomme dfdbbf18da contrib: ass: remove forced -O3
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>
2023-08-04 20:34:52 +00:00
Alexandre Janniaux 5d4ade5650 caopengllayer: restore vout_display_SendEventDisplaySize
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
2023-08-03 20:03:09 +00:00
Steve Lhomme 6cc298d7d4 packetizer: av1: fix bogus detection of monochrome
Match the algorithm from the specs of [1]

[1] https://aomediacodec.github.io/av1-spec/#color-config-syntax

(cherry picked from commit 4bdb9c1b36)
Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>
2023-08-02 14:55:35 +02:00
Marvin Scholz a10dfa55be macosx: do not assign intValue to prevent formatting issues
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.
2023-08-01 13:46:33 +02:00
Steve Lhomme dfdc90c30a avcodec: va: set the software source for special AV1 decoder
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>
2023-07-13 11:11:11 +02:00
Steve Lhomme 632652bc15 avcodec: va: move the AV1 profile extraction in a function
(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>
2023-07-13 11:10:53 +02:00
Steve Lhomme ed9fc431df avcodec: va: pass the software AVPixFmtDescriptor for AV1 special decoder
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>
2023-07-13 11:10:43 +02:00
Thomas Guillem 1f686d3450 ci: android: use the last build script
And use last vlc-debian-android image with NDK21e.
2023-07-10 10:03:59 +02:00
Francois Cartegnie b7faa116de demux: adaptive: fix es repick on format restart with variants
since 05d9097987
2023-07-06 14:34:15 +00:00
Thomas Guillem ff0573857d smb2: fix anonymous login with last Windows update
Fixes #28187

(cherry picked from commit 167ab59642)
Signed-off-by: Thomas Guillem <thomas@gllm.fr>
2023-07-06 11:51:19 +00:00
Thomas Guillem 049a6f254d smb2: use correct error code
(cherry picked from commit ea7aeedcfc)
Signed-off-by: Thomas Guillem <thomas@gllm.fr>
2023-07-06 11:51:19 +00:00
Steve Lhomme ba02ef6056 dxva: use the actual surface size to test decoder support
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.
2023-07-03 09:05:31 +02:00
Steve Lhomme 73a654f3b7 contrib: fluidlite: don't build the shared library version
(cherry picked from commit d8b338b551)
Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>
2023-07-01 13:30:45 +00:00
Francois Cartegnie 755016e003 demux: hls: only force AAC on es demux
shortcuts will enforce wrong profile and
demux will never end

regression by fix 2396e15bd5

(cherry picked from commit f272deef0f)
2023-06-27 20:24:14 +02:00
Steve Lhomme d3b0ded30c contrib: do not require gtkdocize
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>
2023-06-27 08:51:10 +00:00
Thomas Guillem 6f769d60a7 winstore: fix memleak if device failed
(cherry picked from commit 7036c75d72)
2023-06-24 05:44:23 +00:00
Steve Lhomme 12cdc66ae1 extras/tools: update meson to 0.56.2
The medialibrary that may be compiled in the VLC environment requires
meson 0.56 at least.
2023-06-23 10:41:17 +00:00
Thomas Guillem fae285f413 avcodec: video: fix swfmt detection when using a hw_device_ctx
(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>
2023-06-19 13:02:42 +02:00
Kerrick Staley 25ac0d4e5d Allow configuring mobile controller UI skip duration (fixes #26704)
(cherry picked from commit e8b42d4086)
2023-06-11 14:53:17 -04:00
Pierre Lamot 26fb05e957 mmdevice: move MTA initialization to the worker thread
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)
2023-06-09 15:29:29 +00:00
Alexandre Janniaux 370b1ae837 darwin: redirect VLC_PKG_LIB_DIR/plugins on iOS
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.
2023-06-07 18:01:37 +02:00
Alexandre Janniaux cf1baa09fa module: bank: fix typo in framework loading
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.
2023-06-07 18:01:37 +02:00
Alexandre Janniaux 068bfba722 bank: add support for browsing frameworks
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.
2023-06-07 18:01:37 +02:00
Alexandre Janniaux 85b22197eb test: add iosvlc.m for iOS development
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:
e16f4d9bb6
0bfe880301
96bee41831
904998afec
54c392d7be
2023-06-07 18:01:37 +02:00
Alexandre Janniaux 9f2ebc0fa3 package: apple: backport build script for iOS
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.
2023-06-07 18:01:37 +02:00