- Apr 01, 2025
-
-
Use the new vlc_plugins_targets_array to depend on all plugins with the plugins.dat custom target. This ensures the plugin cache is properly regenerated when plugins change.
-
This is so that we can use vlc_plugins_targets_array in a future commit in the bin meson.build file.
-
This is a plain array variant of vlc_plugins_targets, given that mesons dict unfortunately does not have a values() function. It will be used in a future commit.
-
qt: use `vlc_uri2path()` instead of `QUrl::fromUserInput()` and do not resolve symbolic links in the interface
-
-
-
When a variant stores `QUrl`, `QVariant::canConvert<QString>()` returns `true`. This means that it is always converted to a string. If the media is provided as `QUrl`, it should not be converted to string first.
-
-
-
-
-
It is planned to disable word wrap in `EmptyLabel`, in an attempt to have sensible implicit size. This allows us to use minimum width approach instead in the main view. There is little use for being responsive (via word wrap) in the empty indicator. Usually views should have minimum size which is at least the empty indicator size (similar to the playlist pane). Word wrap does not look good, the words can stack up and down, making a column of many words. Instead, I propose cutting the text, so that we can have sensible minimum size (width). Currently the window already has reasonable minimum width, and there is also `isScreenSmall` which makes the playlist pane be placed on top of the main view (which makes the main view have as much width as the window has).
-
As their names suggest, they are supposed to be `QQuickItem` pointer. Unfortunately when `Loader` started to gain ability to load `QObject` in Qt 5: > Since QtQuick 2.0, Loader can load any object type. They have not changed the name of the property name `item` to `object`, which can be confusing. I suppose they re-purposed `item` as a generic "item", not necessarily `QQuickItem`. Still, this goes in conflict with `Instantiator`'s `object` (not named `item`) (which always had the ability to load `QObject`).
- Mar 31, 2025
-
-
- Mar 30, 2025
-
-
-
This was recently made enabled by default. Until all contribs are ready for SBOM, it should not be necessary for Qt to generate SBOM. Note that it appears different Qt packages might not respect the option applied for Qt base, so we still need to add "sbom" to the ignored list at the moment.
-
This reverts commit 60e95ad5. Unfortunately there is not much to do here until `MultiEffect` starts supporting sub- textures (textures that are independent/not in atlas, but report position different than (0.0, 0.0) or size different than (1.0, 1.0)). Although this is only relevant for `MultiEffect` (because other type of effects can set `supportsAtlasTextures` or use `qt_SubRect_x`), I still reverted it to not impair maintenance. I also do not want to bring back manually setting `supportsAtlasTextures` to `true`. We should still keep the texture view and provider, because they are useful when sub- texturing is not used (such as player view), and when the consumer supports sub-textures.
-
-
This fixes the symptomatic binding loop introduced in 8e2b2ac6.
-
The behavior seems fine to me with Qt 6.9.0-beta3 and KWin Wayland 6.3.1. Unfortunately there is a regression that the window x can no longer be negative (QTBUG-135158) with regard to the interface window, but that is not relevant to QTBUG-131899. This regression is expected to be fixed by the latest Qt 6.9.1.
-
- Mar 29, 2025
-
-
Speex' configure does not recognize it and warns about it. This effectively reverts 68604554
-
- Mar 28, 2025
-
-
-
A customized scroll bar, inspired from WinUI 3.
-
Fix the following warning: ../../modules/audio_output/android/device.c:93:23: warning: comparison of integers of different signs: 'int' and 'unsigned long' [-Wsign-compare] for (int i = 0; i < ARRAY_SIZE(audio_output_by_soc); i++) ~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
This is done to prevent crash when the csd close button is used.
-
This is mainly because when all of them are hidden, there is still a gap between the DWM thumbnail and and the task bar.
-
-
- Mar 27, 2025
-
-
Signed-off-by:
Claudio Cambra <developer@claudiocambra.com>
-
- Mar 26, 2025
-
-
Overriding setIdentifier is something that should not be done and also that identifier is supposed to be unique so it is not really suitable for our use-case here. Additionally on older macOS versions this selector is sometimes called with a nil identifier leading to a crash. Just go back to a dedicated property for this without hooking into the view identifier.
-
When accessing p_event in the model callback, it is possible for the p_event to no longer be valid as the callback uses an async dispatch queue. By accessing the properties of the p_event synchronously before entering the async block, we can avoid this crash Signed-off-by:
Claudio Cambra <developer@claudiocambra.com>
-
Alexandre Janniaux authored
This patch adds a new metric to track and understand the behaviour of the input pacing done from the input buffering values. The behaviour is showing correct properties currently, but as will be shown later in this commit message, this metric helps debugging pacing issues leading to screen freeze. In the work for making clock-start distributed across every clock tracker, and because of a change removing the call to the function input_clock_ChangeSystemOrigin, the input clock wake-up delay was not computed correctly. Specifically, a huge delay of multiple hundred of millisecond was appearing at the startup of the playback for file:// media, leading to a huge gap in playback. The problem can be revealed when tracing the input_clock_GetWakeup values. Those values are used to pace the input, and they are dates matching with up until when the input is allowed to sleep, or 0 to disable sleeping altogether. The value returned is valid up until vlc_tick_now() is bigger or a new input_clock_Update() is made. By substracting vlc_tick_now() to this date when the value is not 0, we can get the time the input is supposed to wait before doing anything else. The graph would typically look like this when the freeze was happening at the beginning of the playback Input clock wake up ^ 330ms -| +----+ | | | | | | 0 -| ------------+ +--------.. +----------------------------->t In the current state or after proper fixes for the input pacing were done, it would display the following graph: Input clock wake up ^ | +----------------------------->t 0 -| ------------++-------------- | || | || -550ms -| ++ As such, a very high value looks suspiciously wrong, and improvement could be made later to start the wake-up delay at -pts_delay immediately instead of returning 0 as long as the reference point is not registered yet in the input clock buffering subsystem. This metric also catches additional artifacts that are generated by the input decoder waits right at the end of buffering, which might be interesting to investigate later.
-
Alexandre Janniaux authored
-
Alexandre Janniaux authored
Just like it's done for projection_mode, setup a state so that changing the stereo mode can be asynchronously done when the rendering loop is ready to provide the OpenGL context.
-
Alexandre Janniaux authored
-
Alexandre Janniaux authored
The first projection state will be needed when changing the stereo-mode in future commits.
-
Alexandre Janniaux authored
Create a dedicated function to restart the renderer given a set of parameters. The function will also be used to change the video-stereo-mode value in the renderer.
-
Alexandre Janniaux authored
The video-stereo-mode is setup the same way I did the projection mode. The client needs to restart the renderer to re-compile the shaders and re-setup the variables for the mode, avoiding the need for a specific API. This is justified by changing video-stereo-mode not happening at each frame. Note that projection_mode is temporarily enforced to PROJECTION_MODE_RECTANGULAR whenever the multiview_mode is enforced to another value than the source, to avoid trying to change the projection from a texture containing the two eyes, leading to weird behaviour. This happens when setting the SIDE_BY_SIDE stereoscopic mode which is made for showing the two frames, but also in the STEREO stereoscopic mode which is not yet supported in the module (need vlc-vr work).
-
Alexandre Janniaux authored
The MAX value allows checking whether the provided stereoscopic value is valid or not.
-
Currently there are two issues here, one hiding the other: - The sed pattern is wrong, causing it to not match due to leading spaces. - The replacement for the second sed pattern is wrong, not removing the @LIBICONV@, causing it to be present in the generated .pc, but due to the previous issue, this was hidden as the iconv detection was never actually removed. This issue only rarely manifested, as we also build iconv in contribs, so it was totally depending on build order if this caused any issue or not.
-