summaryrefslogtreecommitdiff
path: root/src/plugins/qnx
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'origin/5.9' into 5.10Liang Qi2017-10-276-85/+76
|\ | | | | | | | | | | | | | | | | Conflicts: .qmake.conf examples/multimedia/declarative-radio/view.qml src/plugins/qnx/mediaplayer/mmrenderermediaplayercontrol.h Change-Id: I97b507878b6de04ec38ddd13530e58b8f72390e4
| * Switch the metadata code to the event APIJames McDonnell2017-10-236-85/+76
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The switch is necessary because Multimedia for QNX 7.0.0 removes support for PPS based retrieval. PPS itself is deprecated in QNX 7.0.0. QNX 6.6.0 is also switched to using event notification since Multimedia for QNX 6.6.0 also supports it. There's a slight change in when metadata first becomes available because an event is used instead of file based retrieval. I think it's a necessary change because there isn't actually any guarantee that the metadata is complete at the time that the code used to request it and the code may have missed changes because it never read the information again. [ChangeLog][QNX] Switch to mmr_event_t based metadata retrieval. PPS based retrieval is not supported by Multimedia for QNX 7.0.0. Change-Id: I2b70f05422ee03d25ed2446a0e30b56b03dd82c8 Reviewed-by: Brett Stottlemyer <bstottle@ford.com> Reviewed-by: Michael Brasser <michael.brasser@live.com> Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* | Merge remote-tracking branch 'origin/5.9' into 5.10Christian Strømme2017-09-269-233/+385
|\ \ | |/ | | | | Change-Id: Ib7c41a4cd7fd6976ebab52673898888dfac53db5
| * Switch to mmr_event_t based monitoringJames McDonnell2017-09-219-233/+385
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The switch is necessary because Multimedia for QNX 7.0.0 removes support for PPS based monitoring. PPS itself is deprecated in QNX 7.0.0. QNX 6.6.0 is also switched to mmr_event_t based monitoring since Multimedia for QNX 6.6.0 also supports that type of monitoring. [ChangeLog][QNX] Switch to mmr_event_t based monitoring. PPS based monitoring is not supported by Multimedia for QNX 7.0.0. Change-Id: Id3ce1d8895e8ce492ecdd49cbe88ef5f0d6b0194 Reviewed-by: Michael Brasser <michael.brasser@live.com> Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* | Remove m_stopEventsToIgnoreJames McDonnell2017-05-302-14/+2
| | | | | | | | | | | | | | | | | | 6.6.0 and 7.0.0 mm-renderer don't appear to produce spurious stopped state updates. From the MMR_STOPPED in one of the comments, it looks like this was a problem with the BlackBerry mm-renderer. Change-Id: Ia336195b48df342c376b7fb3c8eb2a65ef748032 Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* | Remove handleMmStatusUpdateJames McDonnell2017-05-302-16/+0
| | | | | | | | | | | | | | It was only used by the BlackBerry code which is gone. Change-Id: I9311824b643c3c97205e1f13656ea3a2eeebfe7a Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* | Fix a format stringJames McDonnell2017-05-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | Used wrong class name. Probably a Copy-FailToChange. Get rid of a warning about the conversion specification that didn't match argument type. Change-Id: I4f24b737dd5f72cc1dc61c58de6ad21d9a07c8ed Reviewed-by: Dan Cape <dcape@qnx.com> Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* | Implement QAudioRoleControl for QNXJames McDonnell2017-03-289-6/+288
|/ | | | | | | | | | | | | | The system must provide a JSON file that maps Qt audio roles to the system's audio types. This is necessary because QNX doesn't dictate the audio types that a system must use. Anyone creating a QNX system is free to define whatever audio types they deem to be appropriate for that system. Set the audio role for the Qt player example to VideoRole and added code to dump the supported audio roles. Change-Id: I34d2c5da0033f69b9dd476a0eadccf3d87d07bfd Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
* Clean up some strange GL defines in windowgrabber.hJason Erb2017-03-021-2/+2
| | | | | | | Change-Id: I1d332537b80e165fa794e433fb205f86ed24b209 Reviewed-by: Fabian Bumberger Reviewed-by: Dan Cape <dcape@qnx.com> Reviewed-by: James McDonnell <jmcdonnell@blackberry.com>
* Merge remote-tracking branch 'origin/5.7' into 5.8Liang Qi2016-11-261-1/+1
|\ | | | | | | | | | | | | | | Conflicts: src/plugins/qnx/qnx.pro sync.profile Change-Id: I353a44578276264a9ffb80820d8c5a0babfa1638
| * Merge remote-tracking branch 'origin/5.6' into 5.75.7Liang Qi2016-11-241-1/+2
| |\ | | | | | | | | | Change-Id: Ic43abb034fa0a65b86a6e3511d29b8231ced5ec2
| | * Fix plugin class name when using neutrino serviceJanne Koskinen2016-11-081-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | Fixes static linking issue with the plugin. Task-number: QTBUG-56966 Change-Id: Ie5803b048970a436f017251c0afd375fce11b2fb Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
* | | Remove Blackberry specific code pathsLars Knoll2016-11-148-442/+10
| | | | | | | | | | | | | | | Change-Id: I187085984eb1b25d7f3de163dc05122df1259720 Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
* | | Move qtmultimedia over to the new config systemLars Knoll2016-11-141-1/+1
|/ / | | | | | | | | | | | | | | | | | | | | | | Use the new configuration system to define external libraries, configure tests and features. Don't use pkg-config outside of the configuration step. And move all command line options over from qtbase, so that we can remove them from there in a second step. Change-Id: I1aa4b557a6aee17eeceb00602005a2d28b426a26 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
* | Merge remote-tracking branch 'origin/5.6' into 5.7Yoann Lopes2016-08-011-5/+2
|\ \ | |/ | | | | Change-Id: Ic29cb09048003f18ff86d4546cd547be715eaec8
| * QNX: Reset playback position before stopping mediaDan Cape2016-07-041-5/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change ensures that the next media file to be played back will start playing at position 0. Without this change, it would start playback at the last position of the previous media file. In the play() function, when attempting to play a video, we first go into the loading state which just defers playing until later. Since we set the state to “Playing”, we now accept events from mm-renderer. It sends us a position update which ends up being from the previous video. Since we’re in “Playing” state, we trust this event is right and set our internal m_position variable to that value. Once the media has loaded, play() is called again and then we hit the call setPositionInternal() which seeks the media to our internal m_position (the position we got from mm-renderer). To resolve this, we now will call setPosition in the stop function that will cause mm-renderer to seek to 0 just before it stops playback (as recommended in documentation) so that any events we get from mm-renderer when we move to the “Playing” state will be related to the current media. Change-Id: I8ae35e57dd690bbae1fb996c1feb15ee4addab55 Reviewed-by: James McDonnell <jmcdonnell@qnx.com> Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
* | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-05-104-237/+241
|\ \ | |/ | | | | | | | | | | Conflicts: src/plugins/winrt/qwinrtcameracontrol.cpp Change-Id: I45d3042adf19577a72794610fa1c310cb22e26c4
| * QNX: Avoid reading frames faster than they're renderedDan Cape2016-04-274-237/+241
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The previous code would capture frames with a 60Hz timer into two pixmaps alternating pixmaps with each successive frame. Rendering was somewhat disconnected from this, if rendering was unable to occur at 60fps, multiple frames might be copied for each frame rendered. This meant that it might try copying a video frame into a pixmap that was currently being used by the GPU with bad effects. The primary effect being severe flicker on i.mx6 targets. The change is to ensure that we don't read the window data until we're just about to make use of it. This means we don't ever get ahead of ourselves and read the video window once for every frame rendered. The code has been significantly refactored. There is now a class that manages the pixmaps and egl images. This is created on demand and the images are created and destroyed when sizes change. Since this all now occurs in the proper thread, much of the nonsense of setting _q_GLThreadCallback to arrange a call from the render thread is avoided. Remove BlackBerry ifdefs that are no longer used. Change-Id: I4bf5efa4c39c8170e3f55499c167ee10e521e100 Reviewed-by: James McDonnell <jmcdonnell@qnx.com> Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
* | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-04-081-0/+4
|\ \ | |/ | | | | Change-Id: I7de78c63b5f81620474c69e5c651202c553a70d7
| * QNX: Fix video playback on VMWareDan Cape2016-03-221-0/+4
| | | | | | | | | | | | | | | | | | | | Mark eglImage as not supported on VMWare since that path requires that the image data be in GPU accessible memory which is not the case for video Change-Id: I2ea1ec52842adf0bc1ca39c882e6771e6a992c65 Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
* | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-03-211-1/+2
|\ \ | |/ | | | | Change-Id: Ieb1a3081907093e31e8c8b7f95993bb3b2173672
| * QNX: Fixed issue with non Qt-related mm-renderer windowsDan Cape2016-03-201-1/+2
| | | | | | | | | | | | | | | | | | | | | | Windowgrabber would catch events from windows that were not related to Qt Media Playback. Now there is a check to ensure the window id to compare against is set before assigning the window to the Windowgrabber. Change-Id: Ic85198de5fdb05e9fa740fc7b3b81f3bdffd631d Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: James McDonnell <jmcdonnell@qnx.com> Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
* | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-03-071-4/+4
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | Conflicts: src/plugins/avfoundation/mediaplayer/mediaplayer.pro tests/auto/unit/qmediaserviceprovider/mockserviceplugin1/mockserviceplugin1.pro tests/auto/unit/qmediaserviceprovider/mockserviceplugin2/mockserviceplugin2.pro tests/auto/unit/qmediaserviceprovider/mockserviceplugin3/mockserviceplugin3.pro tests/auto/unit/qmediaserviceprovider/mockserviceplugin4/mockserviceplugin4.pro tests/auto/unit/qmediaserviceprovider/mockserviceplugin5/mockserviceplugin5.pro Change-Id: I5742596230dc510ba2a09eba624429bb67179194
| * consistently put {qt,qml}_{module,plugin} at the end of project filesOswald Buddenhagen2016-02-251-4/+4
| | | | | | | | | | | | | | | | this fixes static builds by ensuring that all dependencies are exported. Task-number: QTBUG-51071 Change-Id: I8e1554b648327ea2fb342b882ce8e439bd6f271d Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
* | Updated license headersAntti Kokko2016-01-1968-952/+1360
| | | | | | | | | | | | | | | | | | | | | | 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>
* | Merge remote-tracking branch 'origin/5.6' into devChristian Strømme2016-01-151-0/+3
|\ \ | |/ | | | | | | | | | | | | Conflicts: src/plugins/android/src/mediacapture/qandroidcamerasession.cpp src/plugins/wmf/mftvideo.cpp Change-Id: I78868b416ea4baec89ca3e2dc9eb4712db16d5fc
| * QNX: Handling looping properlyRoger Maclean2015-12-031-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | On play, if we're at the end of media, set the position to the beginning. The code was previously setting the position to the last known position, likely just prior to the end which causes the last few frames of video to be played endlessly. Task-number: QTBUG-49668 Change-Id: I9613114294c22152dd66ae7111c38c8cdef5b907 Reviewed-by: Dan Cape <dcape@qnx.com> Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
* | QNX plugin: replace foreach with range-based forAnton Kudryavtsev2016-01-153-5/+7
|/ | | | | Change-Id: Ia95da6282ae4dcbeff024655b78788e15ad0e18c Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
* Merge remote-tracking branch 'origin/5.4' into 5.5Liang Qi2015-04-151-0/+2
|\ | | | | | | | | | | | | | | Conflicts: src/multimedia/playback/playlistfileparser.cpp src/plugins/windowsaudio/qwindowsaudiodeviceinfo.cpp Change-Id: I52950def2b8283ae15797d05d4ead6a1256eba19
| * Fix BlackBerry -qtnamespace buildSergio Martins2015-04-011-0/+2
| | | | | | | | | | | | Change-Id: I717dad59a466cb7a7480bc772d8f6308ca669d54 Task-number: QTBUG-43569 Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
* | QMediaPlayer: handle resource files in a cross-platform way.Yoann Lopes2015-04-072-22/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It was the backend's responsibility to handle resource files in an appropriate way. In practice, it was either not handled at all, or implemented in an almost identical manner in every backend that does handle it. This is now dealt with in QMediaPlayer, always passing to the backend something it will be able to play. If the backend has the StreamPlayback capability, we pass a QFile from which it streams the data. If it doesn't, we copy the resource to a temporary file and pass its path to the backend. Task-number: QTBUG-36175 Task-number: QTBUG-42263 Task-number: QTBUG-43839 Change-Id: I57b355c72692d02661baeaf74e66581ca0a0bd1d Reviewed-by: Andrew Knight <qt@panimo.net> Reviewed-by: Peng Wu <peng.wu@intopalo.com> Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
* | Remove BlackBerry PlayBook support.Rafael Roquetto2015-02-187-64/+6
| | | | | | | | | | | | Change-Id: I21f9c21bd3badd30f3a989ce3412c9ad03f5f21d Reviewed-by: Bernd Weimer <bernd.weimer@pelagicore.com> Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
* | Update copyright headersAntti Kokko2015-02-1268-410/+410
|/ | | | | | | | | 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>
* Merge remote-tracking branch 'origin/5.3' into 5.4Frederik Gladhorn2014-10-141-1/+1
|\ | | | | | | Change-Id: I716fd3acb69e424047691069cd4a781f656d0487
| * QNX: Fix resetting video surface5.3Bernd Weimer2014-09-301-1/+1
| | | | | | | | | | | | | | | | | | If video surface object is set to 0, it must not be accessed to set a property on it. Task-number: QTBUG-40746 Change-Id: I1de0e5495918d3ea06706412fab15bf1af012f36 Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
* | Merge remote-tracking branch 'origin/5.3' into 5.4Sergio Ahumada2014-09-261-0/+1
|\ \ | |/ | | | | | | | | | | Conflicts: .qmake.conf Change-Id: Iad73368a22c6d4662188e6f357a265d0c26756d0
| * QNX: Fix end of media notificationBernd Weimer2014-09-091-0/+1
| | | | | | | | | | | | | | | | | | When auto-play is on, EndOfMedia would not be emitted. This is due to a workaround for mmrenderer, that wrongly ignored stop events. Once media is played stop events will always have to be processed. Change-Id: I1cfd665bb06638ee3c86807aecc51e78f9baa938 Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
* | Update license headers and add new license filesAntti Kokko2014-08-2468-1224/+680
|/ | | | | | | | | - 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>
* [QNX] Introduce env variable for default audio sinkAndreas Holzammer2014-04-251-1/+2
| | | | | | | | Make it possible to change the default audio sink via a environment variable. Change-Id: Id0e14318fc99a896b8a41196941b758a31d23600 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QNX: Fix MediaPlayer states handlingFabian Bumberger2014-04-071-3/+4
| | | | | | | | Task-number: QTBUG-37753 Change-Id: I61ff490f061dedd8a9bdc22d76969d9afb9a6795 Reviewed-by: Bernd Weimer <bweimer@blackberry.com> Reviewed-by: Yoann Lopes <yoann.lopes@digia.com> Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
* BlackBerry: Fix the rotation of the viewfinderFabian Bumberger2014-04-023-4/+27
| | | | | | | | | | | | This fixes the rotation of the viewfinder. We have to adjust the orientation depending on the primary screen orientation. On a keyboard device, the viewfinder would not rotate at all (same if auto orientation is turned off). Task-number: QTBUG-37894 Change-Id: I2bf955fb3303ed236d3234154ded94fe78607455 Reviewed-by: Yoann Lopes <yoann.lopes@digia.com> Reviewed-by: Bernd Weimer <bweimer@blackberry.com> Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
* QNX: Remove most of the CPU overhead for video renderingFabian Bumberger2014-04-015-63/+226
| | | | | | | | | | | | | | This patch uses the GL_OES_EGL_image extension to create a OpenGL Texture handle for a libscreen pixmap. If the extension is not available it uses the "old" technique as fallback where the image data is copied into a QImage. This reduces the CPU load by more than 70% and allows HD videos to be played jitter-free. Task-number: QTBUG-37752 Change-Id: I4cad22c39390e4cf9eb5be5f0bfe446544a11b9e Reviewed-by: Bernd Weimer <bweimer@blackberry.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Blackberry: implement QCameraInfoControl.Yoann Lopes2014-03-279-3/+180
| | | | | | | We also now correctly report the default camera to be the rear camera. Change-Id: Ie96b2950344194637c8feace77246f036c9a3757 Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
* QNX: Evaluate mm-renderer buffer statusBernd Weimer2014-03-194-15/+38
| | | | | | | | | | | | | | In the playing (or paused) state the media status should reflect the buffer state, it should not stay in the loaded media state. Mm-renderer differentiates between buffer "status" and "level". Unfortunately, QMediaPlayer's buffer status maps to mm-renderer's buffer level. Change-Id: I22ea8dc83cee975fc4aa1a6de4f172def042a9a8 QT-BUG: 37166 Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com> Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
* Fix typo Inavlid -> InvalidSergio Ahumada2014-03-071-1/+1
| | | | | Change-Id: I3fc6ec3cc319784f32368585ae4eb379317ef4ce Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
* New QCameraInfo class.Yoann Lopes2014-02-282-0/+19
| | | | | | | | | | | | | | | | | | | | 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>
* QNX: Use window group of top-level window for mmrFrank Osterfeld2014-02-191-2/+10
| | | | | | | | | | Pass the top-level window's window group to mm-renderer, as required by mmr. Change-Id: I2a2e8b4aa48f5c2292b03593c6d528068f383b5c Reviewed-by: Bernd Weimer <bweimer@blackberry.com> Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com> Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
* Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2014-01-173-10/+10
|\ | | | | | | | | | | | | Conflicts: .qmake.conf Change-Id: Id367a610a3aefd288bfe287a3bf64606e582deb9
| * Fix build error on BlackBerry10Wolfgang Bremer2014-01-161-2/+2
| | | | | | | | | | | | | | | | | | The variable type was changed to QStringRef but the the conversion to QStringRef was left out. Change-Id: I973b0eb5795fa7bcf89ceac809fb3ff607a85913 Reviewed-by: Peter Hartmann <phartmann@blackberry.com> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
| * Use QStringRef instead of QString whenever possible.Jędrzej Nowacki2014-01-153-10/+10
| | | | | | | | | | | | | | That way we reduce count of temporary QString instances. Change-Id: Id806c68ea616828c2355c07b8576616fa6a8da17 Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>