summaryrefslogtreecommitdiffstats
path: root/src/multimedia
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'origin/tqtc/lts-5.15.11' into ↵v5.15.11-lts-lgplTarja Sundqvist2023-06-091-3/+3
|\ | | | | | | | | | | tqtc/lts-5.15-opensource Change-Id: I3279e8339e4fadcc6d5aaafa01e4b15a92168a6c
| * QAudioHelpers: fix C++20 -Werror,-Wdeprecated-enum-float-conversionMarc Mutz2022-08-081-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Says Clang 10.0.0 -std=c++20: qaudiohelpers.cpp:71:44: error: arithmetic between enumeration type 'QAudioHelperInternal::signedVersion<unsigned char>::(anonymous enum at /home/marc/Qt/qt5/qtmultimedia/src/multimedia/audio/qaudiohelpers.cpp:63:5)' and floating-point type 'double' is deprecated [-Werror,-Wdeprecated-enum-float-conversion] pDst[i] = signedVersion<T>::offset + ((typename signedVersion<T>::TS)(pSrc[i] - signedVersion<T>::offset) * factor); ~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Fix by turning the enum { offset } into a static constexpr int instead. Manual conflict resolutions: - extended the fix to the Qt5-only quint{16,32} specializations which are missing from the Qt 6 code. For the quint32 code, chose uint as decltype(offset), because 0x8000'0000 is not a proper value for int, and the subtraction for which offset is used doesn't promote its arguents to int, like for quint{8,16}, but stays in uint space, so an uint offset is suitable. Task-number: QTBUG-104172 Change-Id: I92a22583fc5e1fc524364b64701aa8d416b82671 Reviewed-by: Lars Knoll <lars.knoll@gmail.com> (cherry picked from commit 94d43085b3f3327b2bf2d644c5f984391f608d3a) Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
* | Merge remote-tracking branch 'origin/tqtc/lts-5.15.8' into ↵v5.15.8-lts-lgplTarja Sundqvist2022-11-112-1/+5
|\| | | | | | | | | | | tqtc/lts-5.15-opensource Change-Id: Ibcb201720a2949a9c57d8bafc83afcaf5d8e20e5
| * Use AVPlayerItemVideoOutput to generate video framesTor Arne Vestbø2021-12-072-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes rendering problems on M1 based Macs. It also unifies the rendering pipeline between macOS and iOS as much as possible, and avoids an intermediate copy to an FBO, Since AVPlayerItemVideoOutput produces GL_TEXTURE_RECTANGLE textures on macOS a new QAbstractVideoBuffer handle has been added that explicitly maps to GL_TEXTURE_RECTANGLE. We use this handle type internally in QSGVideoMaterial_Texture where we know how to blit GL_TEXTURE_RECTANGLE textures. To maintain compatibility for QAbstractVideoSurface consumers who expect GL_TEXTURE_2D textures we blit the rectangle texture to an FBO returned as QAbstractVideoBuffer::GLTextureHandle. Fixes: QTBUG-89803 Done-with: Lars Knoll <lars.knoll@qt.io> Change-Id: I36d22eafb63902ecc1097e138705812ef6a8cb71 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Doris Verria <doris.verria@qt.io>
* | Merge remote-tracking branch 'origin/tqtc/lts-5.15.7' into ↵v5.15.7-lts-lgplTarja Sundqvist2022-09-121-1/+3
|\| | | | | | | | | | | tqtc/lts-5.15-opensource Change-Id: I725962188e023f6a05333eca71cd14aa48ab7506
| * PulseAudio: Call pa_stream_flush() with PulseDaemonLocker lock heldAndreas Holzammer2021-10-011-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | The pa_stream_flush() must be called with pa_threaded_mainloop_lock() held, otherwise it is possible to corrupt internal PA state. The PulseDaemonLocker implements this lock and other pa_stream_flush() instances within qsoundeffect_pulse_p.cpp already instantiate the PulseDaemonLocker to claim the pa_threaded_mainloop_lock(). Add the missing locking to ::setVolume pa_stream_flush() call too. Change-Id: I667b1df669f839737c6cedb62ff66b612bdd65a0 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | Revert "Update commercial license headers"v5.15.3-lts-lgplTarja Sundqvist2021-03-25234-4857/+4857
|/ | | | | | | | | | | This reverts commit 80d46e3a5f64ff2456c40bdba63b6d5c69a32cdd. Revert of commercial license headers is required for Qt 5.15.3 opensource release. Task-number: QTBUG-91108 Change-Id: I5c64ffa120f916711e5cf01c828774f8456dec06 Reviewed-by: Akseli Salovaara <akseli.salovaara@qt.io>
* Doc: Fix typoPaul Wicking2021-02-101-1/+1
| | | | | | | | Fixes: QTBUG-90997 Change-Id: Ib007ebf6c9459df3583fd44b0347827514e90d83 Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io> (cherry picked from commit fcb3c8bfb84038462258ae242da9bcb8e9c2389e) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Update commercial license headersTarja Sundqvist2021-01-27234-4857/+4857
| | | | | | | | | | | | | | | | Updated header.COMM to files in tqtc-qtmultimedia. Examples, tests or documentation files are not updated. The commercial license header may contain some additional lines so that its line count equals with the earlier license header. Reaso for this is that some autotests use hard coded line numbers and a change in the line count causes failures in tests. Task-number: QTQAINFRA-4171 Change-Id: I86ebf7c3653b55983cefff246c0cb019cbcda8c4 Reviewed-by: Akseli Salovaara <akseli.salovaara@qt.io>
* Revert "Map QVideoFrame::Format_Y8=>QImage::Format_Grayscale8 in QVideoFrame"Andy Shaw2020-11-301-4/+1
| | | | | | | | | | | | This reverts commit 2b96c113cf7057b556856149114999b973b3f2c2, due to the fact that it introduces a problem with existing cameras on Windows. So reverting for now until a fix can be found. Change-Id: Ica59c8a68de7aecf6a4ebd1bd044363e9acefd93 Reviewed-by: Liang Qi <liang.qi@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> (cherry picked from commit 67d1ff140e60e3372d05fc7af2cf85de891a31f0) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* AVF: Introduce QCameraCaptureDestinationControl_iidVal Doroshchuk2020-09-101-3/+6
| | | | | | | | | | | | | | | | | | | | | Can be used like: QCameraImageCapture->setCaptureDestination( QCameraImageCapture::CaptureToBuffer | QCameraImageCapture::CaptureToFile); Both CaptureToBuffer and CaptureToFile are supported. If CaptureToBuffer is requested, then it sends imageAvailble signal If CaptureToFile is requested, it sends imageSaved imageCaptured is sent only if there is the video frame available. (e.g. when abstract video surface is used as viewfinder) Fixes: QTBUG-85470 Change-Id: If22281e4d0eacfb0d38f8b1c8b676191817f592e Reviewed-by: Ihor Dutchak <ihor.youw@gmail.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> (cherry picked from commit cdd87907722aff14c393dba02b7e43c924b60d06) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* 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-301-1/+1
| | | | | | | | 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-151-1/+1
| | | | | | | 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>
* Map QVideoFrame::Format_Y8=>QImage::Format_Grayscale8 in QVideoFrameVaL Doroshchuk2020-06-021-1/+4
| | | | | | | | 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-291-18/+1
| | | | | | | | | | | | 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>
* Merge remote-tracking branch 'origin/5.15.0' into 5.15Qt Forward Merge Bot2020-05-141-0/+7
|\ | | | | | | Change-Id: I9525c18e6a29b8c6cbe3398264a096bde24eca10
| * 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>
* | 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
* | Suppress QMediaNetworkAccessControl related deprecation warningsMårten Nordheim2020-04-271-0/+9
|/ | | | | Change-Id: Ifb64b01463115f81b2edc4e486a3b0f52197e2a1 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>
* Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2020-03-181-0/+17
|\ | | | | | | Change-Id: Ia1bc95c071d29653a85e753964d15826ce3706f8
| * 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>
* | Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2020-03-103-2/+47
|\| | | | | | | Change-Id: I4ea49723c74c6dccf141b65f834b5d539d2ab9d7
| * Document usage of QT_MULTIMEDIA_PREFERRED_PLUGINS on WindowsMichael Brasser2020-03-091-0/+5
| | | | | | | | | | | | Task-number: QTBUG-82300 Change-Id: Ibbd960ef69b59e535af30ac10a238ddcf7634b66 Reviewed-by: Andy Shaw <andy.shaw@qt.io>
| * QMediaPlayer: Update gst-pipeline docsVaL Doroshchuk2020-03-042-2/+42
| | | | | | | | | | | | | | | | | | Added docs for using QAbstractVideoSurface and example how to use QVideoWidget. Change-Id: I27a105a3859086e6fa5d8a19672ef791ce9e5cca Reviewed-by: Andy Shaw <andy.shaw@qt.io> Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* | QCamera: Deprecate 'error' signal, use 'errorOccurred' insteadAlexander Akulich2020-03-032-1/+13
| | | | | | | | | | | | | | [ChangeLog][Deprecation Notice] QCamera::error() (the signal) is deprecated; superseded by errorOccurred() Change-Id: Ie3214689db7f46cf36ac696339ac42beb5b921d4 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | Deprecate functions taking bearermanagement-related classesMårten Nordheim2020-03-024-5/+38
| | | | | | | | | | | | | | | | | | | | | | | | Bearer Management is going away [ChangeLog][Deprecation Notice] Functions taking or returning QNetworkConfiguration have been deprecated. Change-Id: Iff2e6c5386e5c6ba9da81067ac643bd1eb0d7500 Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* | Use Qt::SplitBehavior in preference to QString::SplitBehaviorEdward Welbourne2020-03-021-1/+1
| | | | | | | | | | | | | | | | The Qt version was added in 5.14 "for use as eventual replacement for QString::SplitBehavior." Move another step closer to that goal. Change-Id: I72aa0ccae06030043ba40f0f908826e5ca4a31ab Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Merge remote-tracking branch 'origin/5.14' into 5.15v5.15.0-beta1Qt Forward Merge Bot2020-02-221-0/+1
|\| | | | | | | Change-Id: I04934575bd661b80b1f012a7e825dcd753d26908
| * Android: Fix invalid use of incomplete type 'QDir'VaL Doroshchuk2020-02-211-0/+1
| | | | | | | | | | | | Change-Id: Id0a2d380eae9adce441c9eb82367435894e7a7d8 Fixes: QTBUG-82370 Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
* | AVF: Introduce adoption of AVAssetResourceLoaderDelegate protocolVal Doroshchuk2020-02-201-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | AVAssetResourceLoaderDelegate allows to load custom resources. Implemented resourceLoader:shouldWaitForLoadingOfRequestedResource to read data from QIODevice. The device should be seekable, and already should have all data available. Since there is a need to know total size of the stream. So the media player will wait for QIODevice::readyRead before loading the resource. Also it requires to have url together with the stream: QMediaPlayer->setMedia(QUrl("does_not_matter.mp3"), buffer); Since the backend uses extension to determine type of the stream. Fixes: QTBUG-69101 Change-Id: I8ab0b69f668ccd67c42a8e5d5c1ad518d3306cce Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* | Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2020-02-151-1/+8
|\| | | | | | | Change-Id: Ia0c325dc50b9a5a1cdd205609ba688ad9874f297
| * Android: Flush qrc to tmp file with original nameVaL Doroshchuk2020-02-121-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since android.media.MediaPlayer does not support playing from data stream, we create a temporary file and copy data to it. Each such file contains unique name. When the app is killed, dtor of QMediaPlayer is not called and thus the temporary file is not deleted. Also these files are located inside app's location, e.g. /data/data/org.qtproject.example.app/files/, and no possibility to delete them automatically. Added a fix to rename the temporary file to original name which allows to keep only one copy of the file when the app is killed. Change-Id: I36c8bc4dd339fbf4091689a05f4d9c7febf046a5 Fixes: QTBUG-59517 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* | Deprecate QMediaService and QMediaControlv5.15.0-alpha1VaL Doroshchuk2020-02-0639-1/+39
| | | | | | | | | | | | | | | | | | | | Will be moved to private API. [ChangeLog] QMediaService and QMediaControl classes are now deprecated. Task-number: QTBUG-75943 Change-Id: Ic40013ea52301cad812886e22940efa3b096f875 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* | GStreamer: Introduce reverse playbackVaL Doroshchuk2020-02-031-1/+1
| | | | | | | | | | | | | | Fixed to use negative playback rate. Change-Id: I864e76710f2ea176262639d5e91059c71b9bb382 Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* | Introduce MediaPlayer::videoOutput propertyVaL Doroshchuk2020-01-223-2/+70
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This property holds the target video output, and allows to render video to multiple items. MediaPlayer { videoOutput: [videoOutput1, 1, "ignored", videoOutput2.videoSurface] } Incorrect inputs are ignored. The property also accepts single either QAbstractVideoSurface or QDeclarativeVideoOutput objects. Task-number: QTBUG-32939 Change-Id: I41fc557dcac60be6d70b3889036ff4ae75734cc0 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* | Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2020-01-212-36/+50
|\| | | | | | | Change-Id: I0bc0e3caceaca0def467237983d9c611c46c5d7a
| * Android: Fix loading multimedia pluginsVaL Doroshchuk2020-01-171-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ater ec0e9f29dfd0b45edf5fd33e8ccf763e604612d7, the logic of accessing to platform plugins has been changed. For Android the plugin suffix is not allowed to have "subdirs" anymore in QFactoryLoader. But some multimedia plugins are located in subdirs like: video/videonode or video/declarativevideobackend And the plugin loader was not able to find plugins by filter: libplugins_video/videonode_*.so Fixes: QTBUG-81006 Change-Id: Ie5bcfa0792cdb67073f08917541ae89387f1c0b5 Reviewed-by: BogDan Vatra <bogdan@kdab.com>
| * Doc: Fix QCamera and Camera docsLeena Miettinen2020-01-171-28/+35
| | | | | | | | | | | | | | | | | | | | | | Use \value for \qmlproperty enumeration instead of \table. Move some docs around. On C++ side, add leading sentences to \enum docs and remove empty lines from \value commands. Fix some language issues. Change-Id: If682c0a52d72babae563b075ed9ff987fdf16bd0 Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
| * Doc: Explain that the camera consumes power in Camera.LoadedStateLeena Miettinen2020-01-171-8/+11
| | | | | | | | | | | | | | | | | | | | Fix the QDoc code to use \value for \qmlproperty enumeration. Remove empty lines within \value on the C++ side, because they break the docs. Fixes: QTBUG-81364 Change-Id: I5b26e4ec9d86292d63d70c3751865ca26ff13fa0 Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
* | Handle supportedFormatsChanged in QVideoSurfacesVal Doroshchuk2020-01-141-0/+9
| | | | | | | | | | | | | | | | Need to proxy supportedFormatsChanged signal from internal surfaces, since it impacts supported formats, also GLContext property should be set to share gl contexts between renderers. Change-Id: I9774be4d79dcd09190769def7e6ffd11a85fcc86 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* | Call parent methods in QVideoSurfaces's start and stopVal Doroshchuk2020-01-131-1/+3
| | | | | | | | | | | | | | | | Added forgotten calls to parent's methods. To make current object "active". Change-Id: If31d751dc7d37b0b160bfb8eaad818f3843af65b Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* | Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2020-01-071-1/+2
|\| | | | | | | Change-Id: I2d9e9deb651a3602bef5feae30b147462bcb15a8
| * Fix the build with -no-guiLiang Qi2020-01-031-0/+1
| | | | | | | | | | | | Task-number: QTBUG-74602 Change-Id: If2e4c8ad9822999e9fe4c5d8dd820cc78e1e1924 Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
| * Fix the build with -no-openglLiang Qi2020-01-021-1/+1
| | | | | | | | | | | | Task-number: QTQAINFRA-3407 Change-Id: I6719856c5e9749b7b3108406f6ace91001515379 Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
* | Expose video surfaces in rendering componentsVaL Doroshchuk2020-01-051-0/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Currently QVideoWidget, QGraphicsVideoItem and QML Video Output tightly depend on QMediaPlayer, QMediaService etc. Since QMediaService is deprecated and will be removed from Qt6, its usage must be removed from rendering components. * Also it is a part of a task to make all components independent, e.g. without dependencies to another components, like the media player, or video producer. These video consumer components should be reusable without QMediaPlayer too, which today is not possible, and should have responsibility for a single part of the functionality. * It is a part of a task to allow users to decide how to render video, using either video surface or native windows. Introducing QVideoWidget::videoSurface() QGraphicsVideoItem::videoSurface() QDeclarativeVideoOutput::videoSurface() that create a surface, if necessary, and returns the underlying video surface which provides a possibility to render video frames without knowledge of any services and controls. Can be used like: QMediaPlayer->setVideoOutput(QVideoWidget->videoSurface()); or QMediaPlayer->setVideoOutput(QGraphicsVideoItem->videoSurface()); This allows QMediaPlayer to get video frames from a backend, without using QVideoWidget/QGraphicsVideoItem, and to present these frames to provided surface. Moreover, now it is possible to render video frames without QMediaPlayer: QVideoSurfaceFormat format(img.size(), QVideoFrame::Format_ARGB32); videoWidget->videoSurface()->start(format); videoWidget->videoSurface()->present(img); [ChangeLog] Introduced videoSurface property to QVideoWidget, QGraphicsVideoItem and QDeclarativeVideoOutput. Task-number: QTBUG-80431 Change-Id: I49641750537160832e29c297279e72b8288e974c Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* | Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2019-12-071-1/+1
|\| | | | | | | Change-Id: Ic9ca37f9f5d047cb3addeece5bab7b71ae78ce19
| * QMediaPlaylistProvider::removeMedia(int,int): fix wrong sequenceRolf Eike Beer2019-11-261-1/+1
| | | | | | | | | | | | | | Calling this with (1,2) on a list with 4 items would remove 1 and 3 instead. Change-Id: I8135c982889c9f65daac9ca996adb3049014bf9d Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
* | Avoid initializing QFlags with 0 or nullptrFriedemann Kleint2019-11-252-4/+4
| | | | | | | | | | | | | | It is being deprecated. Change-Id: I26b871fe9b989972ab1d2c18de344dc9c9275e9f Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>