- Sep 08, 2024
-
-
In small screen mode, playlist pane acts as an overlay. However, the items that are stationed behind can not be seen since the background directly reflects the window background in order to provide backdrop blur effect. In order to prevent confusion, the background is made opaque.
-
Now that we can express module dependencies directly, there's no need to remove the test if some of the modules are not present. In the future, we'll be able to inject this module list to mark the test as skipped instead of disabling it.
-
This declares the modules unconditionnally to be able to use them in the module_depends: key for tests, so as to disable the tests when the matching module is disabled automatically and ensure the tests is built and run after the module has been built.
-
We want to actually enable those frameworks when the condition is true.
-
Copy-paste typo between QuartzCore and CoreText.
-
For internal drag operations, it is possible to start the drag before the input items are resolved because it is feasible to wait for the input items to be resolved on drop. However, for external drag operations, the mime data needs to be set before drop as we don't have the luxury to wait for mime data on drop. In fact, even if there was such a chance we would still need to make sure that the mime data is set as soon as the drag starts because the receiver application might do actions based on drag enter event and the accompanied mime data. Since it is not possible to know whether a drag operation is an internal or external operation, we should pre- emptively set the mime data before the drag operation starts.
-
Steve Lhomme authored
-
Steve Lhomme authored
-
Steve Lhomme authored
It's always the same as the source format. Sometimes it had the rotation of vd->source applied and sometimes not. In both cases it's used to get a rotated version of vd->source.
-
Steve Lhomme authored
When opening a display module, vd->source is the same as the output video format.
-
Steve Lhomme authored
They will likely not change but the value in vd->source is always the most up to date.
-
Steve Lhomme authored
The AWindowHandler_setVideoLayout() is the same with or without crop.
-
Steve Lhomme authored
The value is valid when we get a SAR event. onNewVideoLayout() in libvlcjni [1] will apply the values regardless if the SAR is passed or not. [1] https://code.videolan.org/videolan/libvlcjni/-/blob/5076ef767eb4126c74a496033ace54649ac200e7/libvlc/src/main/java/org/videolan/libvlc/VideoHelper.java#L323
-
Steve Lhomme authored
If it's 0/0 then the code is equivalent. If it has an actual crop value it's valid even during crop. onNewVideoLayout() in libvlcjni [1] will apply the values regardless if the crop is passed or not. And it will discard it if one SAR value is 0. [1] https://code.videolan.org/videolan/libvlcjni/-/blob/5076ef767eb4126c74a496033ace54649ac200e7/libvlc/src/main/java/org/videolan/libvlc/VideoHelper.java#L323
-
Steve Lhomme authored
VOUT_DISPLAY_CHANGE_SOURCE_ASPECT only changes the SAR values VOUT_DISPLAY_CHANGE_SOURCE_CROP only changes offset+visible values But the values always valid during each call.
-
Steve Lhomme authored
-
Fixes a memory leak with extension manager not being unloaded when the application exits. Created from the following stacktrace: generic_start vlc_module_load module_need -[VLCExtensionsManager loadExtensions] -[VLCExtensionsManager buildMenu:] -[VLCMainMenu awakeFromNib]
-
Stacktrace from the memory graph: _malloc_zone_calloc_instrumented_or_legacy vlc_ml_media_t* CreateAndConvert<vlc_ml_media_t, medialibrary::IMedia>(medialibrary::IMedia const*) MediaLibrary::Get(int, char*) vlc_ml_get lc_ml_get_media_by_mrl +[VLCMediaLibraryMediaItem mediaItemForURL:] -[VLCControlsBarCommon updateCurrentItemDisplayControls:] -[VLCMainVideoViewControlsBar update] -[VLCMainVideoViewController viewDidLoad] -[NSViewController _sendViewDidLoad] -[NSViewController _loadViewIfRequired] __24-[NSViewController view]_block_invoke NSPerformVisuallyAtomicChange -[NSViewController view] -[VLCLibraryWindow awakeFromNib] ...
-
- Sep 07, 2024
-
-
Tristan Matthews authored
This release includes new codec interfaces, compression efficiency and perceptual improvements, speedup and memory optimizations and many bug fixes. This release is ABI compatible with the last release. The definitions of the internal macros AOM_INLINE and AOM_FORCE_INLINE have been removed from the public header aom/aom_integer.h. - New Features * New codec controls: * AV1E_SET_AUTO_TILES * AV1E_GET_HIGH_MOTION_CONTENT_SCREEN_RTC * AV1E_SET_POSTENCODE_DROP_RTC: Post encode frame drop feature. * AV1E_SET_MAX_CONSEC_FRAME_DROP_MS_CBR * New key-value pair for aom_codec_set_option(): * "auto-tiles": equivalent to the new codec control AV1E_SET_AUTO_TILES. - Deprecated Features * Deprecated codec control: * AV1E_SET_MAX_CONSEC_FRAME_DROP_CBR: Use the new codec control AV1E_SET_MAX_CONSEC_FRAME_DROP_MS_CBR instead. * The sframe_mode field in the aom_codec_enc_cfg_t struct is not implemented. - Compression Efficiency Improvements * BD-rate gain of 0.7 - 1.3% (by enabling global motion tool) for speed 5 and speed 6 with ~5% encode time increase. * RTC speed 11 video: ~3-5% BD-rate gain for VGA and QVGA. - Perceptual Quality Improvements * RTC quality improvements for slide changes and scrolling content. - Speedup and Memory Optimizations * RTC screen content speedups: * ~2x speedup for high motion content for speed 11. * ~2x speedup on key frame coding for speed >= 10. * Arm: Significant uplifts in speed in this release (vs v3.9.1) have come from tuning the various convolutions according to filter size (doing 8-tap when only 2-tap is required is inefficient) and also deploying Armv8.6 USMMLA instructions in 6-tap and 12-tap standard bitdepth convolutions. * Standard bitdepth RTC: * speed 5: +5% * speed 6: +4% * speed 7: +5% * speed 8: +4% * speed 9: +6% * speed 10: +6% * Standard bitdepth VoD: * speed 0: +9% * speed 1: +12% * speed 2: +9% * speed 3: +3% * speed 4: +3% * speed 5: -9% (expected due to global motion changes) * speed 6: -3% (expected due to global motion changes) * High bitdepth VoD: * speed 0: +4% * speed 1: +19% * speed 2: +23% * speed 3: +1% * speed 4: +1% * speed 5: -8% (expected due to global motion changes) * speed 6: -3% (expected due to global motion changes) * Standard bitdepth 2x1 horizontal super-resolution/scaling encoding: +101% - Other Improvements * Reduce bit rate overshoot on slide content. - Bug Fixes * rtc: Bug fix for active_maps with sb_size=128. * b:343429036: rtc: Fix source_sad setting near boundary. * Fix to QP for temporal enhancement after key frame. * b:343429192: rtc: Condition QP adjustment on rc->q_1/2_frame > 0. See: https://aomedia.googlesource.com/aom/+/refs/tags/v3.10.0/CHANGELOG
-
If player is visible, it should not push player again.
-
We don't have to patch it for Android anymore.
-
errors are handled in the MessageDialog and in the Qml
-
-
-
-
-
-
b_select is redundant with the ActionFlag
-
no need to specify it explicitly
-
-
this allows triggering the model without creating the dialog
-
-
- Sep 06, 2024
-
-
- Currently style handling is handled in a really fragile manner. The order of keys provided by `QStyleFactory` is expected to directly match the combobox. At the same time, if the style is not overridden, then there should be no need to save this in the settings. - Although the first entry is the default style, it does not provide what the style is. Now, the style itself is printed as well.
-
When the parent top-level window receive a drag or drop event, Qt does not propagate the event through the child windows. All handling is done in `QQuickWindow`, so if I manually forward the events to the quick window, drag and drop works as expected.
-
It is documented that the static function `QQuickWindow::graphicsApi()` may not yield the ultimate graphics API used by the scene graph and that the way to get the "true, real result" is to wait until the scene graph is initialized. However, at the same time, it is said that the result would be the "graphics API that would be used by the scene graph if it was initialized at this point in time". This is what is really necessary to know here, as we don't (and should not) override the graphics API in compositors, rather the compositor should tell if it is compatible with the graphics API. If the compositor is not compatible (e.g. using QSGRendererInterface::OpenGL with compositor dcomp), then it should fail at the earliest convenience so that the application can try other compositors. As of Qt 6.7, Qt Quick does not implement a fallback procedure in case the initialization goes wrong due to the chosen graphics API that it tries a different graphics API. In other words, Qt Quick does not have a cross-graphics API fallback procedure unlike us. And the cross-graphics API fallback that we use gets engaged earlier, so it can be assumed with certainty that the graphics API would not change by the time scene graph is initialized. Waiting for scene graph initialization has also become less relevant since 0dbfb4b9, where RHI probing and `QQuickWindow::setGraphicsApi()` became being used in almost all cases. If we set the graphics API explicitly, it means that the same API can be considered by the compositor directly without getting concerned by scene graph initialization and it getting end up with a different graphics API.
-
extension_dialog_t is not a registered type in qt so the signal was failing. It's usually dangerous to pass VLC C object in Qt signals regarding the lifetime of these objects, so rather than registering the type, the object is passed though lambda capture assumming that the current comment and code is correct.
-
When last vout stops, a dummy vout is created. For the interface, this has no relevance and "has video" property should be set to false.
-
When using var_GetBool, "--sout-aom-row-mt" was a noop.
-
This will output all spatial layers if requested, defaults to false (the built-in dav1d behavior would defaults this to true). Fix suggested-by Maryla Ustarroz Fixes #28776
-
-