summaryrefslogtreecommitdiffstats
path: root/src/plugins/qnx
Commit message (Collapse)AuthorAgeFilesLines
* Deprecate canonicalUrl and canonicalRequest in QMediaContentVaL Doroshchuk2019-05-131-1/+1
| | | | | | | | | | | Since QMediaContent can contain only one content and media resources are already deprecated, canonicalUrl and canonicalRequest are a bit confusing and outdated. Deprecated and replaced by QMediaContent::request() which already contains the url. Change-Id: I418006e112f49466b0129bf1e6e1ae629c714538 Reviewed-by: Christian Strømme <christian.stromme@qt.io>
* Retrieve some information from the track metadata if availableJames McDonnell2018-10-011-18/+61
| | | | | | | | Later versions of the QNX 7.0.0 Multimedia component replace the top level audio/video metadata with track specific audio/video metadata. Change-Id: Ic88f23f8db9c06594da649d9e8fc4faf30acf1a0 Reviewed-by: Rafael Roquetto <rafael@roquetto.com>
* Fix video window parenting and positioningJames McDonnell2018-09-201-13/+5
| | | | | | | | | | | | | | | | | | | | | | | | The positioning code seemed to be expecting that the video window is created as an application window but mm-renderer creates the window as a child when a group is specified. When the application window isn't located in the top-left corner of the display, this assumption produces incorrect positioning of the video window. Contrary to what a comment in the code indicated, the video window does not need to be parented to the application window. Doing so just makes it difficult to determine the correct position for the video window. Also ensure that the video window is resized when the metadata information doesn't contain width/height. On QNX 7.0.0, the code may fail to resize the window because the metadata doesn't contain the width/height information under the expected key. A floating point divide by zero occurs with undefined results. I'll adjust for the width/height move in a separate commit. Change-Id: I540c1798a03b7c03a4438d0852c80e4d086009be Reviewed-by: Janne Koskinen <janne.p.koskinen@qt.io> Reviewed-by: Rafael Roquetto <rafael@roquetto.com>
* Switch WindowGrabber to a private parent windowJames McDonnell2018-05-072-18/+25
| | | | | | | | The code that it was using to retrieve a parent window didn't always get the right window. Using a private window prevents any confusion. Change-Id: Ic368460c6bf150891ff51f1f3b00bbe93c6cf780 Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
* QNX 7.0.0 audio management supportJames McDonnell2018-01-164-19/+141
| | | | | | | [ChangeLog][QNX] Added support for QNX 7.0.0 audio management. Change-Id: Ia9f1740577527126bf666627647084382e4d7ce9 Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* Implement QCustomAudioRoleControl for QNXJames McDonnell2017-11-147-3/+162
| | | | | Change-Id: I95202ffabbeae36dbb2f2fa43871e0bceed53cae Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* Merge remote-tracking branch 'origin/5.10' into devLiang Qi2017-10-276-85/+76
|\ | | | | | | Change-Id: Ib509a8c90dd6c7229510a400612cc27a4957d015
| * 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.10' into devLiang Qi2017-10-199-232/+384
|\| | | | | | | | | | | | | | | | | | | | Conflicts: src/plugins/qnx/mediaplayer/mmreventmediaplayercontrol.h Change-Id: Ic6e27742ef6d1af0532ad05902a1431ebd5f449d
| * | 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>
* | | Replace Q_DECL_FINAL with finalKevin Funk2017-09-241-1/+1
| | | | | | | | | | | | | | | Change-Id: I1ca46e9b8d8a3ba57ad93213ab1c8fb8f041f210 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | Replace Q_DECL_OVERRIDE with overrideKevin Funk2017-09-2227-148/+148
| | | | | | | | | | | | | | | Change-Id: I17b3650a3df5688274151c1f2c4629e4a5062028 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | Add custom audio role API to QMediaPlayerJames McDonnell2017-09-061-1/+7
|/ / | | | | | | | | | | | | | | | | | | | | | | Allows use of audio roles beyond those known to Qt. [ChangeLog][QMediaPlayer] Added customAudioRole string property to enable use of audio roles beyond those available via the audioRole enum property. Change-Id: Id7ed5d7bc1af0c15910e699f25c97cfed2d48243 Reviewed-by: Christian Stromme <christian.stromme@qt.io> Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
* | 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>