summaryrefslogtreecommitdiffstats
path: root/tests
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix remaining errors in QAudioInput autotest on gstreamerLars Knoll2021-04-302-99/+43
| | | | | | Change-Id: If913c99ace5bd37a0df57a51756e7f77f5ee0df1 Reviewed-by: Doris Verria <doris.verria@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Fix part of the tst_qaudioinput failuresLars Knoll2021-04-301-9/+0
| | | | | | Change-Id: I1ba863ef17648e0ce36dfaee4d06b358f2c57705 Reviewed-by: Doris Verria <doris.verria@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Have QPlatformMediaIntegration create the platform encoderDoris Verria2021-04-295-6/+28
| | | | | | | | | | Follow QPlatformCamera and QPlatformCameraImageCapture and create the QPlatformMediaEncoder from the platform integration instead of the capture session. Adjust the mock backend and tests accordingly. Change-Id: I494172508006cce2d6d07cf733bf070e6ade8ae3 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Fix test failures in tst_qvideowidget and tst_qgraphicsvideoitemLars Knoll2021-04-286-45/+28
| | | | | | | | | This passes now, but might require some more massaging to get correct display rects for the widget case. Change-Id: I4673240bb1afacfe714580e586e293c09f690d11 Reviewed-by: Doris Verria <doris.verria@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Have the QPlatformMediaIntegration create the platformimageCaptureDoris Verria2021-04-286-21/+28
| | | | | | | | | | | | | Follow the QPlatformCamera example and create the imageCapture control by the QPlatformMediaIntegration instead of the capture session. Add signals to the backend for when controls are added to the session. Make image capture on macOS work again. Adjust autotests and some code in QCameraImageCapture and move some sanity checks from the backend into the cross platform code. Change-Id: Iad596e9062cc39ec4c4db5af60ff6527867cbce2 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Fix tst_qcamerawidgets autotestLars Knoll2021-04-286-38/+104
| | | | | | Change-Id: I1b7adc7320f8d929569b7642503908bdbc13a182 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Doris Verria <doris.verria@qt.io>
* Fix memory leak in autotestLars Knoll2021-04-281-0/+6
| | | | | | Change-Id: Ic37d8fe9d92986b7a1698bc727c7022c4ba0f351 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Doris Verria <doris.verria@qt.io>
* Remove some outdated testsLars Knoll2021-04-287-1245/+0
| | | | | | | | | There's no global stuff in Quick anymore, and the video element doesn't exist in that form anymore. Change-Id: I0d644316922a8642c4add357694ca9fffafef97e Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Doris Verria <doris.verria@qt.io>
* Re-enable the graphicsvideoitem autotestLars Knoll2021-04-283-243/+39
| | | | | | | | | Still has a couple of test failures, but at least the test compiles again. Change-Id: I74b7a50ee316885a05d65f638e6b782f47a2fc51 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Doris Verria <doris.verria@qt.io>
* Re-enable tst_qvideowidget and fix most errors in the testLars Knoll2021-04-282-336/+168
| | | | | | Change-Id: I77bf951d9e334d92b65d0f9f5c37c22033e91060 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Doris Verria <doris.verria@qt.io>
* Fix tst_qvideoframeformatLars Knoll2021-04-281-1/+1
| | | | | | Change-Id: Ic253f83179de1d681077773ca93755a49ba71058 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Doris Verria <doris.verria@qt.io>
* Fix tst_qvideoframe test failuresLars Knoll2021-04-281-19/+19
| | | | | | Change-Id: I25bceb948518ba49053ae87484bdd8375b616b20 Reviewed-by: André de la Rocha <andre.rocha@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Remove QMediaPluginLoaderLars Knoll2021-04-273-123/+0
| | | | | | | | it's not used anymore. Change-Id: I1415eae30c90a2d8836d456635d8491c88f31392 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Doris Verria <doris.verria@qt.io>
* Fix the remaining test failures in tst_qmediaplayerLars Knoll2021-04-272-24/+26
| | | | | | Change-Id: I63a7636ab3bfb559c437248a919f77d287fe4d1e Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Doris Verria <doris.verria@qt.io>
* Fix most errors in tst_qmediaplayerLars Knoll2021-04-272-129/+44
| | | | | | Change-Id: Ifc116f9aaa45527c3c8e50d8bd2d0c4a467727cd Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Doris Verria <doris.verria@qt.io>
* Fix tst_qmediaencoderLars Knoll2021-04-273-781/+613
| | | | | | | | | Fix and re-enable all tests for QMediaEncoderSettings while at it. Change-Id: Ie15cd59a849412e02c6d38c91bf1bea16456cdd5 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Doris Verria <doris.verria@qt.io>
* Fix QCameraInfo autotestLars Knoll2021-04-271-34/+27
| | | | | | Change-Id: Icce1a9a5346fd2a551708bfe3e62195be4a17b6d Reviewed-by: Doris Verria <doris.verria@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Fix CameraImageCapture autotestLars Knoll2021-04-271-32/+11
| | | | | | | Change-Id: Id146a44643ebde786fec134174b29839499035c1 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: André de la Rocha <andre.rocha@qt.io> Reviewed-by: Doris Verria <doris.verria@qt.io>
* Fix tst_qcameraLars Knoll2021-04-2716-255/+303
| | | | | | | | | | | | | And do some bug fixes in Qt Multimedia related to it: * Initialize QImageEncoderSettingsPrivate::format * Remove QImageEncoderSettings::encodingOptions * Free the platform capture session * Fix QCameraFocus::setZoomFactor() to emit signal Change-Id: I0d4f9a96d21ff93a04c0ab99464c7725b53d8ab0 Reviewed-by: Doris Verria <doris.verria@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Fix tst_qaudiorecorder autotestLars Knoll2021-04-231-21/+9
| | | | | | Change-Id: I72f41776b1420aff2d14f16851145780366b576a Reviewed-by: André de la Rocha <andre.rocha@qt.io> Reviewed-by: Doris Verria <doris.verria@qt.io>
* Fix QAudioFormat autotestLars Knoll2021-04-231-5/+2
| | | | | | Change-Id: I637d73ad00e9239e2d0686fdd8e4edcc96be48a5 Reviewed-by: André de la Rocha <andre.rocha@qt.io> Reviewed-by: Doris Verria <doris.verria@qt.io>
* Fix qaudiobuffer and qaudiodecoder autotestsLars Knoll2021-04-233-22/+13
| | | | | | | | Fix one enum value in the public API to better reflect the error that is happening. Change-Id: I4a71d64c79d443eb6fa9068defb90f3b436ec194 Reviewed-by: André de la Rocha <andre.rocha@qt.io>
* Remove qmake files from the repositoryLars Knoll2021-04-2349-450/+0
| | | | | | Change-Id: I1131b555014a57e3224a8871de4cb1d01c406fd1 Reviewed-by: Doris Verria <doris.verria@qt.io> Reviewed-by: André de la Rocha <andre.rocha@qt.io>
* Clean up the file and class names for the mock backendLars Knoll2021-04-2323-110/+110
| | | | | | Change-Id: I3750bdb99503a425757f149963370ae4100a011b Reviewed-by: Doris Verria <doris.verria@qt.io> Reviewed-by: André de la Rocha <andre.rocha@qt.io>
* Have the QPlatformMediaIntegration create the platformCameraDoris Verria2021-04-195-39/+45
| | | | | | | | | | | Create the camera control by the QPlatformMediaIntegration instead of the capture session. Add API to the capture session to add controls to it. To be followed by a similar change for the encoder and image capture controls. Change-Id: Ia22900119fb3066f76cf4d4f87595b8cec54c349 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Move the remaining items from the QML plugin into multimediaquickLars Knoll2021-04-1911-74/+74
| | | | | | | | | | | Move the remaining code and docs from the QML plugin into libQtMultimediaQuick, so that all QML related code is in one place. Rename class names and files from qdeclarative* to qquick*. Change-Id: I159b9ddc6bfc113da62b5906596d82fac168ed84 Reviewed-by: Doris Verria <doris.verria@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* New QML API for image capturingLars Knoll2021-04-193-20/+20
| | | | | | | | | | | | | Adjust the QML API for image capturing to fit with the new handling of capture sessions. Simplify some things and avoid using a wrapper class to the largest degree by inheriting from QCameraImageCapture. Remove the old image capturing code. Change-Id: Ic99116f5202f2d0438fe0d048be2faa6687f0e4b Reviewed-by: Doris Verria <doris.verria@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Make QMediaDeviceManager available to QMLLars Knoll2021-04-191-6/+4
| | | | | | | | | | | | This required some changes to the QMediaDeviceManager API, namely that it can be instantiated itself. Add required API as properties to QMediaDeviceManager and expose QAudioDeviceInfo and QCameraInfo as well. Change-Id: I4f7ef04d703f84cc6caefd62ad453f166e3b1c9b Reviewed-by: Doris Verria <doris.verria@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Rename videoPreview to videoOutputLars Knoll2021-04-161-10/+10
| | | | | | | | | | It's better to be consistent with QMediaPlayer. Also add the required QVariant based overloads, that we need for QML. Change-Id: I583bc795c029f35373546a6e673c575a7c20dfa1 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Doris Verria <doris.verria@qt.io>
* Prepare QCameraImageProcessing for usage from QMLLars Knoll2021-04-161-17/+0
| | | | | | | | | Add Q_PROPERTY declarations and changed signals. Clean up and simplify the interface to the backend class. Change-Id: If62eb4c5397b0f0a4a4394197e27a843c51d70b2 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Doris Verria <doris.verria@qt.io>
* Kill all versioned importsLars Knoll2021-04-164-8/+8
| | | | | | | | And don't register the items with a version neither. Change-Id: I514480fe7570cba468404bc891f238991690f499 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Doris Verria <doris.verria@qt.io>
* Expose QMediaMetaData as a value type to QMLLars Knoll2021-04-164-894/+0
| | | | | | | | And get rid of the QML wrapper class. Change-Id: Idd024bb9582f7d27c943ad5e065914337216bdd5 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Doris Verria <doris.verria@qt.io>
* API cleanups in QMediaPlayerLars Knoll2021-04-165-143/+143
| | | | | | | | | Rename some methods with better names and adjust the API so that it also can be used for QML. Change-Id: Ica19675966680416fbe870808336d8fc82065bc1 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Doris Verria <doris.verria@qt.io>
* Remove QVideoFrame(QImage) constructorLars Knoll2021-04-162-201/+30
| | | | | | | | | It doesn't make a lot of sense and only ever worked for some image formats. In addition, it's never used except for some auto tests. Change-Id: I6a32eabca8c36646ffc11d728e9cdf9b2f74d758 Reviewed-by: Doris Verria <doris.verria@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Clean up QVideoSink and it's platform implementationLars Knoll2021-04-161-16/+18
| | | | | | | | | | | | * Normalize ranges of brightness and friends to [-1, 1] and use floating point numbers. * Remove getters for values from the platform API, rather store them in the frontend. This simplifies the work that needs to be done on the backend side. Change-Id: I8d63dacaa6b2873b33e17fcd7831e41173109a7e Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Doris Verria <doris.verria@qt.io>
* Remove unused methodLars Knoll2021-04-161-11/+0
| | | | | | | QPlatformVideoSink: :repaint() was unused, remove it. Change-Id: I75fb43a3c6e9f8166ae22dbd8705d78da1e502c8 Reviewed-by: Doris Verria <doris.verria@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Rename QVideoSurfaceFormat to QVideoFrameFormatLars Knoll2021-04-1412-288/+288
| | | | | | | | | The class is used exclusively together with video frames to describe their format, so the name should reflect that. Change-Id: I10bec7a0556b22c69ac790a99282e1376ce4af97 Reviewed-by: Doris Verria <doris.verria@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Remove QAbstractVideoFilterLars Knoll2021-04-141-0/+1
| | | | | | | | | | | | | | The API covers a relatively rare use case, and is far from ideal, as it doesn't cooperate very well with HW accerlerated rendering. Since QVideoFrame and the QML VideoOutput item offer the option to get a texture for the frame, it's probably better to use that as the basis for further processing. Change-Id: I89deb915f660312fb3a83b066a5371f5454346da Reviewed-by: Doris Verria <doris.verria@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Remove the notifyInterval() functionalityLars Knoll2021-04-084-347/+0
| | | | | | | | | This was nothing else than a timer, something you can just as well implement on top of Qt Multimedia if required. Change-Id: I1ef362f1f4ad5a5f85e92bfbb1d73b7710271e5c Reviewed-by: Doris Verria <doris.verria@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Get rid of QMediaPlayer::setCustomRole() and relatedLars Knoll2021-04-083-207/+0
| | | | | | | | | setAudioRole should be enough here. And if more roles are required, let's rather extend the enum. Change-Id: I40194171c6053ffa1d3adf309e77d85a8c6524e2 Reviewed-by: Doris Verria <doris.verria@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Remove 16bit RGB pixel formatsLars Knoll2021-04-082-44/+1
| | | | | | | | | | We can't handle them efficiently on old OpenGL 2 based hardware. As YUV formats are usually preferred, we should not have problems simply removing those. Change-Id: Ibee483302cdada9d4d46c18196c6cee5d9945ae2 Reviewed-by: Doris Verria <doris.verria@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Remove packed pixel formats that can't be HW acceleratedLars Knoll2021-04-082-42/+1
| | | | | | | | | | | Remove 24bit packed pixel formats, as those would require unpacking on the CPU to be able to be processed efficiently on the GPU side. As such, they are not really formats that should be used for uncompressed video. Change-Id: I29c8b87aeaf97aee13ea2b93afd5115741198eee Reviewed-by: Doris Verria <doris.verria@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* More work to enable HW decoding for Qt QuickLars Knoll2021-04-072-3/+3
| | | | | | | | | | | | | | | | | Request GL textures from the pipeline for now. Some initial code to also use the texture upload meta functionality in gstreamer, but that will require some more work so we don't make the GL context current in the wrong thread. The gstreamer VAAPI elements on AMD hardware (or in general...) seem to have some bugs. Converting a VASurface to a GL texture using the texture upload meta doesn't create an ARGB texture as promised, but does write some YUV data into the texture. And trying to map a SW buffer received from the VAAPI decoders fails. Change-Id: I9b629eb84f3f32adc23ae2e2fd1cd3e42e6afbc0 Reviewed-by: Doris Verria <doris.verria@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Start adding infrastructure to retrieve video frames as textureLars Knoll2021-04-062-6/+5
| | | | | | | | | | | | | | | We're using RHI here, as that's what we need for Qt Quick anyway. You can now set a QRhi object on QVideoSink. This can then be used internally to create textures of the required format instead of memory buffers. QVideoSurfaceFormat will now tell you how many planes are required for the format, and you can retrieve the textures for each plane from QVideoFrame. Change-Id: I86430db60a8f1aba07ec3b38e22b977cdaefaa0a Reviewed-by: Doris Verria <doris.verria@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Get rid of QAbstractVideoSurfaceLars Knoll2021-04-067-51/+18
| | | | | | | | We're not using it anymore, QVideoSink is the replacement. Change-Id: I6b29838c39db421d5bca281b28e97e0e0b72caad Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Doris Verria <doris.verria@qt.io>
* Smaller API cleanups in QVideoFrameLars Knoll2021-04-062-2/+2
| | | | | | | | | | | | Get rid of the buffer method. It's not used, and QAbstractVideoBuffer is private anyway. Use map() to access the data. Rename image() to toImage() to make it explicit that we're doing a conversion here. Change-Id: Ie2735bc1a5131c09098fa80c9df7bf5b165b557c Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Doris Verria <doris.verria@qt.io>
* Move the PixelFormat enum from QVideoFrame to QVideoSurfaceFormatLars Knoll2021-04-067-213/+213
| | | | | | Change-Id: Ifa888c74c397c640b19387a9ce624dfcf8269c2c Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Doris Verria <doris.verria@qt.io>
* QVideoFrame should be constructed with a QSurfaceFormatLars Knoll2021-04-062-45/+45
| | | | | | | | | | | | | This was inconsistent so far. QVideoFrame had half the properties of QVideoSurfaceFormat, but was missing some parts that are required to render the frame properly. Giving it a QVideoSurfaceFormat means that the QVideoFrame is self describing and can be rendered without additional information. Change-Id: Idb2757ee6a29020bd72c9c50891309ee8d8a8bfc Reviewed-by: Doris Verria <doris.verria@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Remove the handle type from QVideoSurfaceFormatLars Knoll2021-04-061-24/+11
| | | | | | | | | This is a property of the individual QVideoFrame, and doesn't belong here. Change-Id: I85f180ff46023f6a48ef856a356d9c45c3f6be1b Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Doris Verria <doris.verria@qt.io>
* Remove metaData from QVideoFrameLars Knoll2021-04-061-31/+0
| | | | | | | | We never used this feature for anything. Change-Id: I1597c49486dd155c4ef49da483536639affb0cbf Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Doris Verria <doris.verria@qt.io>