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>
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>