summaryrefslogtreecommitdiffstats
path: root/src/multimedia
Commit message (Collapse)AuthorAgeFilesLines
* Update copyright headersAntti Kokko2015-02-12258-1825/+1801
| | | | | | | | | 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-038-7/+456
| | | | | | | | | | | | | | | | | | | | | | | | | 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>
* Merge remote-tracking branch 'origin/5.4' into devYoann Lopes2015-01-191-0/+3
|\ | | | | | | | | | | | | | | Conflicts: .qmake.conf src/plugins/gstreamer/camerabin/camerabinsession.cpp Change-Id: I66a6f3efc5391013934b6b321073c31f25e1de26
| * Support byte ordered QImage formats in pixelFormatFromImageFormatLaszlo Agocs2015-01-091-0/+3
| | | | | | | | | | | | | | For QVideoFrame purposes they are equivalent. Change-Id: I776c60aa8ca848e58499bbd0c1fc25c457d46ef6 Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
* | New camera viewfinder settings API.Yoann Lopes2015-01-1311-6/+783
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Merge remote-tracking branch 'origin/5.4' into devFrederik Gladhorn2014-12-172-3/+2
|\| | | | | | | | | | | | | Conflicts: .qmake.conf Change-Id: I31e377cdccf8bf5c1ea8143faf2001ac99608c27
| * Remove private API use from video orientation handlerAndrew Knight2014-12-111-3/+1
| | | | | | | | | | | | | | | | The QPA header isn't needed anymore, as nativeOrientation was added as a QScreen property in 5.2. Change-Id: I7cd00feae769175fd0c4be65b503e74ee910814a Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
| * Fix VideoOutput autoOrientation when switching cameras.Yoann Lopes2014-12-031-0/+1
| | | | | | | | | | | | | | The VideoOutput's camera info was not updated when switching cameras. Change-Id: I23537ce98b08009898eaa26ef14d5b9a746ab5f7 Reviewed-by: Andrew Knight <andrew.knight@theqtcompany.com>
* | Add additional exposure modes to QCameraExposure.Andrew den Exter2014-11-282-0/+20
| | | | | | | | | | | | | | | | | | [ChangeLog][GStreamer][Android] Camera exposure mode extended to support Action, Landscape, NightPortrait, Theatre, Sunset, SteadyPhoto, Fireworks, Party, Candlelight, and Barcode modes. Change-Id: I13d4bb042d27c0bd2ffcd369882b56bbabc84335 Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
* | Add a color filter property to QCameraImageProcessing.Andrew den Exter2014-11-284-1/+82
| | | | | | | | | | | | | | [ChangeLog] New color filter property for QCameraImageProcessing. Change-Id: I999e349e3e4f284b533fa62ba50903fbd21cb400 Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
* | Allow supported camera locks to change after initialization.Andrew den Exter2014-11-282-21/+15
| | | | | | | | | | | | | | | | | | A camera backend may not be able to report which locks it supports until after it is loaded, so query support on demand instead of caching the value available at construction time. Change-Id: I56fb1adee980ebc2fa893da3c983a6dce26329c0 Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
* | GStreamer: port to 1.0.Yoann Lopes2014-11-2712-17/+612
|/ | | | | | | | | | | | | | | 0.10 is still used by default. To enable GStreamer 1.0, pass GST_VERSION=1.0 to qmake for qtmultimedia.pro. Contributions from: Andrew den Exter <andrew.den.exter@qinetic.com.au> Ilya Smelykh <ilya@videoexpertsgroup.com> Jim Hodapp <jim.hodapp@canonical.com> Sergio Schvezov <sergio.schvezov@canonical.com> Change-Id: I72a46d1170a8794a149bdb5e20767afcc5b7587c Reviewed-by: Andrew den Exter <andrew.den.exter@qinetic.com.au>
* Remove unused private membersThiago Macieira2014-11-251-7/+0
| | | | | | | | | | | | | One is not used, the others are not even initialized, so don't use the memory. qsoundeffect_pulse_p.h:172:20: warning: private field 'm_resourceStatus' is not used [-Wunused-private-field] qvideowidget_p.h:211:25: warning: private field 'm_aspectRatioMode' is not used [-Wunused-private-field] qalsaaudioinput.h:156:22: warning: private field 'timestamp' is not used [-Wunused-private-field] qalsaaudiooutput.h:135:22: warning: private field 'timestamp' is not used [-Wunused-private-field] Change-Id: I7c9f50d57c4d29ee0dfd7dc086771d721cdb5b05 Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
* Fix bogus videonode plugin handlingv5.4.0-rc1Laszlo Agocs2014-11-181-2/+0
| | | | | | | | | | | | | | | | Each plugin must provide its own unique key. Otherwise we will only ever see one single plugin. Right now running on i.MX6 is often broken because the imx6 videonode plugin is not picked up since only the egl one is seen by the system. With the fix both plugins provide their own unique key so both become visible. Additionally, introduce a QT_VIDEONODE environment variable. This is useful to specify which plugin to use. This is necessary in case multiple custom videonode plugins support the same formats. Change-Id: Iaa1988f8436dcb938cb9a95e2e0d68a4e92e113c Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
* WinRT: Fix compilation after ANGLE updateMaurice Kalinowski2014-11-171-1/+1
| | | | | | | Header inclusion is not needed, hence remove it for WinRT. Change-Id: I8117439849143975cad3dc14e36118b8da4621de Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
* Add QT_GSTREAMER_CAMERABIN_VIDEOSRC environment variable.Yoann Lopes2014-10-301-0/+2
| | | | | | | | | It can be used to set which video source element should be used by the camerabin. Change-Id: I8d1cd8c4ba6fe5a89817699f645b0997e713aaca Reviewed-by: Samuli Piippo <samuli.piippo@digia.com> Reviewed-by: Christian Stromme <christian.stromme@digia.com>
* Merge remote-tracking branch 'origin/5.3' into 5.4Sergio Ahumada2014-09-263-118/+36
|\ | | | | | | | | | | | | Conflicts: .qmake.conf Change-Id: Iad73368a22c6d4662188e6f357a265d0c26756d0
| * Remove unused includesChristian Strømme2014-09-111-3/+0
| | | | | | | | | | Change-Id: Ibbce6e9135649d5dce0522320197dbbd0a92b3b9 Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
| * Make PLS parser more permissive.Yoann Lopes2014-09-101-92/+10
| | | | | | | | | | | | | | | | | | | | | | | | The PLS format is not clearly specified, some rules are just assumed and files don't always respect them. We now only look for 'File' entries, since that's the only thing we actually use. We ignore the Version, NumberOfEntries, Title, Length and any other unrecognized tags. Task-number: QTBUG-40515 Change-Id: I9c176b7b68fd1441abbd50364f88994ad5d6236f Reviewed-by: Christian Stromme <christian.stromme@digia.com>
| * Fix URL handling in PLS parser.Yoann Lopes2014-09-091-25/+26
| | | | | | | | | | | | | | | | Make sure relative paths are resolved to a full path. Task-number: QTBUG-40515 Change-Id: Ideb83fc3a3c4a74c84917a22e3c30162d7b6158a Reviewed-by: Christian Stromme <christian.stromme@digia.com>
| * QMediaNetworkPlaylistProvider: Upon error parsing, stop parsing.Andres Gomez2014-09-091-0/+2
| | | | | | | | | | | | | | | | | | | | When an error is found parsing a playlist, stop parsing. This will also prevent the emission of the "loaded" signal when the parser finishes. Task-number: QTBUG-40513 Change-Id: Ia814864d0d546806219993f0b727761d5d4e7903 Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* | Revert "QMediaNetworkPlaylistProvider: Upon error parsing, stop parsing."Yoann Lopes2014-09-171-2/+0
| | | | | | | | | | | | | | | | | | This reverts commit 0ed18d846c0b425b0c50a2fefd7cc0fc148832c2. The same patch was submitted in both 5.3 and 5.4 branches. It should have been pushed only to 5.3. Change-Id: I9e2974886190dfb2e5def5bc325c58f6e7783f55 Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
* | Ensure pre-roll frames are displayed when gstreamer backend is paused.Andrew den Exter2014-09-121-12/+1
| | | | | | | | | | | | | | | | | | | | | | | | Perform a seek before transitioning from the stopped state to paused or playing to force the pipeline to resupply the video sink with any pre-roll buffer it may have previously ignored during loading. And don't assume showPrerollFrames to be true if the current state is not stopped as the policy handling may have prevented an effectual state change. Change-Id: I288a70bc4da32f3534eab4b14702ca8f8fdb4222 Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* | ANGLE is never available on WinCELaszlo Agocs2014-09-091-2/+2
| | | | | | | | | | Change-Id: I853774af533d7f4b37b4789344e531d2688f91f5 Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
* | Fix little typo in QCameraExposureControlSamuel Gaist2014-08-261-1/+1
| | | | | | | | | | | | | | Should not shuld Change-Id: I97f7e6ce322dc73bc3b1775a336493d95da848a2 Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* | Add a declaration to QIODeviceThiago Macieira2014-08-251-0/+2
| | | | | | | | | | | | | | | | | | | | It isn't getting #included nor forward-declared at this point. That was only an indirect inclusion. qaudiosystem.h:78:24: error: ‘QIODevice’ has not been declared Change-Id: I5b9121b693bb06414638e8a4664115597da7466f Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* | Update license headers and add new license filesAntti Kokko2014-08-24232-4398/+2542
| | | | | | | | | | | | | | | | | | - 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>
* | Set volume only if volume was explicitly set.Robin Burchell2014-08-042-3/+17
| | | | | | | | | | | | Change-Id: I0d5abab0ffbf61a74c59ce240fd39e756479026b Done-with: Juho Hämäläinen <juho.hamalainen@tieto.com> Reviewed-by: Andrew den Exter <andrew.den.exter@qinetic.com.au>
* | Resource policy support for QSoundEffect.Robin Burchell2014-08-042-1/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since sound effects are something short and mixed with other audio, do not acquire resources explicitly. Follow the resources availability information to determine when it is ok to play the sound effects. When client has registered itself to resource manager, client's streams are classified properly. If no higher priority client has acquired the resources, isAvailable() is true, and sound effects can be played. We do not explicitly acquire the resources, since then other clients with the same resource class would lose the resources, thus not possible to have second client play music with QMediaPlayer class while our client would just want to play simple sound effects. Change-Id: Ib5589349dca6900a8bee616b8ad77e7cb5ec9533 Done-with: Juho Hämäläinen <juho.hamalainen@tieto.com> Reviewed-by: Andrew den Exter <andrew.den.exter@qinetic.com.au>
* | QMediaNetworkPlaylistProvider: Upon error parsing, stop parsing.Robin Burchell2014-08-041-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | When an error is found parsing a playlist, stop parsing. This will also prevent the emission of the "loaded" signal when the parser finishes. Some of the newly added testcases do not yet pass because the parser is overly strict. These improvements are being tracked in QTBUG-40515. Change-Id: I5c96b7eb488996f28eebd7b6c643940de8e2e0b9 Done-by: Andres Gomez <agomez@igalia.com> Task-number: QTBUG-40513 Reviewed-by: Andrew den Exter <andrew.den.exter@qinetic.com.au>
* | Support dynamic opengl32 - ANGLE switching on WindowsLaszlo Agocs2014-07-292-1/+119
| | | | | | | | | | | | Change-Id: I38532db3ab0ad4fcb8dbabd0cbb528f7d8e4ba06 Reviewed-by: Andrew Knight <andrew.knight@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* | Add an EGLImageKHR video node.Andrew den Exter2014-07-182-0/+2
| | | | | | | | | | | | | | | | [ChangeLog] Added a VideoNode plugin which allows direct rendering of EGLImageKHR backed video frames. Change-Id: I36fb6fd27680dbe9c71a446bbd54df95488725f8 Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* | New camera selection API in QML.Yoann Lopes2014-07-175-5/+81
| | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Provide face and orientation info from gstreamer camera backend.Andrew den Exter2014-07-122-6/+22
| | | | | | | | | | | | | | | | | | | | Cleans up duplicate device enumeration code so the devices listed by the QMediaServiceProviderPlugin are the same as those in the QVideoInputDeviceControl and includes face and orientation information if available. Change-Id: Iaa4c303c973bcf3e0f7c8c2fd7a7de629bccec86 Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* | Merge remote-tracking branch 'origin/5.3' into devFrederik Gladhorn2014-07-102-2/+2
|\| | | | | | | Change-Id: I38ebcb3da0e4d2acc9e7108c9579ea98323864e0
| * Doc: link errorsNico Vertriest2014-07-012-2/+2
| | | | | | | | | | | | Task-number: QTBUG-34749 Change-Id: I1d107a8700e03ac550fd6611d80a985a36558b22 Reviewed-by: Martin Smith <martin.smith@digia.com>
* | Support per-plane strides and data offsets in QVideoFrame.Andrew den Exter2014-07-085-21/+328
| | | | | | | | | | | | | | | | | | | | | | | | Since just adding a new virtual isn't binary compatible add a new derivative type with a virtual member and connect it up through a virtual in the private class. [ChangeLog] Support for per-plane strides and data offsets in QVideoFrame. Task-number: QTBUG-38345 Change-Id: I1974c2b0b454d130e17971ce549031259d61f9cd Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* | Doc: Removing url variable from qdocconf file.Jerome Pasion2014-07-071-1/+0
| | | | | | | | | | | | | | -url inherited from the url variable set in qtbase/doc/global Change-Id: I5761a583cc1242f31f1beece7da2236c47e3a9bd Reviewed-by: Martin Smith <martin.smith@digia.com>
* | Merge remote-tracking branch 'origin/5.3' into devSergio Ahumada2014-06-1431-291/+411
|\| | | | | | | | | | | | | Conflicts: .qmake.conf Change-Id: Iecd8d7b94e52a8981526b12cffa40e99870ba62f
| * Improve default audio plugin selection.Yoann Lopes2014-06-051-6/+21
| | | | | | | | | | | | | | | | | | When no audio plugin is marked as default, use the first plugin available. Change-Id: Ide8db0fe55f43c4881c24505c1e2821b0fc176f6 Reviewed-by: Dyami Caliri <dyami@dragonframe.com> Reviewed-by: Christian Stromme <christian.stromme@digia.com>
| * Doc: Remove comment about preliminary API for Qt 5.0Topi Reinio2014-06-051-7/+3
| | | | | | | | | | | | Task-number: QTBUG-39195 Change-Id: I193321a29d06760e4ad5aa2eaca99d98b2e1f65a Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
| * Use Q_CONSTRUCTOR_FUNCTION macro to register multimedia meta types.Yoann Lopes2014-05-3025-271/+150
| | | | | | | | | | | | Task-number: QTBUG-39131 Change-Id: I2493c9e3e6f0065d0441a74ff240d7d91fbe059c Reviewed-by: Christian Stromme <christian.stromme@digia.com>
| * Improve documentation for the QMediaPlayer::bufferStatus property.Yoann Lopes2014-05-151-3/+5
| | | | | | | | | | | | | | | | The corresponding properties in the Audio and MediaPlayer QML elements are also updated. Change-Id: I7104d274d431e7712db2f045c375756e8c2ac03a Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
| * PLS parser: Don't translate entries.Yoann Lopes2014-05-091-3/+3
| | | | | | | | | | | | | | | | | | Each entry in a PLS file uses the keywords 'File', 'Title' and 'Length' in English, it should not be translated to the user's locale... Task-number: QTBUG-38755 Change-Id: Ibd5bee18a856b3ebc1fdb177241db7a39b65d264 Reviewed-by: Christian Stromme <christian.stromme@digia.com>
| * Moved QMediaStorageLocation out of the Android plugin.Yoann Lopes2014-05-093-1/+229
| | | | | | | | | | | | | | | | It's now a private API in the QtMultimedia library in order to be accessible in other plugins. Change-Id: I63541de1e8c540cebc210f9037646ce74d866c6f Reviewed-by: Christian Stromme <christian.stromme@digia.com>
* | Doc: Fix qmlclass selector used in documentation configTopi Reinio2014-06-111-1/+1
| | | | | | | | | | | | | | | | | | | | A recent change (46959875) in qdoc raised QML types from subnodes to top-level nodes. This change modifies the documentation configuration file(s) accordingly. Change-Id: Ie7d09a6d076a044133a8324fa5a5e28c32e7b7a6 Reviewed-by: Jerome Pasion <jerome.pasion@digia.com> Reviewed-by: Martin Smith <martin.smith@digia.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2014-04-114-13/+22
|\| | | | | | | | | | | | | Conflicts: tests/auto/unit/qaudioformat/tst_qaudioformat.cpp Change-Id: I8499473569df9eac8c7069160e42ed477dacad4d
| * make MODULE_PLUGIN_TYPES assignment actually have an effectOswald Buddenhagen2014-04-071-5/+6
| | | | | | | | | | | | | | it must be done before load()ing qt_plugin.prf. Change-Id: I0ad31f8d9761b2d059d656c9e4f674c8a7cc88a6 Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
| * Add support for running on big-endian systemsDmitry Shachnev2014-04-032-7/+15
| | | | | | | | | | | | | | | | Now qtmultimedia test suite passes on powerpc. Change-Id: I540dff93195115ad1dc5725af7293e3b8540403f Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
| * Doc: Fix some documentation warningsSergio Ahumada2014-04-011-1/+1
| | | | | | | | | | | | | | | | | | - Can't link to 'QSlider' - Can't link to 'QImage' Change-Id: Ifa1a27ca5224959d6dbb4c0055a56114740469f0 Reviewed-by: Sze Howe Koh <szehowe.koh@gmail.com> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>