summaryrefslogtreecommitdiffstats
path: root/src/plugins/wmf
Commit message (Collapse)AuthorAgeFilesLines
* Multimedia plugins now have a unique JSON metadata 'Keys' property.Yoann Lopes2013-06-211-1/+2
| | | | | | | | | | | | | | | | | | | | | They previously had the multimedia services they provided as keys. This was a problem when several plugins were available on the same platform, providing the same multimedia service, but with different features or capabilities. Since they had the same key, only the first plugin in the directory was loaded. Nevertheless, it was actually working until commit 732dcfe7 in qtbase, as all plugins were loaded even when sharing the same key. The services a multimedia plugin provides are now declared in the 'Services' property. To preserve compatibility with third-party plugins, if that new property doesn't exist it falls back to the 'Keys' property. Task-number: QTBUG-31868 Task-number: QTBUG-31476 Change-Id: Ic3ba32eeef21b69b922bd3d4feb111101559d132 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* WMF-plugin: Fix warnings about unused variables.Friedemann Kleint2013-05-272-2/+3
| | | | | Change-Id: I2b7864463799b23418fc4c3099d73a63709fe8c5 Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* Decouple qmediametadata.h from qmultimedia.hSze Howe Koh2013-05-141-0/+1
| | | | | | | | qmultimedia.h is included in more places, but qmediametadata.h is larger. This patch should reduce unnecessary #include-ing. Change-Id: I4a3d174bafc555d794bb75087c1f6b79745ae903 Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* WMF: removed unnecessary dynamic_cast.Yoann Lopes2013-02-191-4/+4
| | | | | | | Task-number: QTBUG-29722 Change-Id: Ia0e5c8fb90b231a8d9764524709d5848397c2afb Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* WMF: enabled HW-accelerated video decoding for the QML video item.Yoann Lopes2013-01-2311-66/+3765
| | | | | | | | | | | | | | It also applies to QGraphicsVideoItem when used on a GL viewport. We now have a new video sink that is based on Microsoft's EVR sink, we just replace the default Presenter with our own. Frames are rendered into D3D surfaces using DXVA, then copied into a shared D3D/EGL surface and finally bound to a GL texture to be used by the video surface. The shared D3D/EGL surface is a feature provided by ANGLE and therefore Qt must be compiled with ANGLE for this new video sink to be compiled and used. Change-Id: I0b7b9968eed5488f9ef1a2dcca5213bd0af232ab Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* WMF: fixed unresolved topologies when using the custom MediaSink.Yoann Lopes2013-01-232-3/+187
| | | | | | | | | | | | | When using our custom MediaSink with RGB formats, Media Foundation fails sometimes to resolve the topology. Inserting ourselves a ColorConverter transform in the topology resolves the problem. The ColorConverter transform cannot handle dynamic frame size changes (this can happen with H264 videos for example) so we also need to insert a Resizer transform to handle transparently frame size changes. Change-Id: Id7f37a0af65f142fbe6d420ad7b2c1ac2156c21b Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* WMF: fixed scrubbing and changing rate to 0 or negative values.Yoann Lopes2013-01-231-24/+36
| | | | | | Task-number: QTBUG-29147 Change-Id: I3e32e520d676d120d60bcd07d122006c1346eb0d Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* make use of qtHaveModule()Oswald Buddenhagen2013-01-112-2/+2
| | | | | | | Change-Id: I14da5455b7dd4681254e1652395df5f5c65746bd Reviewed-by: Tasuku Suzuki <stasuku@gmail.com> Reviewed-by: Jonas Rabbe <jonas.rabbe@gmail.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Update copyright year in Digia's license headersSergio Ahumada2013-01-1034-34/+34
| | | | | | Change-Id: Ia8c1c38aba1544603fada8c414cc856f365fd15b Reviewed-by: Akseli Salovaara <akseli.salovaara@digia.com> Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
* WMF: added more metadata keys (on Windows 7 and later).Yoann Lopes2013-01-081-5/+216
| | | | | | Change-Id: I01eebd0582d33eb3d581176bba2a84fa75db2463 Reviewed-by: Jason Barron <jason@cutehacks.com> Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* WMF: release video controls before releasing the sessionYoann Lopes2013-01-075-3/+24
| | | | | | | | | For the VideoRendererControl, also stop the video surface at the same time. This fixes a crash when changing video. Change-Id: I49484f8b277c345dafb3e5947cf5d23df15546f3 Reviewed-by: Jason Barron <jason@cutehacks.com>
* WMF: Fixed uninitialized member variable.Yoann Lopes2013-01-071-0/+1
| | | | | Change-Id: Iee60d6eee7bbf9dd7804216f4a49c4549f41ba5a Reviewed-by: Jason Barron <jason@cutehacks.com>
* WMF: re-enabled video probes and made it more robust.Yoann Lopes2013-01-075-67/+163
| | | | | | | | | | | | Fixed the way the custom MF Transform (getting the frames) works: - Recreate it whenever we load a new media - During media type negotiation between nodes, the MFT should support the same types as the video sink supports - Allow input and output types to be changed as many times as needed, otherwise the topology cannot be resolved in some cases Change-Id: I7ca77e1a3dee83643f1a97f2e6ada9c5c0e88309 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* WMF: Fixed incorrect QMediaPlayer volume reporting.Yoann Lopes2012-12-211-5/+6
| | | | | | Task-number: QTBUG-26621 Change-Id: Id70a68ad61fd7d68f4ee277f33a54bd9c00c05d0 Reviewed-by: Jason Barron <jason@cutehacks.com>
* remove obsolete DEPENDPATH assignmentsOswald Buddenhagen2012-12-161-1/+0
| | | | | | | | qmake now add CONFIG+=depend_includepath by default, making manual DEPENDPATH setup unnecessary. Change-Id: Iffd78b4c7cf8d048a822b75c481ac380b3d8d0f4 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* WMF: Fixed crash when cancelling media loading.Yoann Lopes2012-12-111-0/+4
| | | | | | | | Since media loading is asynchronous, cancelling could cause a crash when done after the media is loaded but the callback hasn't been called yet. Change-Id: I9c9b7bfaa495b9e75765111c15afb07e8b699488 Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* WMF: Improved error reporting.Yoann Lopes2012-12-111-27/+35
| | | | | | | | | | | When loading the source fails because the file format is not supported, we now report a FormatError instead of a ResourceError. When the file format is supported but the media cannot be played (topology cannot be resolved), it is most likely caused by a missing codec and we then report a FormatError. Change-Id: I101a86c129a0c5dccb543fc1247cb741994684fd Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* Add PLUGIN_CLASS_NAME to qtmultimedia pluginsMiikka Heikkinen2012-12-101-0/+1
| | | | | | | | Needed for automating static plugin loading. Task-number: QTBUG-28131 Change-Id: Ia392b112fc46dedd34c9ffdbd6e874dbbfeaef83 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* WMF: Recreate the MFMediaSession when loading a new media.Yoann Lopes2012-12-078-47/+133
| | | | | | | | | | | | | | MFMediaSession doesn't seem to handle correctly the change of media source, causing the playback not to work afterwards. A single MFMediaSession was created and used for every loaded media, we now create a new one whenever we load a new media (releasing the old one beforehand). Task-number: QTBUG-26819 Change-Id: Id99c9dd54e161823d9580933e063f16240806529 Reviewed-by: Samuel Rødal <samuel.rodal@digia.com> Reviewed-by: Jason Barron <jason@cutehacks.com>
* WMF: Fixed shutdown sequence.Yoann Lopes2012-12-073-3/+4
| | | | | | | | | | | | A wrong shutdown sequence was causing a wait condition to never be met, resulting in a 5 seconds hang on shutdown. Also reduced the wait condition timeout to 100 ms. Task-number: QTBUG-28432 Change-Id: Ib415bf66634603d839be3e34e497e3a3c5a19ad9 Reviewed-by: Samuel Rødal <samuel.rodal@digia.com> Reviewed-by: Jason Barron <jason@cutehacks.com>
* WMF: Disabled the video probe control.Yoann Lopes2012-11-302-52/+57
| | | | | | | | | Using the video probe cause unstability in the video playback. Disabled for 5.0 release. Should be fixed and re-enabled in the next version. Change-Id: I274212a0943ac098194ad59d6e07bed7740bc8a3 Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* tr()-Fixes.Friedemann Kleint2012-11-291-16/+16
| | | | | | | | Make WMF-player error message consistent (sentences, no exclamation marks). Improve wording. Change-Id: I876b26067fb374833037aa93dd9675ab556bf972 Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* WMF: Fixed color adjustment when using the EVR window control.Yoann Lopes2012-11-191-1/+1
| | | | | Change-Id: I007937b358f062cd9d3d3c02e3a0780d6b2539be Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* Rename namespace QtMultimedia::MetaData -> QMediaMetaDataSze Howe Koh2012-11-061-10/+10
| | | | | | | | | | | | | | | | | | Main code, examples, tests and docs updated. Method: 1. Remove unused forward-declarations, "class QMediaMetaData" 2. Mass find+replace "QtMultimedia::MetaData" -> "QMediaMetaData" 3. Un-nest from the QtMultimedia namespace in qtmedianamespace.h For consistency (with minimal disruption), namespaces with a "Qt" prefix will be renamed. Also, Qt guidelines don't include nested namespaces (http://lists.qt-project.org/pipermail/development/2012-October/006756.html) Part of the Header Consistency Project (http://lists.qt-project.org/pipermail/development/2012-October/007570.html) Change-Id: I40e59c1cf58c1792725e735e9285c51bc5f226b1 Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* adjust to qt_plugin.prf changesOswald Buddenhagen2012-11-051-6/+1
| | | | | | | | | | DESTDIR and INSTALLS+=target are set up automatically now. note that in the qmediaserviceprovider test we must override that. also, TARGET munging is done automatically. Change-Id: Ida5d5601e22b099134d1ec07ace713e0d0986bd6 Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* add install path to ruleMaurice Kalinowski2012-10-221-0/+3
| | | | | | | | fix installation into prefix directory. Change-Id: I6838589e2e186d4f23d240e0e7c2772a46af3a9d Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
* Change copyrights from Nokia to DigiaIikka Eklund2012-09-2434-819/+819
| | | | | | | | | 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>
* centralize load(qt_build_config)s in .qmake.confOswald Buddenhagen2012-09-121-2/+0
| | | | | Change-Id: Ie07a32729ec8679f799613f8f6ccdd9c1b6bf7c9 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* WMF Backend: Fix crash in MFPlayerService::releaseControl.Jason Barron2012-09-041-0/+2
| | | | | | | | | | | When releasing a video render control or a video window control, we were deleting the object pointed to by the 'control' pointer, but were not setting this pointer to 0 which left it dangling. Shortly after we tried to cast this dangling pointer to another type which crashed. The solution is just to return after deleting the control. Change-Id: I9ab672c8b86a13af889d87c76141e6b8db5b74a7 Reviewed-by: Andy Nichols <andy.nichols@nokia.com>
* Replaced endpoint control with audio input and output controlsDmytro Poplavskiy2012-07-243-15/+15
| | | | | Change-Id: I981aabe39d106ced4ee1240db9e5b653c6fa5e91 Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
* Videoprobe implementation for wmf backend.Lev Zelenskiy2012-07-199-9/+1139
| | | | | | Change-Id: Ia597af428764229a76c0059ae7a57eb302aee63d Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com> Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
* Audioprobe implementation for wmf backend.Lev Zelenskiy2012-07-119-5/+610
| | | | | Change-Id: I63af91af870cb92c838c1ab5d4752815aa60a03f Reviewed-by: Ling Hu <ling.hu@nokia.com>
* Added wmf implementation for QAudioDecoderControlLing Hu2012-07-1114-12/+1040
| | | | | | Change-Id: Ib6d5c93577bd55995a9ae51e757156149890f15d Reviewed-by: Jun Zhu <jun.5.zhu@nokia.com> Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
* Fix a potential leak in wmfLing Hu2012-07-051-0/+1
| | | | | Change-Id: I4fc039aeaf00a02122d5e11867c73223cc2ebbc1 Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
* Refactoring wmf pluginLing Hu2012-06-2910-22/+42
| | | | | | | | make mf startup/shutdwon inside plugin instead of player component make sourceresolver a common component for a wmf related tasks. Change-Id: I49cdc4fa512a62398a68cd2be2f522f567d11c7c Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
* Fixed a WMF seek bug.Ling Hu2012-06-291-2/+2
| | | | | Change-Id: I1f077a045dad94127e747dd3f8c8566559aef5a2 Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
* Rename a few controls.Michael Goddard2012-06-293-4/+4
| | | | | | | | | | The encoder controls could be confused with actual encoding, so make clear they are just settings. Also, the end point selector controls were not named very well. Change-Id: I27f8bf9c865c5f295abad97c01ef98752af42613 Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com> Reviewed-by: Ling Hu <ling.hu@nokia.com>
* build system cleanupsOswald Buddenhagen2012-06-251-3/+1
| | | | | | | | | | | | | | | | | - load(qt_module) => load(qt_build_config) - remove: - CONFIG+=module (obsolete) - code relating to module version headers (automated now) - %mastercontent assignment (automated now) - QT_BUILD_*_LIB defines (automated now) - pointless QPRO_PWD assignments - pointless DEFINES+=QT_MAKEDLL - pointless and commented out include and depend paths - qmake -project boilerplate Change-Id: I8f4586403848fe8f2dff4e889b389956ffcdea59 Reviewed-by: Jonas Rabbe <jonas.rabbe@gmail.com> Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
* Fixed some crash with WMF backendLing Hu2012-06-256-25/+51
| | | | | Change-Id: I721ba049e2ecafff53ee70d5b930fb52c15fbe09 Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
* Enabled wmf plugin on Windows againLing Hu2012-06-205-11/+12
| | | | | Change-Id: Ia1fe3ef6ec8f70888c7beb390678935ad9995a90 Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
* Remove the last remainders of the old plugin systemLars Knoll2012-06-053-12/+4
| | | | | | | | | | | Port the last two currently unused plugins (v4l and wmf) over to the new plugin format. Fix documentation that still mentioned Q_EXPORT_PLUGIN. Change-Id: I18200dd792e8973687e92180fc41d11395b35132 Reviewed-by: Jonas Rabbe <jonas.rabbe@gmail.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Remove "All rights reserved" line from license headers.Jason McDonald2012-01-3020-20/+20
| | | | | | | | | | As in the past, to avoid rewriting various autotests that contain line-number information, an extra blank line has been inserted at the end of the license text to ensure that this commit does not change the total number of lines in the license header. Change-Id: I20e5215108c6ebd5f8474fed5c3665118e4791e6 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Fix header changes for wmfLing Hu2012-01-243-3/+3
| | | | | Change-Id: I9d06dd9a39f26851589b1c1f259db8de2ee992a0 Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
* Update obsolete contact address.Jason McDonald2012-01-2320-20/+20
| | | | | | | Replace Nokia contact email address with Qt Project website. Change-Id: Ie8cd560b6d9a2c6e552b6be1ad8bc96c80a6535c Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Changed metadata keys type from enum to QString.Dmytro Poplavskiy2012-01-202-53/+17
| | | | | | | | This allows to combine metaData and extendedMetaData and simplify metadata handling on both backend and application sides. Change-Id: I136eedc86c215be3485db101c43069ca7c82101b Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
* Remove widgets config test.Michael Goddard2012-01-112-2/+2
| | | | | | | | | Since it's not guaranteed that other Qt modules will be built by the time qmake is run (and config.tests are created) we can't rely on compilation. Just check the module.pri variable for widgets instead. Change-Id: I352cf6427b748b89b69ec17588ce0dd83065090f Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
* Properly handle the case where QtWidgets is not available.Michael Goddard2012-01-064-9/+13
| | | | | | | | | | | | | | | It does use a config test for now, just to make it clearer. The Mac backend currently requires widgets, but most of the others should work without it (just not supporting QVideoWidget/WindowControl). The QVideoDeviceControl interface was modified to remove the QIcon usage - it was never implemented. Unfortunately even the QML examples need widgets for the wrapper application, and will need to be ported to QtGui based wrapper. Change-Id: I8a55ad5cf09ab51749510bf16f49de0bd3f0bcdb Reviewed-by: Ling Hu <ling.hu@nokia.com>
* Update copyright year in license headers.Jason McDonald2012-01-0620-20/+20
| | | | | Change-Id: Ib82c1be5548443ef1f5e97b3d5641a2f55d212af Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Rename QtMultimediaKit to QtMultimedia.Michael Goddard2011-10-073-17/+17
| | | | | | | | | | There are a few legacy bits left in place so it passes CI, and then qt5.git etc can be updated. Change-Id: I6b082e50e6958c72fdabc2974992e16d90dafa3a Reviewed-on: http://codereview.qt-project.org/5368 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
* Fix a playback bug for mediaplayer windows media foundation backendLing Hu2011-09-263-5/+14
| | | | | | | | | | | | Task-number:QTMOBILITY-1606 Reviewed-by:Jonas Rabbe (cherry picked from commit d5426bf52e19c9c6a52837b423f48024979ea076) Change-Id: Ie7c1c90a8f5a64e77c435ffc1917d8f9638dfff3 Reviewed-on: http://codereview.qt-project.org/5499 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Michael Goddard <michael.goddard@nokia.com>