summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Add changes file for Qt 5.15.1v5.15.15.15.1Antti Kokko2020-09-031-0/+45
| | | | | | Pick-to: dev 5.15 Change-Id: Ida0d0494f46079ac3934742539965fe78a0d2f8c Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Bump versionAlexandru Croitor2020-07-301-1/+1
| | | | Change-Id: Ie596b8a54749b7dd6c2c069da8d77cb74369be0b
* GStreamer: Update render rect only if open gl sink is usedVaL Doroshchuk2020-07-201-1/+3
| | | | | | | | | | Only glimagesink requires updated render rect. Change-Id: Ib30bf364edda4cd088a1202bbd5c958b552ba999 Fixes: QTBUG-85545 Reviewed-by: Val Doroshchuk <valentyn.doroshchuk@qt.io> (cherry picked from commit a553c7d1b63defc963a043e363f8d75d255e9c72) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Add binary compatibility files for 5.15 for QtMultimediaMilla Pohjanheimo2020-07-132-0/+36065
| | | | | | | Binary compatibility files added. Change-Id: I9860ccffa2492e6cb5f9586ce4476b416e6a161f Reviewed-by: Val Doroshchuk <valentyn.doroshchuk@qt.io>
* Compile with QT_NO_BEARERMANAGEMENTAndy Shaw2020-07-064-1/+25
| | | | | Change-Id: Ibd23ac674e8ba5c0b2d3cea619d0f823a058baab Reviewed-by: Val Doroshchuk <valentyn.doroshchuk@qt.io>
* Don't map QMemoryVideoBuffer when there is no data insideVaL Doroshchuk2020-06-302-1/+13
| | | | | | | | Task-number: QTBUG-85202 Change-Id: If40af4af211af86311c0e04a8bdd0627dc34a939 Reviewed-by: Andy Shaw <andy.shaw@qt.io> (cherry picked from commit d97efea0caaa9741f21e7e30b394d292ea80c9b0) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Doc: minor fixes re the camera documentationAndy Shaw2020-06-153-1/+3
| | | | | | | Change-Id: I8fbff45f5ebae681ab37cfd0ab0acb79eec88864 Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io> (cherry picked from commit f730fa8d3eaefdcd44f57c49c468344da56bb041) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Add missing overrideAlexander Volkov2020-06-109-127/+127
| | | | | | | Change-Id: I0ec719a26ad6c146e44f8e9e41b186a53cb254a9 Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io> (cherry picked from commit 121c0c4028d6deceded8e600959f10c364986634) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* CoreAudio: Don't apply audio category if it is not neededVal Doroshchuk2020-06-094-18/+12
| | | | | | | | | | | | | | | | | | | If just devices are requested, no need to apply any categories with activation of audio device. Postpone setting category and activating audio until actual playing is requested. Categories/options for input devices: AVAudioSessionCategoryPlayAndRecord with AVAudioSessionCategoryOptionMixWithOthers For output: AVAudioSessionCategoryAmbient with no options. Fixes: QTBUG-83776 Change-Id: I9364bdea2882bc23039817207eca62b311841ba6 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> (cherry picked from commit b5a55492a63cb2cda75d6f980acb7fc5ae8dfc22) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* GStreamer: Start playback when bufferedVaL Doroshchuk2020-06-091-1/+1
| | | | | | | | | | | Regression since d8d072417b08dd75734b3f0aa86c3a49db934770 Fixes: QTBUG-84556 Change-Id: I557ac7eb38ebdbb6c52e5348902ee8c3f1a91f07 Reviewed-by: <roman.valov@gmail.com> Reviewed-by: Andy Shaw <andy.shaw@qt.io> (cherry picked from commit 19cc3a018f2442221d566ec56bda2bdbdce7ec2e) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* AVFoundation: fix playback of files with spaces in their namesNick Korotysh2020-06-021-7/+7
| | | | | | | | | | | | | | | | | | Used QUrl::toEncoded() instead of QUrl::toString(). Usage of QUrl::toString() leads to URLs which can contain spaces and as result such URLs are not accepted by AVPlayer, and it remains in unknown state because AVFMediaPlayerSession::processLoadStateChange() is not called at all. And as result, QMediaPlayer waits media loading forever. [ChangeLog][Platform Specific Changes][AVFoundation] Fixed playback of files with spaces in their names. Fixes: QTBUG-84585 Change-Id: I69e522d048d88310803a7040f114ee808c18720b Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io> (cherry picked from commit 9c16be3d9d956f612dda431f4883eab3b09a8b67) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Map QVideoFrame::Format_Y8=>QImage::Format_Grayscale8 in QVideoFrameVaL Doroshchuk2020-06-024-5/+9
| | | | | | | | Fixes: QTBUG-52455 Change-Id: I30582582935ae0a2c5094db995cba83b62adc767 Reviewed-by: Liang Qi <liang.qi@qt.io> (cherry picked from commit 2b96c113cf7057b556856149114999b973b3f2c2) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* GStreamer: Remove dependency to gstreamer_imxcommonVaL Doroshchuk2020-05-293-31/+9
| | | | | | | | | | | | gstreamer_imxcommon is not official plugin. Added extracting of physical memory instead. Available since gst 1.14. Fixes: QTBUG-83663 Change-Id: I4c2823f1a965c1fc5a5ab9e50ab8325884f8f6e1 Reviewed-by: Samuli Piippo <samuli.piippo@qt.io> (cherry picked from commit c94342497120dd8eb640afbeb770c01b0d717634) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* gsttools: do not use nullptr in C codeRolf Eike Beer2020-05-291-8/+8
| | | | | | | | | Changing this in "gsttools: use nullptr instead of NULL" was an oversight. Change-Id: I6ed4a63800dc288a32c58eafaf74cdc15ea2218d Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io> (cherry picked from commit ce0ae3f3bfed03e3eb334165f9dbf1151a9f9e5d) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* iMX: Introduce QT_GSTREAMER_PLAYBIN_CONVERT to inject a converter in playbinVaL Doroshchuk2020-05-281-1/+9
| | | | | | | | | | Injects a converter between decoders and video sink. Task-number: QTBUG-76179 Change-Id: If5fc8090bc1ade424a1157e94d83dc5a51051fd7 Reviewed-by: Samuli Piippo <samuli.piippo@qt.io> (cherry picked from commit 92658f152656f6d8373e79be0b2bfe331857560a) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Merge remote-tracking branch 'origin/5.15.0' into 5.15Qt Forward Merge Bot2020-05-149-7/+71
|\ | | | | | | Change-Id: I9525c18e6a29b8c6cbe3398264a096bde24eca10
| * Merge remote-tracking branch 'origin/5.14' into 5.15.0v5.15.0-rc2v5.15.0-rc1v5.15.05.15.0Qt Forward Merge Bot2020-04-277-7/+7
| |\ | | | | | | | | | Change-Id: I6df92f98db7c18dcecdc831d46748d8111dffacb
| | * Fix case of header file includes for building with mingw-w645.14Marius Kittler2020-04-266-6/+6
| | | | | | | | | | | | | | | Change-Id: Ie0e6599234c38c5e5a75b681a911f3728871861e Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | * WindowsAudio: Send stateChanged when QAudioOutput::reset() is calledVal Doroshchuk2020-04-231-1/+1
| | | | | | | | | | | | | | | | | | Fixes: QTBUG-83240 Change-Id: Iaa01ee4553f4c0c4d9a1ad829e65b40f13d3847d Reviewed-by: Andy Shaw <andy.shaw@qt.io>
| * | Fix warning about QNetworkConfiguration being deprecatedThiago Macieira2020-04-231-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | It's going away in Qt 6.0. Task-number: QTBUG-83692 Change-Id: I9709abb1c3734e10a7defffd1607e1160da1e75c Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
| * | Merge 5.15 into 5.15.0Alexandru Croitor2020-04-235-7/+64
| |\ \ | | | | | | | | | | | | Change-Id: I98beddaeb5a0508f5790a9fed2ef74044a8043e9
| * | | Add changes file for Qt 5.15.0Antti Kokko2020-04-211-0/+57
| | | | | | | | | | | | | | | | | | | | Change-Id: I702f45ee8ab811b068ccde6de13cb754544e93e7 Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* | | | Remove QRadioTuner from index pageKai Koehne2020-05-111-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It got deprecated in f1648c837b606cb Change-Id: I3f99a5373b0641f15e62ec4270e89c582e451fdb Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io> (cherry picked from commit c95aa0e1836f230b2ba3158c65d0767223dd1937) Reviewed-by: Qt Cherry-pick Bot
* | | | Vivante: Keep only one frameVaL Doroshchuk2020-05-112-8/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The imx6 vivante implementation of videonode used by qtvideosink holds reference to two frames during rendering. It releases the first frame only when it receives the third frame. This makes jerky playback when frames are not coming at constant rate. It displays the previous frame during video playback. Change-Id: If306bdcd358fac46a1fd0000ccb068424aee813a Reviewed-by: Karim Pinter <karim.pinter@qt.io> Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* | | | GStreamer: Fix reverse playbackVaL Doroshchuk2020-05-081-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Each gstreamer plugin is responsible for supporting reverse playback and also might require different start/stop types (GST_SEEK_TYPE_SET, GST_SEEK_TYPE_NONE, GST_SEEK_TYPE_END). Some plugins do not support it at all, e.g. wavparse. if rate > 0: change rate from current position to duration. else: change rate from current position to 0. Fixed also seeking with a negative rate. This should work for mp3 or some video formats too. Fixes: QTBUG-83945 Change-Id: I10a98186b9bc63d908667944aa4459da9e63e343 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* | | | Suppress QMediaNetworkAccessControl related deprecation warningsMårten Nordheim2020-04-271-0/+9
| |/ / |/| | | | | | | | | | | Change-Id: Ifb64b01463115f81b2edc4e486a3b0f52197e2a1 Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
* | | Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2020-04-211-0/+45
|\ \ \ | | |/ | |/| | | | Change-Id: I275882053a3c21e31e05b1583183e87942c9d720
| * | Merge remote-tracking branch 'origin/5.14.2' into 5.14Qt Forward Merge Bot2020-04-211-0/+45
| |\ \ | | | | | | | | | | | | Change-Id: I4a121e41c79e6a05ac35954c679314893d6412de
| | * | Add changes file for Qt 5.14.2v5.14.25.14.2Antti Kokko2020-03-121-0/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + 1cc4b7e28bf9f8f684bf17ed30a822aa6d1c6735 Doc: Explain that the camera consumes power in Camera.LoadedState + 8427c0be1c262293b27c8bca598108cfe882c84e Doc: Fix QCamera and Camera docs + d63921355aacf5cbd5189ffdbe4d23b9ff318bee Android: Fix loading multimedia plugins + 5e0c4d2fa253922a86378b150852a0ca8bdabc0d Android: JNI_OnLoad return JNI_VERSION_1_6 instead of JNI_VERSION_1_4 + 2d54cb4f460f2665da64e551927e6dbf153c68c1 GStreamer: Don't create encoding profile if container is not supported + 265bfb22e7f0f5333e584f6dd91926b8516e394e AVF: Always lock the capture device when start the camera + daac69f2f9e9ff9be06484dbdc10d139e83ab502 Bump version + 545d4aedc2af40182cd9141d014a02f919592cd9 AVF: Don't use deprecated AVPlayerItem::seekToTime::CMTime + e47ed7b88223c42dd20ef86b829061fcc4f1fc30 AVF: Only resume playback after a stalled buffer if really needed + cbdf4561f5cdb6ee95583f14a3769c3124228586 Android: Flush qrc to tmp file with original name + 7e64b859b6a663f42ee3067930ef132d9e7d2901 Fix false pulse audio dependency of libQt5MultimediaWidgets + aec140743b1a4110c327c46bdfbf15fcddb2dd17 AVF: Fix applying viewfinder settings for iOS + ad3d2afae99506a779ad758f4e7385c9f0b163ba AVF: Don't override AVPlayerLayer's bounds if already set + 19b111fa2f872e8c356ca130ce5a03ae52375934 Android: Fix invalid use of incomplete type 'QDir' + 12460a14bde44d1ff7bedd75bc87c7f22d096588 WMF: Fix memory leak in MFPlayerSession::getStreamType Change-Id: I287736bbe400983bad3966caab675a9386e075d8 Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* | | | Merge "Merge remote-tracking branch 'origin/5.14' into 5.15"Qt Forward Merge Bot2020-04-203-6/+18
|\ \ \ \
| * \ \ \ Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2020-04-203-6/+18
| |\ \ \ \ | | |/ / / | | | | / | | |_|/ | |/| | Change-Id: I160b25219c806d9d3a30644fa1a5e589c5aca039
| | * | Gstreamer: fix stream bufferingRoman Valov2020-04-201-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Gstreamer client should handle GST_MESSAGE_BUFFERING to play and pause streams based on buffer-percent value and Qt does it properly. However `updateSessionState` of QGstreamerPlayerControl was implemented to go back into playing state each time session state becomes paused. That behavior resulted into choppy stream playback. Fix with condition to un-pause playback only if it's already buffered. Fixes: QTBUG-83417 Change-Id: Ida4a9e2e196de00050bdc64725fa818c7e939785 Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
| | * | GStreamer: Remove file when CaptureToBuffer is usedVaL Doroshchuk2020-04-201-4/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Capturing the image is handled by camerabin and it saves the image to a file. And we wanted to remove the file if capturing to buffer is requested, but the file is kept and not removed. Change-Id: I21404fc160bf275325deebf0f00b588de3493ee1 Fixes: QTBUG-82572 Reviewed-by: Andy Shaw <andy.shaw@qt.io>
| | * | GSTVideoRender: Update viewport on gst video buffer crop metadataStef Boerrigter2020-04-161-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the video buffer contains crop metadata update a viewport for the video frame format. Fixes: QTBUG-82448 Change-Id: Iace150c6c03b48662cc9f0112b45fbe6401d6061 Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
* | | | Update connect to QSocketNotifier::activatedMårten Nordheim2020-04-201-1/+1
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | The int-overload will in some cases truncate the descriptor. So it's being replaced. Task-number: QTBUG-70441 Change-Id: Iffee2c8b544e6d329d02c0afea6aa9db9de38ea4 Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
* | | Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2020-04-143-6/+17
|\ \ \ | |/ / | | | | | | Change-Id: I9687c59d15cd816969f362d72b19f279a1a2d04e
| * | Fix clang warning about mixing || and |Thiago Macieira2020-04-091-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | || was definitely wrong. Even | would be wrong. ../qmultimedia_common/../qmultimedia_common/mockcameraflashcontrol.h:62:22: warning: use of logical '||' with constant operand [-Wconstant-logical-operand] return (mode || (QCameraExposure::FlashAuto | QCameraExposure::FlashOff | QCameraExposure::FlashOn | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Change-Id: Ibdc95e9af7bd456a94ecfffd1603e74da919abbc Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
| * | DirectShow: Use MEDIASUBTYPE_Y800 as QVideoFrame::Format_Y8Val Doroshchuk2020-04-082-3/+14
| | | | | | | | | | | | | | | | | | | | | | | | Added MEDIASUBTYPE_Y800 with GUID: {30303859-0000-0010-8000-00AA00389B71} Fixes: QTBUG-83071 Change-Id: I2e51ae1d2ae62d4d4cd7f68eecc0605bdc8c7f3a Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* | | Merge remote-tracking branch 'origin/5.14' into 5.15v5.15.0-beta4Qt Forward Merge Bot2020-04-071-6/+6
|\ \ \ | |/ / | | | | | | Change-Id: Icb722ebe5b9b02791cf3593f2347e398deb837fe
| * | WMF: Fix memory leak in MFPlayerSession::getStreamTypeVal Doroshchuk2020-04-061-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | Receives a pointer to the IMFMediaTypeHandler interface. The caller must release the interface. Fixes: QTBUG-80037 Change-Id: I69682028a5deea256a79d5d067afe2e60e49c8c5 Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* | | Remove deprecated QTextStream operators from examplesTopi Reinio2020-04-032-17/+17
| | | | | | | | | | | | | | | | | | | | | | | | Use '\n' instead. Task-number: QTBUG-82532 Change-Id: I01bf8cc3254469514cb0f56f3055b944bac578a2 Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* | | Merge remote-tracking branch 'origin/5.14' into 5.15v5.15.0-beta3Qt Forward Merge Bot2020-03-284-20/+2
|\ \ \ | |/ / | | | | | | Change-Id: I3a719b4e4ba75da1784fb2bc5d6c014b1e6c54ac
| * | tst_QMediaObject: Remove checking of expected elapsed timeVaL Doroshchuk2020-03-231-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | It is often failed on CI when no enough resources. Task-number: QTBUG-82582 Change-Id: Ibcddab73e6dfd24c3ab064ed8ea89843ebdc92ea Reviewed-by: Paul Wicking <paul.wicking@qt.io> (cherry picked from commit d5d42a24b5b9d2079d584defac70aef1a1feadef)
| * | Blacklist tst_QAudioOutput tests if it is running in CIVaL Doroshchuk2020-03-232-16/+1
| | | | | | | | | | | | | | | | | | | | | Fixes: QTBUG-82683 Fixes: QTBUG-82684 Change-Id: I82387bf4685f96c77a6658a9f8360e89335ba23c Reviewed-by: Liang Qi <liang.qi@qt.io>
| * | DirectShow: Handle QVideoFormat::BGR24 in bytesPerLine()Andy Shaw2020-03-201-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | Since we are mapping from MEDIASUBTYPE_RGB24 to QVideoFormat::BGR24 then we should make sure this returns the correct value from bytesPerLine. Change-Id: I8cc31d29a03bf2c1d7682de32448db0db9656cc7 Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
* | | QNetworkReply: Fix use of deprecated error signalMårten Nordheim2020-03-252-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | Update it to use the new errorOccurred Task-number: QTBUG-82605 Change-Id: Ia7f4f51917ac4694e54e47318cb477aa05c2929e Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
* | | Add AVFCameraWindowControl as QVideoWindowControl_iid implementationIhor Dutchak2020-03-237-3/+455
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | AVFCameraWindowControl is a renderer backend, when QCamera viewfinder output set to QVideoWidget on macOS or iOS. As it uses native API and lets the OS handle rendering pipeline, it is an efficient alternative to default renderer backend. Task-number: QTBUG-68779 Change-Id: I4d27022655a7d9f4ad7cf99c84b570a0c48cf10a Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
* | | Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2020-03-184-7/+18
|\ \ \ | |/ / | | | | | | Change-Id: Ia1bc95c071d29653a85e753964d15826ce3706f8
| * | DirectShow: Round stop position down to available bytes in IAsyncReaderVal Doroshchuk2020-03-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently requested IMediaSample might contain the end time that exceeds the available bytes which causes returning an error in WaitForNext() and stopping the playback. Regarding to IAsyncReader::Request documentation: The start and stop positions should match the alignment that was decided when the pins connected. The stop position might exceed the real duration. If so, the method rounds the stop position down to the actual alignment. Fixes: QTBUG-77782 Change-Id: I644e25bfc6bb8f6d345b8424b79fb56490d82c0e Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> (cherry picked from commit 9e96fe2cbf79a44039de0edcc854050d84b87588) Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
| * | PulseAudio: Discard buffer with outdated volume in QSoundEffectVaL Doroshchuk2020-03-131-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the sample is ready, the volume is applied to it and written back to pulse's buffer. When the volume is changed again, need to discard buffer with outdated volume, and rewrite. Change-Id: I51a6ab3ee1a5c799643a43c5628439c2d659f9fc Fixes: QTBUG-79687 Reviewed-by: Andy Shaw <andy.shaw@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>