summaryrefslogtreecommitdiffstats
path: root/src/multimedia
Commit message (Collapse)AuthorAgeFilesLines
* 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>
* | Merge "Merge remote-tracking branch 'origin/stable' into dev" into ↵Yoann Lopes2014-03-262-1/+3
|\| | | | | | | refs/staging/dev
| * GStreamer: fix memory leaks.Yoann Lopes2014-03-211-0/+2
| | | | | | | | | | | | | | Many GStreamer objects were not properly managed or never released. Change-Id: I38b3854e8b9e2264b5b647f331d3bb16b886e2d6 Reviewed-by: Andrew den Exter <andrew.den.exter@qinetic.com.au>
| * Fix crash in QCameraInfo when no camera is available on the system.Yoann Lopes2014-03-171-1/+1
| | | | | | | | | | Change-Id: I04bea9d6afcf567c64788c3765cc6626dc9cd482 Reviewed-by: Christian Stromme <christian.stromme@digia.com>
* | Removed debug operator autotests.Yoann Lopes2014-03-261-1/+1
|/ | | | | | | | | | For QVideoFrame, QAudioFormat and QVideoSurfaceFormat. There's no point in testing the formatting of the debug operator. These tests can break every time there's a change in QDebug's output policy. Change-Id: I2349b4722a428bc4c56ca58b13889790e86df4c1 Reviewed-by: Christian Stromme <christian.stromme@digia.com>
* Add missing virtual destructor for new classThiago Macieira2014-03-011-0/+1
| | | | | | | | qmediaserviceproviderplugin.h:166:28: error: ‘struct QMediaServiceCameraInfoInterface’ has virtual functions and accessible non-virtual destructor [-Werror=non-virtual-dtor] Change-Id: I08c6718bfd87c5adeea9969afdd4766150163238 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com> Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* VideoOutput: fix autoOrientation with a camera source.Yoann Lopes2014-02-282-1/+3
| | | | | | | | | Don't assume the camera frames are always in the same orientation as the display in its primary orientation. We now take into account the camera sensor position and orientation to calculate the viewport orientation. Change-Id: Ib333c87f1804d1010ada42cb757e4fab78d75a04 Reviewed-by: Christian Stromme <christian.stromme@digia.com>
* New QCameraInfo class.Yoann Lopes2014-02-2817-121/+1162
| | | | | | | | | | | | | | | | | | | | The class allows to get the list of available cameras on the system as well as getting some static information about them such as their unique ID, display name, physical position and sensor orientation. This makes QCamera::availableDevices() and QCamera::deviceDescription() obsolete. This patch contains the API, documentation and auto-tests but not the actual implementation by each backend (except for retrieving the default camera device). [ChangeLog][QtMultimedia] Added new QCameraInfo class [ChangeLog][QtMultimedia] QCamera: availableDevices() and deviceDescription() are deprecated, use QCameraInfo instead Change-Id: I64fd65729ab26a789468979ed5444ee90bb82cd0 Reviewed-by: Christian Stromme <christian.stromme@digia.com>
* QSoundEffect: fix changing the loop count while playing.v5.3.0-alpha1Yoann Lopes2014-02-253-10/+23
| | | | | | | | | | | | The running count was not updated with the new value. Auto-test added and documentation updated to be more clear about this behavior. Task-number: QTBUG-36643 Change-Id: I29e98ca4679f950a75133b21873738bcb72d23d4 Reviewed-by: Christian Stromme <christian.stromme@digia.com>
* android: add missing feature tags.Yoann Lopes2014-02-211-1/+3
| | | | | | | | | | Adding the CAMERA and RECORD_AUDIO permissions implicitely makes some features a hard requirement for the app. By adding these features in the .pro file, androiddeployqt will mark them as unrequired in the final package. Change-Id: Ie9357d05626cb12272001d63b04e230737fbf1bc Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2014-02-121-5/+1
|\ | | | | | | Change-Id: Ie93615076177662e75d46f3d13beeb88d424b4a6
| * QSoundEffect: Don't try guess a media role if one has not been provided.Robin Burchell2014-02-071-5/+1
| | | | | | | | | | | | | | | | | | Trying to heuristically guess this kind of thing is almost always a bad idea. Expect the creator of the output to explicitly tell us the category instead of guessing. Change-Id: I5f2988e2456685f3622e0ab136951b1742215f71 Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* | Normalize signal & slot signatures in connectionThiago Macieira2014-02-033-10/+10
| | | | | | | | | | | | | | Profiling shows Qt Creator spends 2% of its load time normalizing Change-Id: I1a4bef16be79ced35c47da865153ebe1bee22f9c Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* | Move win32 and Alsa audio backends into plugins.Christian Strømme2014-01-3014-5233/+1
| | | | | | | | | | Change-Id: I9835cf5ee97900569f26421a19543b485e933051 Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>