- Mar 12, 2023
-
-
Fixes audio being played right away, then being flushed because way too late and being played again. This happened only with --clock-master=input. Fixes #27918
-
It is always defined when we use the dxva.h GUIDs.
-
Favor the DXVA_xxx variants which are the most common ones. Redirect missing DXVA_xxx variants to existing alternatives in mingw-w64. Some GUIDs do not exist in any SDK so we need to define them ourselves. The we share the redirections with dxva_blocklist.
-
Since flush is not working. There are 2 main issues: - AAudioStream_getTimestamp() could fail from Flush(), resulting in the impossibility to report a correct timing. As the doc says: "TODO review Frame counters are not reset by a flush", and we need a point of comparison after a flush. - Some devices (seen on The Galaxy S22 Ultra API Level 31) can't report a timestamp once the stream is flushed, resulting in the impossibility to report a correct timing. Now, the whole Flush() function take between 10ms and 25ms (depending on the device). Fixes #27917
-
sys->as will be set to NULL in case of flush error in the next commit.
-
In order to use the same decide_id when we restart the AAudio stream.
-
In order to be able to call it again, when flushing (cf. next commits).
-
-
-
To avoid forward declaration in a next commit. No functional changes.
-
And not in the STARTING state.
-
To convert the result to a string.
-
Fixes a crash when setting volume/device if no stream were started.
-
- Mar 11, 2023
-
-
This commit introduce a typed virtual table for operations on stream, aiming at replacing the legacy pf_control() callback which is using va_list. As a counterpart to the typed virtual table, typed methods are also introduce. The operations can be implemented by the modules directly right now and will be used when possible. This is done to provide type safety at every level. When no operation is provided (ie, stream_t.ops is NULL) by a module implementation, the legacy pf_control will be used instead as a fallback. The commit doesn't migrate any of access/stream_filter/… modules yet. The commit also doesn't introduce the demux specific callbacks yet.
-
Threading changed, it is now possible. This fixes the video or audio output that can render the first frames in the initial state, leading to audio/video glitches (if a delay is applied after). For example, audio with clock-master=input: [00007fc4a4311760] main decoder: vlc_input_decoder_ChangeDelay(): 000055ad16120e60] main audio output error: Play in 133193 [000055ad16120e60] main audio output error: Play in 156331 [000055ad16120e60] main audio output error: Play in 179508 [000055ad16120e60] main audio output error: Play in 202699 [000055ad16120e60] main audio output error: Play in 225891 [00007fc4a4311760] main decoder: changing delay(2): -2000000 [000055ad16120e60] main audio output error: Play in -1750921 Refs #27918
-
Use the same naming that paused and delay.
-
These functions can be called from any threads, if the lock is held.
-
To avoid forward declarations in next commits.
-
Just use --verbose=-1 which is strictly equivalent. This module should not depend on another module's option. And we don't really need that option anyway.
-
-
"meson builddir" has been deprecated since 0.64.0. Please see 3c7ab542c0c4770241eae149b0d4cd8de329aee0 [1] upstream for the complete explanation. [1] https://github.com/mesonbuild/meson/commit/3c7ab542c0c4770241eae149b0d4cd8de329aee0
-
Steve Lhomme authored
We just release the inherited value and overwrite a new value. This also fixes a crash if the software deinterlacer module is not found. var_CreateGetString is just: ``` var_Create( p_obj, psz_name, VLC_VAR_STRING | VLC_VAR_DOINHERIT ); return var_GetString( p_obj, psz_name ); ```
-
- Mar 10, 2023
-
-
-
Steve Lhomme authored
Fixes a sign comparison warning.
-
Steve Lhomme authored
No functional changes.
-
Signed-off-by:
Claudio Cambra <developer@claudiocambra.com>
-
Signed-off-by:
Claudio Cambra <developer@claudiocambra.com>
-
Bump to a newer version of the fxc2 repo, that support aarch64. The fxc2 tool in contribs isn't meant to be built for the cross target, but to run on the build host; therefore, pick an aarch64 mingw cross compiler if running on aarch64 linux.
-
this follows the same scheme as DComp compositor
-
QMainWindow is based on QWidget but we don't need the associated features, and it comes with its own QWindow and we have no control over it.
-
The method is basically the same as commit 41926e08d73ea6c4bbfc87a1dd52d2cdbc435c27 from QtDeclarative but applied to our composition architecture in a nutshell - the offscreen QQuickWindow must not report the child interfaces - the render QWindow must report the child interfaces - The child interfaces must report the render window as the parent We implement QAccessibleObject for both window implementing theses policies. Focus events are forwarded to the right window (from qml to the render window and vice-versa). We also need to fake the visibility of the offscreen window to make it behave as visible without creating an actual window
-
CompositorOffscreenWindow allows to fake making the window visible without instantiating it DummyRenderWindow is a simple window that doesn't draw anything, as using a bare QWindow on Linux makes the window freeze while resizing
-
This allows quick items to report accessibility events to the right window when doing off-screen rendering see QTBUG-67290 and https://codereview.qt-project.org/c/qt/qtdeclarative/+/348284 Qt5 version of the patch is cherry-picked from kde patchset from https://invent.kde.org/qt/qt/qtdeclarative/ (6d1dd8925f160d6ad02ea646eac638675bdf9f1c) first patch is mainly here in order to be able to apply second patch correctly as we don't use the actual QQuickWidget in our code
-
-
-
Steve Lhomme authored
-
This fixes the input not being able to catch up with the delay when setting it from start (via --audio-desync or --sub-delay). This was noticeable with --clock-master=input.
-
-
- Mar 09, 2023
-
-
Steve Lhomme authored
This is cleaner than SetWindowsHookEx which doesn't receive events in some case and is supposed to be used only for debugging things. In the end we don't need a custom UI thread nor a custom HWND.
-