summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Update dependencies on '6.2.0' in qt/qtmultimediav6.2.0Qt Submodule Update Bot2021-09-251-3/+3
| | | | | Change-Id: I91e8b1c321a48977c86cf3d9252d3e6529ea7aca Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* Update dependencies on '6.2.0' in qt/qtmultimediaQt Submodule Update Bot2021-09-241-3/+3
| | | | | Change-Id: Id80f062b627bcf5a22dfd9791f22cf72a4535f83 Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* Reconfigure the AVF connections after device changeLars Knoll2021-09-241-0/+1
| | | | | | | | | | | | | | When the device changes, the internal AVFoundation connections can change. Those are used by AVFImageCapture to capture the last camera image. Tell AVFImageCapture that it needs to update to avoid a crash with dangling pointers. Fixes: QTBUG-96704 Change-Id: I07f1214bc28cbd0800f34fa7702c1a7108891e08 Reviewed-by: Doris Verria <doris.verria@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io> (cherry picked from commit d7c4152a9cf9ebac86b9b07e78e675cb0ed5c937) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Doc: Fix various documentation issuesTopi Reinio2021-09-2410-26/+32
| | | | | | | | | | | | | * Fix linking issues * Document all QMediaFormat::AudioCodec enum values * Fix example \quotefromfile paths * Document QMediaFormat::ResolveFlags * Drop links to removed classes/functions Fixes: QTBUG-96340 Change-Id: Iae82295e9cd396b392af2e577b21158ad1509fd3 Reviewed-by: Lars Knoll <lars.knoll@qt.io> (cherry picked from commit e22ddea9d62d84a4b28b2395d4f259dd1d4b1094)
* Use \qmlbasictype to document value typesLars Knoll2021-09-232-3/+3
| | | | | | | | | Otherwise, they won't end up in the generated documentation. Change-Id: Ib0d8a2f835690fd95479a8f6786fd0dd4d12121d Reviewed-by: Topi Reiniö <topi.reinio@qt.io> (cherry picked from commit c509d5329a89f7b617aa72237a2708aafc11d902) Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
* Fix the remaining qdoc warningsLars Knoll2021-09-2326-137/+118
| | | | | | | | | Fix all qdoc warnings inside the Qt Multimedia module. Change-Id: I4a581aa4f9fa9d96d58279884116ed10ca7bf837 Reviewed-by: Topi Reiniö <topi.reinio@qt.io> (cherry picked from commit baa34e18560d816c82d8779fbb40b1911ee0e164) Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Minor fixes to some QML sample codeLars Knoll2021-09-222-5/+5
| | | | | | | | | Fix indentation and an incorrect binding. Change-Id: Ifed4feecbc585b47da288a8f218a053953512cb3 Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io> (cherry picked from commit 8026a6f8730612591c70ac10f1657a20f8ee8b17) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Doc fixes for mediaMetaDataLars Knoll2021-09-224-17/+19
| | | | | | | | | | | | | | | | Use \qmlbasictype for value types, otherwise they are not visible in the generated documentation. Use lower case name as it is a value type and exported that way. Fix some signatures to be QML/JS compatible and not show the C++ types. Change-Id: I47270e95f865acb6c6da6f82bea85dabcc8d1c56 Reviewed-by: Topi Reiniö <topi.reinio@qt.io> Reviewed-by: Piotr Srebrny <piotr.srebrny@qt.io> (cherry picked from commit 302c31f27812d6adecdb291797bef8cf771f08d0) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Fix the example imagesLars Knoll2021-09-222-0/+0
| | | | | | | | | | They contained some ugly borders from the capturing tool. Remove those. Change-Id: I75c8a5b85ff856144eb7611dda5d9e0840706f0b Reviewed-by: Topi Reiniö <topi.reinio@qt.io> (cherry picked from commit 7d12a5db67d84862925a8388d99ff887e8629503) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Improve the text in the example overview pageLars Knoll2021-09-221-3/+6
| | | | | | | | | | The old text was likely still from Qt 4 times and completely outdated. Change-Id: Ie20aaf77e1e0b7f45202e544704eff6053af34de Reviewed-by: Topi Reiniö <topi.reinio@qt.io> (cherry picked from commit e33c735656739f9a0b223c27d3009fea0eaa88db) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Fixes to mediaFormat value type docsLars Knoll2021-09-221-58/+58
| | | | | | | | | | | The type is exposed to QML as 'mediaFormat', so document it as a value type with a lower case 'm'. Fix the enumerations to be prefixed with MediaFormat. (note upper case 'M'). Change-Id: I2f420b1d8b46007f8ab1f4e61cd8196f8793022e Reviewed-by: Topi Reiniö <topi.reinio@qt.io> (cherry picked from commit 903994ea7c96aaf7830353d3a0183ce5e46dab87) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Fix some incorrect statements and methods in the VideoOutput docsLars Knoll2021-09-221-18/+6
| | | | | | | | | | | Remove left-over doc from Qt 5.15 that is not valid anymore, and adjust the name of a QML property. Change-Id: I4c2448276ad6e593c0b352f2cf7bd57a139ab2e1 Reviewed-by: Piotr Srebrny <piotr.srebrny@qt.io> Reviewed-by: Topi Reiniö <topi.reinio@qt.io> (cherry picked from commit 127aae7c7ff3f51ff1755f7301063f583558871b) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Fix example documentationLars Knoll2021-09-221-3/+3
| | | | | | | | | | The example implements a simple video player using QVideoWidget, not QVideoSink. Change-Id: I2392c82b12b69d4845c681b7a7b28652be1639fe Reviewed-by: Topi Reiniö <topi.reinio@qt.io> (cherry picked from commit cb4c39b1ac43ad6c6c79d2d046645936ff52bdb4) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Document QCameraFormat and expose it to QMLLars Knoll2021-09-223-2/+132
| | | | | | | | | | | | QCameraFormat didn't have any documentation, and was not available in QML, even though it's required to change the resolution or framerate of the camera from QML. Change-Id: I8ad60fe71b3c65ecb9eb737d8a5e52ca0be196e2 Reviewed-by: Piotr Srebrny <piotr.srebrny@qt.io> Reviewed-by: Topi Reiniö <topi.reinio@qt.io> (cherry picked from commit dbf2172ccd1554652d55652557b85155024b20d7) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Fix documented property types for MediaDevicesLars Knoll2021-09-221-6/+6
| | | | | | | | Change-Id: I379d6dfacbecf8cbc6698972d16e6a55d471b689 Reviewed-by: Piotr Srebrny <piotr.srebrny@qt.io> Reviewed-by: Topi Reiniö <topi.reinio@qt.io> (cherry picked from commit dfe779c8ec36324ed17b8d4053bcc723aa260aac) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Minor doc fixes for the QML MediaPlayerLars Knoll2021-09-221-2/+2
| | | | | | | | | | | Give the proper QML element as the return type, not the C++ type. Change-Id: I6436bc8c9e3433c4e0df6d978ff1378971c5d736 Reviewed-by: Topi Reiniö <topi.reinio@qt.io> Reviewed-by: Nicholas Bennett <nicholas.bennett@qt.io> (cherry picked from commit b21f76f377bcebe143e0ff878c09b40ef74f8672) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Fix some smaller doc errors for MediaRecorderLars Knoll2021-09-221-16/+8
| | | | | | | | Change-Id: Iec9ba34b283f7b5775496a0d8b0bb48663714eaf Reviewed-by: Piotr Srebrny <piotr.srebrny@qt.io> Reviewed-by: Topi Reiniö <topi.reinio@qt.io> (cherry picked from commit 54e6a608825d0de35c06fa6270e25bbf85a78929) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Fixes to Camera docs and APILars Knoll2021-09-225-203/+464
| | | | | | | | | | | | | | Document the Camera QML API. Also add docs for some missing methods on the C++ side. Fix a few API inconsistencies while we still can (qreal->float), and and expose a couple of missing things to QML by adding a few Q_PROPERTY and Q_INVOKABLE macros. Change-Id: I6e91315e9d73336c6a83797f9eef133a9afd8a17 Reviewed-by: Topi Reiniö <topi.reinio@qt.io> (cherry picked from commit 038410c57a04279e35f4bf7b407713542f3e7a7f) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Doc: Ignore old \since versionsTopi Reinio2021-09-221-0/+3
| | | | | | | | | | | | | | As Qt Multimedia in 6.2 is the module's first release in Qt 6 and has undergone major changes compared to Qt 5, ignore old \since documentation tags as they don't really provide much value. After this change, only \since 6.3 and newer changes generate output in the documentation. Change-Id: I5cf3c5810d9ceea57e931bb7637933c8062ab895 Reviewed-by: Lars Knoll <lars.knoll@qt.io> (cherry picked from commit 5f9b4fe82cbb1f3959ccc558bf7e9f7cd1564606) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Disconnect signals before releasing reference to objectsPiotr Srebrny2021-09-221-2/+6
| | | | | | | | | | | | | | | | Crash bug occurs when QWaveDecoder reads the whole file in one go and emits formatKnown() signal followed by readyRead() signal. The formatKnown() signal handler clears the m_waveDecoder pointer, which the subsequence readyReady() handler tries to dereference. This patch disconnects all signals before clearing m_waveDecoder avoiding this problem. Fixes: QTBUG-96642 Change-Id: I42b876b7f30f81b53c073df0600dece3c1dd5ff3 Reviewed-by: Lars Knoll <lars.knoll@qt.io> (cherry picked from commit f3bf3155aae30d370be1903a15abaedcdd5ce62f) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Fix API naming inconsistencyLars Knoll2021-09-225-50/+43
| | | | | | | | | | | The QML type should be MediaMetaData (as the namespace is mediaMetaData). Change-Id: I0b45ef390fc9662c534033977f56d3ce607bcb3e Reviewed-by: Nicholas Bennett <nicholas.bennett@qt.io> Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io> (cherry picked from commit 5777fe84cf1e7c15c7905b549a34f1df946eab96) Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Fix docs for QMediaFormatLars Knoll2021-09-222-31/+310
| | | | | | | | | | | | Add documentation for QML, add a Q_INVOKABLE for three methods that we need on the QML side and add docs for methods that were not documented for C++. Task-number: QTBUG-95066 Change-Id: Iff1504a7964aeceb1fd97677556338e87bfb89f7 Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io> (cherry picked from commit 6e2a0c47ea53a00a8b36bb7eff252602619adb78)
* Fix the MediaPlayer docsLars Knoll2021-09-227-841/+604
| | | | | | | | | | | | | | Remove all properties that don't exist in Qt 6. Move the QML docs into qmediaplayer.cpp, add docs for some missing methods and document the AudioInput and AudioOutput QML types. Fixes: QTBUG-96641 Fixes: QTBUG-96653 Task-number: QTBUG-95066 Change-Id: I8c2339d85cf06ae39f8baf7f44543e961e01c433 Reviewed-by: Nicholas Bennett <nicholas.bennett@qt.io> (cherry picked from commit 627c0df99cd2bd5e0c66bf8b904bb9dc82f1ea98) Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* QML API and doc fixesLars Knoll2021-09-223-1/+196
| | | | | | | | | | | | Export the enumerations in QCameraDevice and QAudioDevice, and add missing QML and C++ documentation for those classes. Change-Id: I7ad61bc007f5965c7d511225686d21154c196bd3 Reviewed-by: Piotr Srebrny <piotr.srebrny@qt.io> Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io> (cherry picked from commit 18159127cfb548301a7e421cdb9d94faec511a8a) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Some fixes to the sample code in the MediaRecorder docsLars Knoll2021-09-221-18/+13
| | | | | | | | | | | Add some more explanations and remove the unrelated ImageCapture element. Change-Id: I72434f92d24f49a9e307a7f310962f96e3335145 Reviewed-by: Piotr Srebrny <piotr.srebrny@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io> (cherry picked from commit 706e6904b44add6c3fa104cdfd93e5f2a3082579) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Improve ImageCapture documentationLars Knoll2021-09-221-12/+40
| | | | | | | | | | | Add some missing docs to the QML ImageCapture element Fixes: QTBUG-96705 Change-Id: I20e14a6be03c2adafb3724287c7b82b1e05dceef Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Piotr Srebrny <piotr.srebrny@qt.io> (cherry picked from commit 31fa752209c4a6dfbd0aa7874350fd0ba37f8623) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Update dependencies on '6.2.0' in qt/qtmultimediaQt Submodule Update Bot2021-09-221-3/+3
| | | | | Change-Id: I9c310aba583011f98b29ff8b66226a07b24007d3 Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* Mention more of the central QML and C++ types in the overview docsLars Knoll2021-09-211-13/+40
| | | | | | | | | | | | List the classes/types that people would commonly use when doing playback or recording. Change-Id: I5ad55679ffda77829437bfc6b35c84fbd9659ad4 Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io> Reviewed-by: Nicholas Bennett <nicholas.bennett@qt.io> Reviewed-by: Piotr Srebrny <piotr.srebrny@qt.io> (cherry picked from commit 24d4d12bde050fab738da5ce2dd5024613c6a9fd) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Various fixes to our overview doc pagesLars Knoll2021-09-2113-67/+123
| | | | | | | | | | Correct various mistakes in our overview documentation and add some more detail in various places. Change-Id: Iff26e7f13646a7a421be49dcb473f64732367558 Reviewed-by: Nicholas Bennett <nicholas.bennett@qt.io> (cherry picked from commit 10733a6a8371d88af5f418dcae1a405f92ed2873) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Mark the QML PlayList type as internalLars Knoll2021-09-212-3/+2
| | | | | | | | | | | | We don't have a PlayList API in Qt 6 yet, qdoc just happened to pick up some code that's not compiled at the moment. Mark the types as internal so they don't show up in the public documentation. Change-Id: I630b819a0747030938df78d7c7d4fcdf578006c1 Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io> (cherry picked from commit eb36f29e3d1c946dcfe3792adb95946b8889d5a1) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Document the MediaDevices QML typeLars Knoll2021-09-211-8/+116
| | | | | | | | | | | | Add some basic documentation for the MediaDevices QML type. Task-number: QTBUG-95066 Change-Id: I7ca2cab87a8a788767886acb965145258543ff71 Reviewed-by: Nicholas Bennett <nicholas.bennett@qt.io> Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io> Reviewed-by: Piotr Srebrny <piotr.srebrny@qt.io> (cherry picked from commit c90e8d46956442474a83f25242bf6471e71f9951) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Fix QML sample code to use a MediaCaptureSessionLars Knoll2021-09-212-10/+14
| | | | | | | | | | | | Correct the sample code and use a MediaCaptureSession. Fixes: QTBUG-96652 Change-Id: I7e8872e0db98a6f34b499357a38e4f8712441975 Reviewed-by: Nicholas Bennett <nicholas.bennett@qt.io> Reviewed-by: Piotr Srebrny <piotr.srebrny@qt.io> Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io> (cherry picked from commit f78c3885cc17c89d27b9e657fa4422ea9134d8c1) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Update dependencies on '6.2.0' in qt/qtmultimediav6.2.0-rc2Qt Submodule Update Bot2021-09-211-3/+3
| | | | | Change-Id: I9ff16f64123fba6f5055e5365cedfaa24164032b Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* Add some basic docs for the media player and recorder examplesLars Knoll2021-09-209-24/+111
| | | | | | | | | | | | Hook up those examples in the correct places, remove a stale link to the qmlvideofx example and fix the highlighted examples list to include four examples, showing playback and capture for both C++ and QML. Change-Id: I79177b7f398c418ab3ba723e9ff2cd5ef3de1cf6 Reviewed-by: Nicholas Bennett <nicholas.bennett@qt.io> (cherry picked from commit d750ae98cd3b13d96eb9865a1eb0ec328278de14) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Remove the qmlvideofx exampleLars Knoll2021-09-2096-7547/+1
| | | | | | | | | | | The example is broken and was never too useful. Change-Id: I24ccc3f316713ccba73104f2d6f4a2b1dd3727e0 Reviewed-by: Piotr Srebrny <piotr.srebrny@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io> (cherry picked from commit 7e2ae885f6292b3b2623797e51de89bed11ce57a) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Do not delete object that you don't ownPiotr Srebrny2021-09-201-3/+0
| | | | | | | | | Fixes: QTBUG-96083 Change-Id: I10651ad8b6f6e123d6484bbf024435854f462b36 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io> (cherry picked from commit 5497af0199c9349390b21d50f9e566aa0467eb18) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Fix QMediaPlayer code snippetsLars Knoll2021-09-201-2/+7
| | | | | | | | | | | Adjust the code snippets for QMediaPlayer to the changed API. Fixes: QTBUG-96609 Change-Id: I9a89f22baace29cfd2259320d13b027fdde10906 Reviewed-by: Nicholas Bennett <nicholas.bennett@qt.io> Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io> (cherry picked from commit 00da50b3a984bfe2de91809b4394a1af1d95743a) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Update dependencies on '6.2.0' in qt/qtmultimediaQt Submodule Update Bot2021-09-191-3/+3
| | | | | Change-Id: I2e735a884386d86507d4ae17b866a89a465e4781 Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* Fix Recorder QML example crash on playbackSamuel Mira2021-09-172-13/+14
| | | | | | | | | | | | Found the crash was related to a delete videooutput, when changing the sink to nullptr Fixes: QTBUG-96282 Change-Id: I3c31f0ddccb588ab5987b81ae3ba5514724a606b Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io> (cherry picked from commit c1fdcd241896f3fdf96715b322ac5deb80a13088) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Implement playback progress watcherAssam Boudjelthia2021-09-173-2/+41
| | | | | | | | | | | | | | | | Android's MediaPlayer doesn't seem to provide a listener for continuously reporting the current playback position, thus such a mechanism need to be implemented by us, otherwise progress is not being reported back to QMediaPlayer. This also overrides QPlatformMediaPlayer::isSeekable(). Fixes: QTBUG-96079 Change-Id: I47ae0e2b9fe18b650fbbd0fb0266dc8a50dc3c55 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Samuel Mira <samuel.mira@qt.io> (cherry picked from commit fb9a5bfd0b8ea7551ac7eb01a5ed6ffcb1c86abb) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Fix unused variable warning in player exampleAssam Boudjelthia2021-09-171-1/+1
| | | | | | | | Change-Id: I836a3a371e54b88ffe75ff464c326fa33a6a9f5b Reviewed-by: Piotr Srebrny <piotr.srebrny@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io> (cherry picked from commit 34bb2dbfa3b8cce2f8deaf300e410420ea5749b8) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Fix Playback issue on AndroidSamuel Mira2021-09-171-26/+26
| | | | | | | | | | | | | The android media player did not change when a new source was set because in QtAndroidMediaPlayer setDataSource, if the state was not Idle, would fail silently without changing the source. Now if the state is not Idle it will reset the mediaplayer. Fixes: QTBUG-96456 Change-Id: I7b06524ac4a341140e08e44cde2d75211f1c7a9e Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io> (cherry picked from commit 96a708759938a2f55dea3b6f02cd394334654818) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Hide the metadata and tracks side bar when videoOutput is tappedAssam Boudjelthia2021-09-171-0/+6
| | | | | | | | | Change-Id: I7ec3e321335877831930b7ffa1076b79c87fcdef Reviewed-by: Samuel Mira <samuel.mira@qt.io> Reviewed-by: Piotr Srebrny <piotr.srebrny@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io> (cherry picked from commit a3c15ba4984f2e7f903e48cfd273af2f3861f083) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* macOS: Fix video rendering with OpenGL based RHILars Knoll2021-09-173-2/+12
| | | | | | | | | | | | | | | | | | | | | | | | Linking against Qt Webengine forces the RHI to be OpenGL based on macOS. This in turn caused video rendering to fail and only render black or corrupted rectangles. The underlying reason is that the OpenGL textures we get from the video pipeline on macOS are GL_TEXTURE_RECTANGLE based while RHI expects GL_TEXTURE_2D. As the fix for this requires a bit of plumbing in QtGui, this change works around the problem by going through a CPU based texture copy. This works, but leads to higher CPU loads and some dropped frames at least for 4k videos. Work is ongoing to get this fixed properly for 6.2.1. Also submit a two related fixes that were found while debugging the problem. Ask for OpenGL compatible pixel buffers if we're using OpenGL, and Flush the texture cache regularly (this was done in Qt 5 as well). Task-number: QTBUG-96406 Change-Id: I0a5f8da1d3d885c40e8b65048da9093d685848aa Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io> (cherry picked from commit 62c8e983e10dc300406e24e0dfabf895521a70fa) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Rename QWindowsIntegration to avoid collision with a qtbase symbolAndré de la Rocha2021-09-173-15/+15
| | | | | | | | | | | | | The QWindowsIntegration name is used by a class in the Windows QPA in qtbase, resulting in a symbol collision and linker error when doing a static build. Renaming it to QWindowsMediaIntegration. Fixes: QTBUG-96089 Change-Id: I786cce79fd8c618e93af71be64bc87ee18f8fbee Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Doris Verria <doris.verria@qt.io> (cherry picked from commit 4e1851251d45756ab4bd30b02af92d9b8911b37c) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Fail early on unsupported platform/compilerAndré de la Rocha2021-09-171-1/+2
| | | | | | | | | | | | | | | | | | | Currently, QtMultimedia does not work with the MinGW compiler as the latter lacks proper support for WMF, which is required by the Windows backend. When QtMultimedia is built with MinGW, a dummy backend is built, which returns nullptr for everything. Thus, applications built with it end up crashing in random locations, which leads developers to think it's due to some bug, instead of lack of support. It seems better to fail as soon as the backend is instantiated and also provide some meaningful message instead. Task-number: QTBUG-95234 Change-Id: I3c773983c979bbc364810a400bf203fb21400ad6 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Doris Verria <doris.verria@qt.io> Reviewed-by: Piotr Srebrny <piotr.srebrny@qt.io> (cherry picked from commit d519452b438f474e1e24ab568b49efde67c1c65b) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Update dependencies on '6.2.0' in qt/qtmultimediav6.2.0-rc1Qt Submodule Update Bot2021-09-141-3/+3
| | | | | Change-Id: I4841f6ca695ca400c8587e162b8165d46203011d Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* AVFVideoRenderer: Properly update video output when changing mediaDoris Verria2021-09-134-6/+38
| | | | | | | | | | | | | | | | | When changing the video source of the AVFMediaPlayer, the video frame was not updated and displayed the last frame of the previous video. To fix, before setting a new CALayer to the renderer, make sure to remove the video output and subtitle output from the previous AVPlayerItem and add them to the updated one. Also, clear the last video frame from the video output by setting a null QVideoFrame() to the sink whenever the mediaplayer stops or reaches end of stream. Fixes: QTBUG-96368 Change-Id: I74ed056c1ece0db319e857b89eaf5e5168a972a1 Reviewed-by: Lars Knoll <lars.knoll@qt.io> (cherry picked from commit 59a32742d66a1fe17320acd133922c105ec211f4) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QDarwinFormatInfo: Remove unsupported audio codecs for encodingDoris Verria2021-09-131-20/+3
| | | | | | | | | | | | From the Apple docs, AVFoundation can only support encoding to AAC, ALAC, and WAV from our list of codecs. Remove the rest of the audio codecs from the list of encoders. Fixes: QTBUG-96376 Change-Id: I4ceba470f5267212dd7088a15cc311ff2d07512f Reviewed-by: Lars Knoll <lars.knoll@qt.io> (cherry picked from commit 4241af760259211cc52b6817b3a28c4dbf450dbf) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Add a timer reporting a change in the playback positionPiotr Srebrny2021-09-132-0/+12
| | | | | | | | Fixes: QTBUG-95576 Change-Id: I1b3cdd1d473f04687f33f75502c80ce548aaba51 Reviewed-by: Lars Knoll <lars.knoll@qt.io> (cherry picked from commit 80b82153b71a8a973a81703c8050d5e97f3b5a8f) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>