Commit Graph

105264 Commits

Author SHA1 Message Date
Steve Lhomme
2ca91b7dd6 meson: disable opengl tests if there is no opengl
As in UWP.
2024-11-16 08:41:34 +00:00
Steve Lhomme
8b9f428119 configure: remove unused defines from config.h 2024-11-16 08:16:19 +00:00
François Cartegnie
efc0d82b7b demux: h26x: restore missing PCR
regression by 4d691734b1

refs #28871

for some reason SetPCR was removed
2024-11-16 07:50:40 +00:00
Steve Lhomme
42941914b8 meson: enable projectm on Windows 2024-11-16 07:28:14 +00:00
Steve Lhomme
e93d47c5f4 meson: add -std=gnu++14 for projectm
It's necessary, as in autotools.
2024-11-16 07:28:14 +00:00
Steve Lhomme
aa0845674c meson: add a projectm option 2024-11-16 07:28:14 +00:00
Steve Lhomme
4d86084f9b meson: only check the libprojectM dependency once
We can check the version value if it's found.
2024-11-16 07:28:14 +00:00
Steve Lhomme
37ad74e150 meson: define HAVE_PROJECTM2 as in autotools
If needed to should be changed on both sides.
2024-11-16 07:28:14 +00:00
Steve Lhomme
4390834515 meson: fix iconv detection in contribs
The meson "helper" doesn't check in extra directories and there's no option to do so.
2024-11-16 07:02:49 +00:00
Steve Lhomme
8012d68150 meson: add skins2 module 2024-11-16 06:47:43 +00:00
Steve Lhomme
b5bbba790d sdi: use direct path to vlc_decklink.h
As done in other files. So we don't rely on an include in the modules.
2024-11-16 05:54:00 +00:00
Tristan Matthews
2ae00a1af5 contrib: aom: update to 3.11.0 2024-11-15 16:33:33 -05:00
Thomas Guillem
f70449a6fd preparser: remove vlc_preparser_Deactivate()
It is now unused, cf previous commit.
2024-11-15 15:29:37 +00:00
Thomas Guillem
e31a6401fe playlist: fix use-after-free with the preparser
vlc_preparser_Deactivate() won't prevent any callbacks to be called, it
will just cancel all pending tasks and ensure no tasks are pushed
anymore. vlc_preparser_Delete() will wait for the executor threads and
prevent callbacks to be called.

Fixes the following use-after-free:

==1190318==ERROR: AddressSanitizer: heap-use-after-free on address 0x517000003fb0 at pc 0x7f1f71dff3e5 bp 0x7f1f6e5feb00 sp 0x7f1f6e5feaf8
READ of size 8 at 0x517000003fb0 thread T2 (vlc-run-searchl)
    #0 0x7f1f71dff3e4 in vlc_mutex_held ../../src/misc/threads.c:91
    #1 0x7f1f71d5a41c in vlc_player_Lock ../../src/player/player.c:943
    #2 0x7f1f71ce9891 in vlc_playlist_Lock ../../src/playlist/playlist.c:101
    #3 0x7f1f71ce9d54 in on_preparse_ended ../../src/playlist/preparse.c:99
    #4 0x7f1f71cf2c7a in NotifyPreparseEnded ../../src/preparser/preparser.c:153
    #5 0x7f1f71cf2d4c in OnArtFetchEnded ../../src/preparser/preparser.c:205
    #6 0x7f1f71cf003d in NotifyArtFetchEnded ../../src/preparser/fetcher.c:296
    #7 0x7f1f71cf1c0e in RunSearchLocal ../../src/preparser/fetcher.c:393
    #8 0x7f1f71debd07 in ThreadRun ../../src/misc/executor.c:134
    #9 0x7f1f7205b1d5 in asan_thread_start ../../../../src/libsanitizer/asan/asan_interceptors.cpp:234
    #10 0x7f1f7195f111 in start_thread nptl/pthread_create.c:447
    #11 0x7f1f719dd8f7 in __clone3 ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78

0x517000003fb0 is located 48 bytes inside of 656-byte region [0x517000003f80,0x517000004210)
freed by thread T0 here:
    #0 0x7f1f720f3918 in free ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:52
    #1 0x7f1f71e0be6f in vlc_object_delete ../../src/misc/objects.c:144
    #2 0x7f1f71d5f35e in vlc_player_Delete ../../src/player/player.c:1909
    #3 0x7f1f71ce8d9e in vlc_playlist_PlayerDestroy ../../src/playlist/player.c:169
    #4 0x7f1f71ce9801 in vlc_playlist_Delete ../../src/playlist/playlist.c:90
    #5 0x7f1f71ca8286 in libvlc_InternalCleanup ../../src/libvlc.c:367
    #6 0x7f1f71fcc756 in libvlc_release ../../lib/core.c:114
    #7 0x560dae321a97 in main ../../bin/vlc.c:275
    #8 0x7f1f718f6d67 in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58
2024-11-15 15:29:37 +00:00
Fatih Uzunoglu
39bad77f43 qml: set border color when not focused in IconToolButton 2024-11-15 15:01:31 +00:00
Fatih Uzunoglu
f3ccd8b7d0 qt: adjust blend factor in tool button border color in system palette
So that the border color does not stand out, and focus color and border
color are discernible.
2024-11-15 15:01:31 +00:00
Fatih Uzunoglu
5426b4bcb3 qt: make day and night theme tool button border color transparent
Since the button has no background, it looks fine without border. This
does not change behavior, because border color was not respected by
the tool button anyway.
2024-11-15 15:01:31 +00:00
Prince Gupta
e8069e644b qt: improve comments 2024-11-15 13:28:06 +00:00
Prince Gupta
91b84e0853 qt: refactor press handling for windows CSD 2024-11-15 13:28:06 +00:00
Prince Gupta
04e6d55c2b qt: refactor setting hover for windows CSD 2024-11-15 13:28:06 +00:00
François Cartegnie
127ac893dc demux: dash: attributes have no explicit namespace
regression by f8b95a0383

refs #28862
2024-11-15 12:25:16 +00:00
Steve Lhomme
dfc2363e9c contrib: qt: add qmake6 to the meson tools
This is necessary to use the Qt from contribs on Windows.
2024-11-15 09:23:08 +00:00
Steve Lhomme
89615d0ea7 contrib: ffmpeg: fix DXVA MPEG2 output
The updated patch doesn't meet the underlying libavcodec changes.
The VC-1 patch is not needed as the merged version upstream is sufficient.

The MPEG-2 patch is done in a similar way as the VC-1 patch.

Fixes #28855
2024-11-15 06:53:58 +00:00
Steve Lhomme
92269a1de6 meson: use the same stream_out_chromecast module name as autotools 2024-11-14 10:31:47 +00:00
Steve Lhomme
ffc853d31b meson: fix libmad dependency 2024-11-14 10:31:47 +00:00
Steve Lhomme
32ec38062c meson: fix caca dependency on x11
Do not use it on Windows or Darwin, as done in autotools.
2024-11-14 10:31:47 +00:00
Steve Lhomme
a00ecb3c9a meson: add libaribcaption module 2024-11-14 10:31:47 +00:00
Steve Lhomme
381510d7ed meson: add aribcam module 2024-11-14 10:31:47 +00:00
Steve Lhomme
0d288c7648 meson: add have_win_store check on prefetch 2024-11-14 10:31:47 +00:00
Steve Lhomme
4ef7c16178 meson: add archive stream extractor module 2024-11-14 10:31:47 +00:00
Steve Lhomme
b6ad458368 meson: disable TLS tests on Windows
It lacks the rand_r() function.
2024-11-14 08:56:06 +00:00
Steve Lhomme
4099c4313f meson: disable input stream tests on Windows
It lacks the rand_r() function.
2024-11-14 08:56:06 +00:00
Steve Lhomme
8259f08128 meson: disable medialibrary test on Windows
It lacks the mkdtemp() function.
2024-11-14 08:56:06 +00:00
Claudio Cambra
2a926d8857 macosx: Update artwork button enabled state when disabling video playback view mode in library window
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
2024-11-14 05:53:41 +00:00
Claudio Cambra
673bca5fe8 macosx: Disable artwork button in main library window controls bar if PIP is open
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
2024-11-14 05:53:41 +00:00
Claudio Cambra
ec96e81651 macosx: Extract artwork button enablement state update into own method in library window
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
2024-11-14 05:53:41 +00:00
Claudio Cambra
a88028f8f0 macosx: Use pipIsActive to check if pip is active when opening pip
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
2024-11-14 05:53:41 +00:00
Claudio Cambra
97421017ce macosx: Add pipIsActive property to main video view controller
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
2024-11-14 05:53:41 +00:00
Fatih Uzunoglu
90558b4abc qml: correct the anchoring logic in Player.qml
The video or the background should use all of the
available area unless the control bar is pinned
AND there is embedded video.
2024-11-13 18:58:09 +00:00
Thomas Guillem
2ef22bd1df pipewire: ensure passthrough is possible 2024-11-13 18:31:21 +00:00
Thomas Guillem
a2bce71aee pipewire: fix pw_stream_get_state() not returning an error
This happens when playing passthrough with a faulty driver, but it may
happen in other cases too.
2024-11-13 18:31:21 +00:00
Thomas Guillem
dbf3c1067b pipewire: add a function to get the stream state
Will be needed by the next commit.
2024-11-13 18:31:21 +00:00
Thomas Guillem
944f015842 pulse: allow to force pulse if pw is present 2024-11-13 18:31:21 +00:00
Rémi Denis-Courmont
d748929672 pulse: fail if the server is Pipewire
Some distributions allow installing both Pipewire and PulseAudio, leaving
Pipewire to manage only video devices.

On one hand, if we leave the Pipewire output with higher priority, then we
do not get access to any audio output device in this case. On the other hand,
if we simply probe the PulseAudio output first, then we will never use the
native Pipewire protocol, even if the PulseAudio service is not actually
running, since Pipewire emulates PulseAudio.

So this checks the name of the PulseAudio daemon, and uses the PulseAudio
protocol if and only if the server is not Pipewire.
2024-11-13 18:31:21 +00:00
Thomas Guillem
0d323b50d7 pipewire: send timing reports earlier
The timing can now be sent just after pw is starting, the timing
audio_ts will very likely be VLC_TICK_0 (or first_pts).

This fixes video glitches on startup.
2024-11-13 18:31:21 +00:00
Thomas Guillem
98126b07ee pipewire: initialize next_update to 0
VLC_TICK_O to avoid a possible miss if now is few us before (unlikely).
2024-11-13 18:31:21 +00:00
Thomas Guillem
1cb2b91abb pipewire: ensure the first_pts is valid before sending timings 2024-11-13 18:31:21 +00:00
Thomas Guillem
e2ff931788 pipewire: use the last date for startup
This is mainly useful when using the input clock, when the startup date
may change at the beginning.
2024-11-13 18:31:21 +00:00
Thomas Guillem
0364264f78 pipewire: use pw_stream_get_nsec()
And set now inside stream_update_latency() since the call must be closed
to pw_stream_get_time_n().
2024-11-13 18:31:21 +00:00
Denis Charmet
b1d125409c pipewire: switch from time_get to aout_TimingReport 2024-11-13 18:31:21 +00:00