| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If eglfs is used, then there is valid current gl context
and it has OpenGL shader programs (QGLShaderProgram::hasOpenGLShaderPrograms).
This gl context makes QPainterVideoSurface to use QVideoSurfaceGlslPainter
instead of QVideoSurfaceGenericPainter.
QOpenGLCompositorBackingStore uses QImage as a QPaintDevice.
In this case QPainter::beginNativePainting does nothing because of QRasterPaintEngine.
Since QVideoSurfaceGlslPainter is supposed to work with a gl paint engine and not with a raster one,
this prevents rendering any video content.
To work this around, view->setViewport(new QOpenGLWidget) could be used,
where QOpenGL2PaintEngineEx will be taken into account.
If platform was not eglfs, QGLContext::currentContext() could be unavailable
which made QPainterVideoSurface to use QVideoSurfaceGenericPainter
and the video was rendered correctly.
QVideoSurfaceGenericPainter should be used when the paint engine is not gl based.
Task-number: QTBUG-57836
Change-Id: Id4839facddb2494ec5abf729ea80068eb5e2af1d
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
Reviewed-by: Christian Strømme <christian.stromme@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In case of EOS the state of the pipeline currently is changed to GST_STATE_NULL,
which releases some resources and it might take some time to restart the playback.
If the media should be played few times, there could be a gap between EOS and new play which can be heard.
Suggesting to set the state to GST_STATE_PAUSED instead.
If there is a need to release resources, empty QMediaContent should be set to the media player.
Change-Id: Ifa5c886abfbea037fd395b7336a5590001d4a7f7
Fixes: QTBUG-75314
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
Since Info.plist is handled only in ProjectBuilderMakefileGenerator
which is used only if MAKEFILE_GENERATOR == XCODE.
Using -spec macx-clang uses UnixMakefileGenerator.
Change-Id: Ie6a8e6a0b133da1e0e7d556b32693c56d8cbf294
Fixes: QTBUG-75285
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently if the application is inactive,
the state is postponed to be set and processed when the app becomes active.
This also postpones stateChanged() signal and saving the state value,
while it should be set (but not processed) immediately as done in another backends.
Added a fix to store the state and emit stateChanged regardless of
activity of the application.
When the application becames available, the state will be processed.
In case of an error while opening the camera:
- UnloadedState is emitted
- CameraError
- UnloadedStatus
Change-Id: Ie376d29366168a6b15eccea884f385070f94fe35
Task-number: QTBUG-73582
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
|\
| |
| |
| | |
Change-Id: Iba6e8b9c44b6fc83ec69ad7a922135a35564de8d
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
+ fea4d302cddbb91e23864a4dbd786d53b72f67ea Gstreamer: Set surface from renderer before creating pipeline
+ 09490d1ac6294173004f8f5b948dea9a1e412d3d Doc: Fix documented QtMultimedia import
+ 935967a453b47ae7c8e9ad3d94eef3813eab58db Fix compile failure with gstreamer 0.10
+ d665520e8bd23121160d82cada34ff625e0d0cfe Bump version
+ 226f802fb04de6b135a0214674ce77643ba479c4 Add source url to 'decoding error' warning
+ c296df781d9fa445bb4b1fcbb6f340e0d1db0c3a Fix QCameraInfo to be invalid if camera failed to find device
+ 80411380fbf614d833cd42dee80d01510326ccd3 winrt: Use highest supported resolution for camera preview/image capture
+ f41819387531a5ddfbad2e80ceec7b57a5ebb7c6 Android: Use CaptureStillImage as default capture mode
Change-Id: I2cf7a9c86b08e72ffbea9901371a40610b65eadd
Reviewed-by: Christian Strømme <christian.stromme@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
pause() should reset position to the beginning after EOS.
Fixes tst_QMediaPlayerBackend::processEOS
Task-number: QTBUG-65574
Change-Id: I4802102bde657d7a3dde0b426c335b021207ae08
Reviewed-by: Christian Strømme <christian.stromme@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
A frame must be presented until pause/play is called.
Fixes tst_QMediaPlayerBackend::seekPauseSeek
Task-number: QTBUG-65574
Change-Id: I6946c5a5977c44fed80abce364a4222845898016
Reviewed-by: Christian Strømme <christian.stromme@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Currently if the device gets opened, also its volume is set to 100%.
The volume should be set only if it has been requested.
Change-Id: I9dc4ab29ad71f3ac6556c6dd32c7b8e5d69efab2
Fixes: QTBUG-75024
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
android/media/AudioTrack::getMinBufferSize might return an error instead
of a size.
Task-number: QTBUG-73583
Change-Id: I52e2d214ab7065bcea9d983979bb0b83717428af
Reviewed-by: Christian Strømme <christian.stromme@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Fixes tst_QCameraBackend::testVideoRecording.
Since QMediaRecorder::FinalizingStatus could be sent immediately, it is sane to
wait for final QMediaRecorder::LoadedStatus only.
But added a fix to check if the FinalizingStatus has been emitted.
Task-number: QTBUG-73582
Change-Id: I63fc6b1951a712215ee5d982233924a79ac1c124
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
Reviewed-by: Christian Strømme <christian.stromme@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
If the camera is ready for capture -> QMediaRecorder::LoadedStatus.
If CaptureVideo is changed to CaptureStillImage -> StoppedState and
UnloadedStatus.
If camera's status is StoppingStatus -> StoppedState and UnloadedStatus.
If camera's status is LoadingStatus -> LoadingStatus.
If recording is requested -> RecordingState and RecordingStatus.
If recording is audio-only -> immediately LoadedStatus, before start and
after stop.
Fixes tst_QCameraBackend::testVideoRecording
Task-number: QTBUG-73582
Change-Id: I976c4e3afab529e0949571c4002e9ceba74cac97
Reviewed-by: Christian Strømme <christian.stromme@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Since androiddeployqt is looking for qml modules in qml/js files only,
it is unable to deploy qml plugins for inline qml from cpp.
Hence modules are never found while compiling inline qml.
Fixes tst_QDeclarativeVideoOutputWindow and tst_QDeclarativeVideoOutput
Fixes: QTBUG-73597
Fixes: QTBUG-73598
Change-Id: I43dc1ac38522779ff37f04b055a41b2c05eb7619
Reviewed-by: Christian Strømme <christian.stromme@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Since TESTDATA files are not deployed to device, need to add them to
qrc.
Task-number: QTBUG-73583
Change-Id: Ie0b934b1d9bd46f8748ca93a3502ef1643271217
Reviewed-by: Christian Strømme <christian.stromme@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QCameraImageCapture::imageCaptured is also async and could be delivered
after QCameraImageCapture::imageSaved.
Fixes tst_QCameraBackend::testCameraCapture and tst_QCameraBackend::testCaptureToBuffer
Change-Id: I47ee22c39cd2570f20a3e75a80249ed16ca52d0e
Fixes: QTBUG-73582
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
| |
DirectShowCameraZoomControl sets camera zoom level to 1x each time,
when camera goes into LoadedStatus (e.g. on stream stop), which is
inconveniant, specially if camera has physical remote, and zoom level
may be changed externally.
Disable this behavior, if zoom level was not requested explicitly
by zoomTo(...) function from client code.
Fixes: QTBUG-74180
Change-Id: I99ff76af04f80c630a0c397db5713e6706ebf175
Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
Reviewed-by: Ihor Dutchak <ihor.youw@gmail.com>
|
|
|
|
|
|
|
|
| |
Fixes tst_QCameraBackend::testCaptureMode.
Change-Id: I2f6486102ebcbf7e1ab0feea8c13658772d5b90f
Fixes: QTBUG-73582
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Using the lowest supported resolution yields ugly results and has weird
side effects (green bars). If no resolution is explicitly given, we
should use the maximum supported solution for preview as well as
capture.
Task-number: QTBUG-72874
Change-Id: Ie0fae65180e66156c6de468f2cabb9122fe665ba
Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
Since QCameraInfo uses deviceControl and infoControl to get info about
camera, it needs to clear these controls if the camera failed to find
a device by name.
Change-Id: I1404f70234f978fa4568b6c883a5676f61e08145
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
(cherry picked from commit 42932e1a9dfd6699763b336f552e46f9b1ff30c9)
|
|
|
|
|
|
|
|
|
|
|
| |
Previously, QSoundEffect logged a warning if the source could not be decoded,
but without mentioning the source it tried to decode. When using multiple
QSoundEffects in one application, adding the source to the warning will help
to find the one causing the decode error.
Change-Id: I4c6bbdfe4a62f650b64ab951bcc637febedae98e
Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
Reviewed-by: André Hartmann <aha_1980@gmx.de>
|
|
|
|
| |
Change-Id: I36778f9d06291356d949b25acb3cee767ba90aee
|
|
|
|
|
|
|
|
| |
This fixes an compile failure introduced in commit 67c4ec55.
Fixes: QTBUG-74475
Change-Id: I0dabb72f8b5cdd75336b15515381ff9d9442788f
Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
|
|\
| |
| |
| | |
Change-Id: Ic3485054ca68580cd2bf08e37262ad92073f00c8
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
+ a29d83ff4bbab71fc2f8af77594a9aff997c2b2a Gstreamer: Negotiate default settings before encoding container profile
+ 4617faa7fae3deda5690dade4b64785ac215e16c Migrate QGstUtils to use QRegularExpression
+ 0caa716a92f8f971813fced4bd9f7d62a53cbcdb Bump version
+ 37345cd5dc75d061495888a4bb44d1329b02da8f WavFile example: fix indentation
+ 4e8e47989d96f8d60feec2187e4d9c85adb19c2a WavFile example: drop needless includes
+ 67c4ec55b12c9c397838e3cf3392b66cbd4c142a Gstreamer: Set custom pipeline using url
+ 3c2e902e319ff9329f26103250f43eb540be4302 Fix comment for YUV fragment shaders
+ 26ffdc559c78fa5f9b9f5a05f7d6d9b778e711c8 Android: Fix memory leak of GL resources
+ 5c8ed3a67384bc22eb1a876ed2fb29063657a675 DirectShow: Fix crash when camera is being destroyed
+ 86172a759d40b0dc6dc664ba79581bf315526788 gpu_vivante depends on opengles2 and gui
+ d6c69017130405d945df7f9bd8b529932b158806 Fix crash in player example when close the window while playing
+ a8ebc9c9fd746bd6c269fa61145d53faafecdbd5 Do not ignore tst_*.qml
+ a7f01cea43a16a9b2b06ab3a8ff3b62b8edce5cd Fix static build on Windows
+ 4e47d0a710452cfba62a8a3c2c2ce5c118bc00fe Gstreamer: Fix compilation error with 0.10 version
Change-Id: I0348a27c2757eab0336fbf024523d5502960dd58
Reviewed-by: Christian Strømme <christian.stromme@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Since change 871a097d0c6e8203f82 QtMultimedia is registered with the
latest Qt minor version, but the documentation wasn't updated yet.
Change-Id: I58eb629c5a2851f83231891b2e219210d79c862c
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
| |
When multiple pipelines are created, and one of these gets recreated,
it picks up the last set surface.
This is incorrect, as it needs a surface belonging to the current renderer.
This patch sets the surface before creating pipelines, retrieving it from the current renderer.
Task-number: QTBUG-73557
Change-Id: I0811f7262a0eca57e01361a55515351127520064
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
|
|
|
|
|
|
| |
Task-number: QTBUG-73740
Change-Id: I1de087b63f65bab39351d5446254a8d1832e88c3
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
|
|
|
|
|
|
| |
Fixes: QTBUG-73464
Change-Id: I5d1052dec14bbe6ee69b348352991d14d63b9c76
Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
|
|
|
|
|
| |
Change-Id: I55c045909dd0eeac86160ca989ce893ed2816483
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When it is playing and close the window:
1. The player object will be destroyed first (all QString's).
2. Next parent QWidget will be destroyed with all children.
3. While destroying QMediaPlayer from Player object, the playback will be stopped.
4. The status will be changed and Player::statusChanged will be called.
The connection still exists.
And since all string members are already freed, it produces a crash.
Change-Id: I2c2fdca97f0ff4b300527b550ecc0c12b04e5b4e
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|
|
|
|
|
| |
Change-Id: I8317956994f586fa2272d5633af91325d277998b
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
If a camera is going to be destroyed, a service plugin releases media service,
(which releases ds camera session) and might call CoUninitialize.
This leads to a crash when DirectShowSampleGrabber is destroyed after
releasing the camera.
Added a fix to release the sample grabber together with camera session.
Task-number: QTBUG-73461
Change-Id: I8e518d0242d983c8d2bb00c30ad87c7e8e1e2c93
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|
|\
| |
| |
| | |
Change-Id: I1d3188a758fc89c2fedfc9a2274bf808bbe2b56e
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
+ 27ab485e6a28dc081152ed8a8867ae51220479ba Gstreamer: Fix camera example to apply video settings
+ 630738f9ef1ba7467c3c280a1cb64471c37d62d1 Gstreamer: Fix compiling issue with < 1.1.3 ver
+ be919fd68a844a2e7e0d15c70fc5ccacce8d4edc Alsa: Do not open device twice in QSoundEffect
+ cce3e8a019a3272ff422b1cdb1ce11bb7b00feea Gstreamer: Do not create video profile if no codec provided
+ 05a58a81db51564f93397dcf8f7cd37c8d4d1a9d DirectShow: Fix compiler warnings
+ d9bf568551c9e101374ba842e831650d34d0d41e Bump version
+ 6dd0e0141bbb8ca8571f7d142c7b0314e8c63f57 CoreAudio: Decrease volume when playback is stopped on macOS
+ 2c974280aa8c40d29ec89bdc73bc6bf384c010c9 EVR: Prevent redefinition of MFVideoNormalizedRect
+ 6966a09c9a6a2c134a739446cc582e47d0c6ed6d Add changes file for Qt 5.11.3
+ c459810caf72be43275e983b01cf97556ad55562 DirectShow: Display windows error string when camera fails
+ 9fb8dd4e76700da8d321a8677e44e771a0213a7e DirectShow: use supported pixel formats for QCamera video surface
+ 67a826716a9a58659f7272cbce3c450af384da5a Windows: Repaint QVideoWidget when WM_PAINT or WM_ERASEBKGND received
+ a9889e9e853b2b0e9b3736a258c908fa7559b35c DirectShow: Restart not active surface when frame is received
+ 06f1f32daa89265269532a02457e73912da3c2d7 DirectShow: Don't queue video buffers from sample grabber
+ 4e9b9c1f268b333efd4b266091976585e4660352 WMF: Map PKEY_Media_EncodingSettings to QMediaMetaData::Description
+ 4fb0aa479ea6b5ea7e72ba880cf01bbaa59d93fa Add binary compatibility files for 5.12 for QtMultimedia
+ 7064057843bd474115055acdc76a886953acf898 QGstUtils: fix build with MSVC
+ 885ad4bd1de3c0e8d14bae94f63d10e54b36283c GStreamer camera bin service plugin: remove bogus export macros
+ 982d4c9505cf427709aac18346dd9df4a13f76c5 GStreamer: remove unnecessary <unistd.h> includes
+ 5d7531192bbb411c24039dd5c68805d42383f547 Fix QCamera::testCameraLockCancel test
+ 8c26502e386e76fa7db6ce8c4d073e9dabf00b44 Fix test to pass when wave is not available
+ afc952f93922db36ff7a93ce3c4e558cb78177e2 Bump version
+ 80898b03be54e2855472987f60f4c2526344389b Return ServiceMissingError if no camera found by name
Change-Id: Ib012fed3c29d300df9101f1db7f38387e5288c23
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
| |\
| | |
| | |
| | | |
Change-Id: Ic42cf93c3be21a84d711effae28a3292f2b5c600
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Binary compatibility files added.
Change-Id: Id9346f9e75d9fdbcf8ad30409d706829f1ba2573
Reviewed-by: Sergio Ahumada <sahumada@texla.cl>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
DeferredDelete events have implicitly higher priority,
which makes this event to be handled before MetaCall events.
See QSGSoftwareRenderThread::sync():
...
QCoreApplication::sendPostedEvents(nullptr, QEvent::DeferredDelete);
Where it processes deferred deletes and no meta calls will be delivered
even if they were requested before the deferred delete.
Task-number: QTBUG-67280
Change-Id: Iba23550d2cffb1cea1b4c2fe4c903078d9f2f046
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The comment contains information which makes it misleading to understand
how the components are passed.
Change-Id: I29cdb5eec1e8014fa7f0ca3f1a0f54258fdb431f
Reviewed-by: Tomasz Olszak <olszak.tomasz@gmail.com>
Reviewed-by: Christian Strømme <christian.stromme@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Introduced possibility to set custom pipeline using url.
Now the pipeline should be set only via QMediaPlayer::setMedia using url
with scheme "gst-pipeline".
For example, "gst-pipeline: videotestsrc ! autovideosink"
Since setting the media should be done after renderer in QML,
hence a surface is ready to be used and "qtvideosink" is available in pipelines.
To use it with QVideoWidget, setting the pipeline should be done after passing video output.
Change-Id: Id43f8681069e4bca2eafb154df2c5d446a0ca498
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
Reviewed-by: Christian Strømme <christian.stromme@qt.io>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I26033a3d853dca8023fe4ec5f1eb7c53ef5d013f
Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: Ibc117caf24daef75cf2e71f04b058ffadd30c273
Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
|
| | |
| | |
| | |
| | | |
Change-Id: Ia716cc04cebf19cc1c2514d1ab2f8b2080dd29da
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This patch updates the QGstUtils class to use QRegularExpression in
place of QRegExp which is to be considered deprecated.
Fixes: QTBUG-72589
Change-Id: I67e189c48688b512cc76c884fd2a7e51e1b188f9
Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
|
| |/
|/|
| |
| |
| |
| |
| |
| | |
In case if container format, video and audio codec are not provided,
need to fetch default ones.
Change-Id: I616fabc7bf9ec7c7a08a4c5dacad87a1748209f3
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
If no camera devices found with requested name, the object should be invalid.
Task-number: QTBUG-54901
Change-Id: I54037c5c7caad09da2df51eb0624eb0e88f12bf8
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|
| |
| |
| |
| | |
Change-Id: Ia7fef54ffced53efa146b15ae64e4090f0546a58
|
| |
| |
| |
| |
| | |
Change-Id: I97023663c4232146f844de1d1b380f5a7bf11264
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Since QCamera(0, provider) does not make any sense, because
provider should not be passed to ctor, it is already inited as default.
Change-Id: I398671ef9885a94d5f651a33f7f5376252611a1e
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|
| |
| |
| |
| |
| |
| |
| | |
This makes it possible to build the GStreamer backend on Windows.
Change-Id: I5b705524072d8bd89a7c9b834201b97e0d01d6cc
Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
|
| |
| |
| |
| |
| |
| |
| | |
Results to inconsistent DLL linkage errors on Windows.
Change-Id: I0aebe05e40dbb4fac130c536849c68dd61aa12fe
Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
|