summaryrefslogtreecommitdiffstats
path: root/src/imports/multimedia/multimedia.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Revert "Update commercial license headers"v5.15.3-lts-lgplTarja Sundqvist2021-03-251-21/+21
| | | | | | | | | | | 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>
* Update commercial license headersTarja Sundqvist2021-01-271-21/+21
| | | | | | | | | | | | | | | | 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>
* Introduce MediaPlayer::videoOutput propertyVaL Doroshchuk2020-01-221-0/+1
| | | | | | | | | | | | | | | | | 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>
* Expose video surfaces in rendering componentsVaL Doroshchuk2020-01-051-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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>
* Add a revision of QML VideoOutput flushMode property to 5.13VaL Doroshchuk2019-02-251-0/+3
| | | | | Change-Id: Ie7982232af45fd09a46854c96d7c7d6672857a97 Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* Fix deprecation warningsv5.13.0-alpha1Friedemann Kleint2019-02-051-14/+14
| | | | | | | | | | | | | | | | Replace trUtf8() by tr() and implement QAbstractItemModel::roleNames(), fixing: multimedia.cpp:76:5: note: in expansion of macro ‘Q_OBJECT’ multimedia.cpp:143:77: warning: ‘static QString QMultimediaDeclarativeModule::trUtf8(const char*, const char*, int)’ is deprecated [-Wdeprecated-declarations] from multimedia.cpp:40: .... qdeclarativecamerafocus.cpp:403:23: warning: ‘void QAbstractItemModel::setRoleNames(const QHash<int, QByteArray>&)’ is deprecated [-Wdeprecated-declarations] setRoleNames(roles); Change-Id: I2648551a1b2774c45101ab1cad9e0ea3ab79ccbc Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io> Reviewed-by: Samuel Gaist <samuel.gaist@idiap.ch>
* Automatically register the latest import versionKai Koehne2018-09-061-0/+3
| | | | | | | | | | | | | This follows what was done in d28c9f6a for Qt Quick Controls 2. The latest import version (e.g. 2.11 in Qt 5.11) will automatically be registered whenever the Qt version is bumped. This avoids needing to wait until a new type is added (or a new revision is added to an existing type) before being able to use the newest Qt Quick version. Change-Id: Ib14052fdf2a4cfa7b71f739fe00ce9a95dadb0a0 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Remove the code to manually initialize resources in static buildsSimon Hausmann2018-04-271-8/+1
| | | | | | | | | After commit be9a56e5e3ced5d0d668fa24e4c65ae928f2e25a in qtbase, this is not needed anymore. Instead the resource system injects the plugin entry point with a reference to all resources. Change-Id: Idd5115528d9eadce89e4308ed43824c53154fe22 Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* add missing capability properties to CameraImageProcessingJochen Seemann2018-02-011-0/+2
| | | | | | Task-number: QTBUG-45336 Change-Id: Iac47212b0a73b275795bd3051a2141f8089b7dc5 Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* add property supportedExposureModes to CameraExposureJochen Seemann2018-02-011-0/+2
| | | | | | Task-number: QTBUG-45336 Change-Id: I9b4f3271f7f56b88f2484f56dd1d37e2e97f5118 Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* add supportedFocusModes and supportedFocusPointModesJochen Seemann2018-02-011-0/+2
| | | | | | | | | | This patch adds two properties to QML type CameraFocus, to gain feature parity with the C++ interface of QCameraFocus. Additionally, it deprecates the older, comparable functions. Task-number: QTBUG-45336 Change-Id: Iffc5c805409ed605dba5d4bc3fa2f05122b58b9e Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* Propagate customAudioRole into the QML classesJames McDonnell2017-10-231-0/+4
| | | | | | | | | | | | Propagate customAudioRole into the Audio, MediaPlayer and Video classes. [ChangeLog][Audio/Video/MediaPlayer] Added customAudioRole string property to enable use of audio roles beyond those available via the audioRole enum property. Change-Id: If3c4ec20f014653d31d1fa0d1ad925084f446478 Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* Add missing override and remove redundant virtualAlexander Volkov2016-12-121-2/+2
| | | | | Change-Id: Ifd439abf21877adff57080489324bea729ee5279 Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
* Merge remote-tracking branch 'origin/5.8' into devLiang Qi2016-09-211-1/+4
|\ | | | | | | | | | | | | Conflicts: src/imports/multimedia/multimedia.cpp Change-Id: I38899391ec8d2fcec6f2d46514286759f7a27629
| * Register 5.8 version for the multimedia QML moduleYoann Lopes2016-09-151-0/+3
| | | | | | | | | | | | | | | | There isn't any new API in 5.8, we need to re-register an existing type to make that version number available. Change-Id: I061dc53e9570eefc1cbdcb9d15f557904b5d275f Reviewed-by: Christian Stromme <christian.stromme@qt.io>
| * Improve robustness of QML plugin loadingv5.8.0-alpha1Simon Hausmann2016-08-261-1/+1
| | | | | | | | | | | | | | | | Use a variable that expands to the latest plugin version instead of hard-coding the string. Change-Id: I3bdbee161e4a3b59127dc4f00a0c9ce9386b67c2 Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
* | adding property CameraFlash::supportedModesJochen Seemann2016-09-091-0/+2
| | | | | | | | | | | | | | | | | | This property contains a list of the supported flash modes and is the QML version of QCameraExposure::isFlashModeSupported(FlashMode). Task-number: QTBUG-45323 Change-Id: I1eb6fcbb126759458c5290e71fa576053b62f05d Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
* | Add notifyInterval for MediaPlayer QML APIJoni Poikelin2016-09-071-0/+2
| | | | | | | | | | | | | | | | Expose notifyInterval as a property from QMediaPlayer. Task-number: QTBUG-44961 Change-Id: Ia6c671eb68754e5c9a60032289bd821884824c78 Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
* | adding property CameraCapture::supportedResolutionsJochen Seemann2016-08-311-0/+4
|/ | | | | | | | | | | This change adds the new property supportedResolutions to expose the same functionality to QML as QCameraImageCapture::supportedResolutions provides for C++. Exposing as QML property allows us to easily display the resolutions in list-based elements like ListView. Task-number: QTBUG-45289 Change-Id: Ica7206ec1daa36298a761d659d1c0b05d13562ec Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
* Mark CameraImageProcessing's new brightness property with revision 2Alex Blasche2016-04-291-0/+2
| | | | | | | | It was added in Qt 5.7 and the QML version should be adjusted accordingly. Change-Id: I227a63c240edbe8880612076899dc3db47dc47d0 Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
* Add new QDeclarativePlayList 5.7 items with new QML revisionAlex Blasche2016-04-291-0/+3
| | | | | Change-Id: I1f332230e34e04a304cbe6d9b6d4a4dceb70095b Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
* Updated license headersAntti Kokko2016-01-191-14/+20
| | | | | | | | | | | From Qt 5.7 -> LGPL v2.1 isn't an option anymore, see http://blog.qt.io/blog/2016/01/13/new-agreement-with-the-kde-free-qt-foundation/ Updated license headers to use new LGPL header instead of LGPL21 one (in those files which will be under LGPL v3) Change-Id: I324f65c61171f36641472964d095d72e452afb3a Reviewed-by: Jani Heikkinen <jani.heikkinen@theqtcompany.com> Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* Enable using the module in a statically built applicationAndy Shaw2016-01-111-0/+8
| | | | | | Change-Id: Iafdb4359f051fcd20178f3c5f42f2cff2bf8c359 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com> Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
* Merge remote-tracking branch 'origin/5.5' into 5.6Liang Qi2015-10-021-3/+3
|\ | | | | | | Change-Id: I1373622a6d1fd0e2d35df2da79860a373056387f
| * Fixed revisions of camera-related meta objects.Marco Benelli2015-09-151-3/+3
| | | | | | | | | | Change-Id: I91fe90122d53ce12322cecac8282ef9622869b71 Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
* | Fix QML revisions registration for 5.6.Yoann Lopes2015-09-151-1/+2
| | | | | | | | | | | | | | | | And update plugins.qmltypes file. Change-Id: I9b3cbeda4c8a0ce88a88f5a16fae6834dc8363d7 Reviewed-by: Marco Benelli <marco.benelli@theqtcompany.com> Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
* | Added new playlist QML type.Loïc Molinari2015-08-101-0/+6
|/ | | | | Change-Id: I0788cc9719f427457ad0be9c9a5bfda00451a0c4 Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
* Merge remote-tracking branch 'origin/5.4' into 5.5Liang Qi2015-04-151-1/+7
|\ | | | | | | | | | | | | | | Conflicts: src/multimedia/playback/playlistfileparser.cpp src/plugins/windowsaudio/qwindowsaudiodeviceinfo.cpp Change-Id: I52950def2b8283ae15797d05d4ead6a1256eba19
| * Make the QtMultimedia singleton type a QObject.Yoann Lopes2015-04-091-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It was a QJSValue for the sake of being as lightweight as possible and because we don't actually need any of the QObject features for that type in its current state. However, this implies that type information is not available at runtime. This is a problem for qmlplugindump which currently crashes because it always expects every QML type to have an associated meta object. We can safely make that type a QObject since it doesn't affect source compatibility in any way. This type was bound to become a QObject at some point anyway. Task-number: QTBUG-44299 Change-Id: I2d9b874f15ffc94ed95ef74fadc3b1fd193fe1ef Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
* | Update copyright headersAntti Kokko2015-02-121-7/+7
| | | | | | | | | | | | | | | | | | Qt copyrights are now in The Qt Company, so we could update the source code headers accordingly. In the same go we should also fix the links to point to qt.io. Change-Id: I1c6faa4f59f8eca54f01ef20941fa60161dd7872 Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
* | Add video filtering support to VideoOutputLaszlo Agocs2015-02-031-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add the QAbstractVideoFilter base class and integrate it with VideoOutput. This can be used to perform arbitrary filtering or image processing on the frames of a video stream of a VideoOutput element right before the OpenGL texture is provided to the scenegraph by the video node. This opens up the possibility to integrate computer vision frameworks or accelerated image processing with Qt Quick applications that display video streams using Qt Multimedia. Conceptually it is somewhat similar to QVideoProbe, this approach however allows modifying the frame, in real time with tight integration to the scenegraph node, and targets Qt Quick meaning setting up the filter and processing the results of the computations happen completely in QML. [ChangeLog] Added QAbstractVideoFilter that serves as a base class for QML video filtering elements that integrate compute, vision, and image processing frameworks with VideoOutput. Change-Id: Ice1483f8c2daec5a43536978627a7bbb64549480 Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
* | New camera viewfinder settings API.Yoann Lopes2015-01-131-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There already was a control interface for the viewfinder settings but no real public C++ API and a partial QML API. This patch adds a new C++ API and improves the QML API. Supported viewfinder settings are resolution, minimumFrameRate, maximumFrameRate and pixelFormat. The camera can be queried for the supported values for each of these settings. A new control interface was created to match the new API. Change-Id: I289fea038fe46277a5516c956a64280da09ed985 Reviewed-by: Andrew den Exter <andrew.den.exter@qinetic.com.au>
* | Add a color filter property to QCameraImageProcessing.Andrew den Exter2014-11-281-0/+3
|/ | | | | | | [ChangeLog] New color filter property for QCameraImageProcessing. Change-Id: I999e349e3e4f284b533fa62ba50903fbd21cb400 Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
* Update license headers and add new license filesAntti Kokko2014-08-241-19/+11
| | | | | | | | | - Renamed LICENSE.LGPL to LICENSE.LGPLv21 - Added LICENSE.LGPLv3 & LICENSE.GPLv2 - Removed LICENSE.GPL Change-Id: Ied06887225df341064c12bcc14c259ae74116f2e Reviewed-by: Jani Heikkinen <jani.heikkinen@digia.com>
* Add missing registration of CameraViewfinder QML type.Yoann Lopes2014-07-251-0/+3
| | | | | Change-Id: If4eedd6298731953a3f86c86f0e61b850ee263aa Reviewed-by: Andrew den Exter <andrew.den.exter@qinetic.com.au>
* New camera selection API in QML.Yoann Lopes2014-07-171-5/+12
| | | | | | | | | | | | Also added a new QtMultimedia global object which makes it possible to retrieve the list of available cameras. It can be extended with new utility functions in the future. Includes documentation, example and auto tests. Task-number: QTBUG-23770 Change-Id: Ifea076329c3582ea99246ee1131853344a7b773f Reviewed-by: Christian Stromme <christian.stromme@digia.com>
* Add meta-data accessors to the QML Camera type.Andrew den Exter2014-07-071-0/+1
| | | | | | | | | | | Add write accessors to the properties of QDeclarativeMediaMetaData as well as additional properties for previously unmapped image keys and add a metaData property exposing this to QDeclarativeCamera. [ChangeLog] New metaData property for the QML Camera type. Change-Id: I4456b7b6120842f7ad9a1b175e42b9fb332adf13 Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* Make multimedia QML types available for the 5.3 import version.Yoann Lopes2014-06-101-0/+5
| | | | | | | | At least one type needs to be registered with the 5.3 version number to make it known to the QML engine. Change-Id: Iacfe62650b4194fbb89135fef7cb148309227ce2 Reviewed-by: Alan Alpert (Personal) <416365416c@gmail.com>
* Allow plugins to override the QML VideoOutput type.Andrew den Exter2014-01-201-1/+2
| | | | | | | | | Move QDeclarativeVideoOutput to the private QtMultimediaQuickTools library to make the QDeclarativeVideoOutputBackend interface implementable by a plugin. Change-Id: I763c483a1fc9ec56dc7b8be0bc71523f029a36ee Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* Fix version availability for VideoOutput's autoOrientation property.Yoann Lopes2013-11-301-1/+1
| | | | | | | | | This new property is available since 5.2, not 5.1. Change-Id: Ie3b5cd3c5d909f6d4ba662a2eaf03f1e6bb8b21b Reviewed-by: Tobias Koenig <tobias.koenig.qnx@kdab.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
* Add autoOrientation property to QDeclarativeVideoOutputTobias Koenig2013-03-191-0/+1
| | | | | | | | | | | | The autoOrientation property is a flag to switch on/off automatic rotation of the video output, depending on the current screen orientation, to always show the output upright. This is useful when the VideoOutput is used as viewfinder for a Camera. Change-Id: I72753888592dc59c9adaa3343bfec8b168343229 Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com> Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* Update copyright year in Digia's license headersSergio Ahumada2013-01-101-1/+1
| | | | | | Change-Id: Ia8c1c38aba1544603fada8c414cc856f365fd15b Reviewed-by: Akseli Salovaara <akseli.salovaara@digia.com> Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
* Change copyrights from Nokia to DigiaIikka Eklund2012-09-241-24/+24
| | | | | | | | | Change copyrights and license headers from Nokia to Digia Change-Id: Id77334cfb15de096941c88e32d04ca07b4eb4709 Reviewed-by: Janne Anttila <janne.anttila@digia.com> Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Remove the legacy QML API.Michael Goddard2012-06-081-25/+1
| | | | | | | | This means no version 4.0 (which was never released) and no Qt.multimediakit alternative import. Change-Id: Iaacf047b0d72381a4a8cd975e036135ed11ea383 Reviewed-by: Ling Hu <ling.hu@nokia.com>
* Minor doc fixes for QMLAngus Cummings2012-05-161-12/+12
| | | | | | | | | | renaming QML element to QML type removing some \fn tags that were making the docs not build some rewording some new signal docs Change-Id: I9b350dad1780276959aef4105e53b91082a6083e Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
* Fix compilation after qtbase:8f85b84f4eaa85ff5c02ec5e65fd6706a10690b9.Friedemann Kleint2012-04-241-1/+1
| | | | | | | Remove QDeclarative compatibility module code. Change-Id: Ib24c0c027c899e7eb30b3c8550a483d0d8b2b77f Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Updated plugins to use new plugin architectureJonas Rabbe2012-03-201-2/+2
| | | | | | | | | | | | | | | | | | | Changed QMediaPluginLoader to use QFactoryLoader instead of QPluginLoader and used metadata to get keys. Removed QAudioPluginLoader and changed audio classes to use instead use QMediaPluginLoader. The plugins must include the Q_PLUGIN_METADATA macro, and no longer use the Q_PLUGIN_EXPORT/Q_PLUGIN_EXPORT2 macros. A json file has been added for each plugin which can contain metadata which is available to the plugin loader before the plugin is actually loaded, and is used to read the keys for the plugin, e.g. supported services. QFactoryInterface will be deprecated and has been removed from all plugins. Change-Id: I035b82f9c9c65717bebf704d560ea8f891df21da Reviewed-by: Michael Goddard <michael.goddard@nokia.com> Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
* Updated declarative components to use the QML moduleJonas Rabbe2012-03-141-5/+5
| | | | | Change-Id: I4b49466ba5248683c2285f98ce17bc2c24bba515 Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
* Remove unimplemented BG playback feature.Michael Goddard2012-03-051-4/+0
| | | | | | | Prototype that wasn't implemented should be removed for 5.0. Change-Id: I3b90658ad8dc0b64003a5bb741fc3c93c7d87dff Reviewed-by: Ling Hu <ling.hu@nokia.com>
* API changes to QML element MediaPlayer aka AudioAngus Cummings2012-02-081-2/+3
| | | | | | | | | | | | | | | | | | Changed Video.qml for new API Removed lowercase enum copies, replaced with calling parent (VideoOutput, MediaPlayer) enums Removed properties playing, paused Removed signals started, resumed Added readonly property playbackState Added signal playing Added autoPlay property Fixed unit tests for new API Added backwards compatibility for QtMultimedia 4 Change-Id: I27c91cd46d91402b8c4c42bb7d4961ad67909aeb Reviewed-by: Michael Goddard <michael.goddard@nokia.com> Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>