Even if it's not found have_v4l2 will be set to "yes" anyway.
"For each given system header file header-file in the blank-separated argument
list that exists, define HAVE_header-file (in all capitals). If action-if-found
is given, it is additional shell code to execute when one of the header files
is found."
In case of thread cancellation (when the audio fingerprinter window is
closed during processing), the current fingerprint request might be left
both in the processing and results queues.
As a consequence, fingerprint_request_Delete() was called twice during
CleanSys(), leading to double-free.
To avoid the problem, remove a request from the processing queue
immediately after it has been added to the results queue, before
vlc_testcancel().
Signed-off-by: Hugo Beauzée-Luyssen <hugo@beauzee.fr>
Remove the "zoom" section to avoid the creation of an empty panel.
Note that this also removes the section title "Zoom" from --longhelp
(but it seems consistent with the other hotkeys).
Fixes#19522
Signed-off-by: Hugo Beauzée-Luyssen <hugo@beauzee.fr>
Toggling remaining-time/total-time did not update the time labels, so
they were only refreshed on the next positionUpdated() (which is not
called while paused).
Instead, store the position/time on every update, and refresh the time
labels immediately on remaining-time/total-time toggle.
Fixes#19810
Signed-off-by: Hugo Beauzée-Luyssen <hugo@beauzee.fr>
On Windows on ARM/ARM64, OpenGL isn't available. (For emulation
of i386 binaries, there is an opengl32.dll, but it's only the
fallback software renderer, nothing else. For ARM and ARM64, there
is no opengl32.dll.)
A slider value change is ignored if the new value is the same as the
last one.
However, the last value was not updated on manual slider move, so its
value remained 0 (speed 2^0 == 1). As a consequence, any slider "move
to 1.0x" event was ignored.
Update the last value on slider move to fix the problem.
Fixes#20170
Signed-off-by: Hugo Beauzée-Luyssen <hugo@beauzee.fr>
There are 3 time labels in the main interface, containing:
- the elapsed time (on the left of the seekbar);
- the remaining or total time (on the right of the seekbar);
- both (in the statusbar).
Only the one from the statusbar was updated on seek request: it was
individually connected to its own specific slot. As a consequence, the
others were not updated on seek (especially visible while paused).
Instead, factorize the slot implementation so that all time label
updates are handled by setDisplayPosition(), and connect seekRequested()
from the TimeLabel constructor (like positionUpdated()) to update them
all on seek request.
Signed-off-by: Hugo Beauzée-Luyssen <hugo@beauzee.fr>