summaryrefslogtreecommitdiffstats
path: root/src/plugins/wmf
Commit message (Collapse)AuthorAgeFilesLines
* Get rid of plugins for MM backendsLars Knoll2021-01-2241-10136/+0
| | | | | | | | | | There's no need for having those in plugins and we can further remove abstractions and simplify our code if the code is directly compiled into Qt Multimedia. Change-Id: I5267a6a776375d99be8f0de4207f0288d963e620 Reviewed-by: Doris Verria <doris.verria@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Get rid of the QMediaServiceFeaturesInterfaceLars Knoll2021-01-223-11/+3
| | | | | | | | Replace it by one virtual method in the media player control. Change-Id: I18778d2f56b9af8a16418c30c75c973e54b6add8 Reviewed-by: Doris Verria <doris.verria@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Get rid of QMediaContentLars Knoll2021-01-226-12/+12
| | | | | | | | | There's no need for it without playlist support in QMediaPlayer. Simply replace it with a QUrl. Change-Id: I28421772b106dad67d321f2c7053558ebfe2a592 Reviewed-by: Doris Verria <doris.verria@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* audio/pcm is not a valid mimetypeLars Knoll2021-01-222-3/+3
| | | | | | | | Use audio/x-raw instead, in line with gstreamer. Change-Id: Ib6c27fec7e227d1086750b24f91b4b69ecc870a9 Reviewed-by: Doris Verria <doris.verria@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Merge QAbstractPlanarVideoOutput into QAbstractVideoOutputLars Knoll2021-01-221-11/+9
| | | | | | | | | And while we're at it, sanitize the signature of the virtual map() method. Change-Id: I8feb09e1dd6abdd9f480e202568ff84e6c3c08a9 Reviewed-by: Doris Verria <doris.verria@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Get rid of QMediaControlLars Knoll2021-01-214-8/+8
| | | | | | | | | | The class was serving no purpose that QObject doesn't offer, so remove that layer and use QObject as the base class for those controls. Change-Id: Icd434fabe88cbdba5fa54eafe6ba97ac08be61f3 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Doris Verria <doris.verria@qt.io>
* Get rid of QMediaServiceDefaultDeviceInterfaceLars Knoll2021-01-211-2/+0
| | | | | | | | Merge it into QMediaServiceSupportedDevicesInterface. Change-Id: I842218c7cb6391e86357a09d461be078a6d8a368 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Doris Verria <doris.verria@qt.io>
* First step in cleaning up the plugin loading codeLars Knoll2021-01-212-4/+4
| | | | | | | | | | | | | | Stop assuming that there are multiple plugins providing the same service. We'll have exactly one plugin for a service in the future and not provide several. The reason is that we will focus on having one good and functional multimedia backend per platform, not the mix of many semi-functional ones as we have today. Change-Id: I809d4c99a56a48369d0ba283af78b1c41740d92a Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Doris Verria <doris.verria@qt.io>
* Initial Cmake port for qtmultimediaDoris Verria2021-01-201-0/+74
| | | | | | Fixes: QTBUG-89540 Change-Id: I2cf8d0edae2769a53cadd667ab5ac4f9cb754a50 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Add ; to Q_UNUSEDLars Schmertmann2020-06-282-2/+2
| | | | | | | | This is required to remove the ; from the macro with Qt 6. Task-number: QTBUG-82978 Change-Id: I5466906d759a7cc046d77a21e2c647a4b938d070 Reviewed-by: Val Doroshchuk <valentyn.doroshchuk@qt.io>
* Merge "Merge remote-tracking branch 'origin/5.15' into dev"Qt Forward Merge Bot2020-05-293-9/+9
|\
| * Merge remote-tracking branch 'origin/5.15' into devQt Forward Merge Bot2020-05-293-9/+9
| |\ | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: examples/multimedia/audiodecoder/audiodecoder.cpp examples/multimedia/audiodecoder/main.cpp src/multimedia/playback/qmediaplayer.cpp Change-Id: I8cf1293023c09069745aa3aa6df49b1e0a8a1c22
| | * Fix case of header file includes for building with mingw-w645.14Marius Kittler2020-04-263-3/+3
| | | | | | | | | | | | | | | Change-Id: Ie0e6599234c38c5e5a75b681a911f3728871861e Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | * WMF: Fix memory leak in MFPlayerSession::getStreamTypeVal Doroshchuk2020-04-061-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | Receives a pointer to the IMFMediaTypeHandler interface. The caller must release the interface. Fixes: QTBUG-80037 Change-Id: I69682028a5deea256a79d5d067afe2e60e49c8c5 Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* | | Remove ANGLEVaL Doroshchuk2020-05-281-1/+0
|/ / | | | | | | | | | | | | Since it is already removed from qtbase Change-Id: If3a8169705b57d2e39167e2f718524cf3fe8bb1e Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* | Merge remote-tracking branch 'origin/5.15' into devQt Forward Merge Bot2020-03-181-0/+3
|\| | | | | | | Change-Id: I21c230900111b4881b40c451bffc3d5c2101111b
| * WMF: Fix memory leak in MFPlayerSession::getStreamTypeVaL Doroshchuk2020-02-211-0/+3
| | | | | | | | | | | | | | | | | | Receives a pointer to the IMFMediaTypeHandler interface. The caller must release the interface. Fixes: QTBUG-80037 Change-Id: Id0222c9f8ee0f88db8cd53c9492dce053d0bfb35 Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* | Remove deprecated QMediaResourceVaL Doroshchuk2019-11-083-3/+1
|/ | | | | Change-Id: Ide1a5386f39b0f794591d2a5b8bc1a554d3a2053 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Eradicate the last Q_FOREACH and mark the module cleanMarc Mutz2019-07-111-1/+1
| | | | | | | | | | | | | | | | This one is not trivial in that it isn't clear, a priori, that the loop body doesn't re-enter the class and ends up modifying m_videoProbes. But MFVideoProbeControl::bufferProbed() just schedules a deferred call to QMediaVideoProbeControl::videoFrameProbed() (via QueuedConnection), so this cannot happen, because we end the loop before we re-enter the event loop (if any) on this thread. Reentrancy from a different thread, OTOH, is not possible because we're holding m_videoProbeMutex while looping. Change-Id: I6c1e22cd01112f0b2650e056f0b7f4a392370b84 Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
* 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>
* Windows: Build directshow media player with wmf if availableVal Doroshchuk2019-01-145-22/+4
| | | | | | | | | | | | | | | | | | Removed -mediaplayer-backend configure param. It allows to build directshow media player together with wmf's one, if the last is available. It is useful to switch to another backend without rebuilding. By default directshow media player will be used. [ChangeLog][Platform Specific Changes][Windows] Removed -mediaplayer-backend config param which allowed to build wmf together with DirectShow. Task-number: QTBUG-32783 Change-Id: I486a93d9493407af3793cfe338b35daab7c642db Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* Merge remote-tracking branch 'origin/5.12' into devQt Forward Merge Bot2019-01-041-1/+1
|\ | | | | | | Change-Id: I5394a9d75850771068d43d2509b14a3ac4efcf83
| * WMF: Map PKEY_Media_EncodingSettings to QMediaMetaData::DescriptionVaL Doroshchuk2018-12-101-1/+1
| | | | | | | | | | | | | | | | | | | | According to https://docs.microsoft.com/en-us/windows/desktop/medfound/metadata-properties-for-media-files PKEY_Media_EncodingSettings is closed to description. Task-number: QTBUG-72287 Change-Id: I2cafc4b922ffc8ad01db43f8dfb97097f8185501 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* | Do not use QMediaResource internallyVal Doroshchuk2018-08-304-15/+9
|/ | | | | | | | Removed usage of QMediaResource internally, since it is going to be deprecated. Task-number: QTBUG-28850 Change-Id: I476ae11ac58215aa4df4a76abb0cec3aa44f206a Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* Fix Clang warningsFriedemann Kleint2017-11-021-0/+2
| | | | | | | | evrd3dpresentengine.cpp(52,11): warning: non-portable path to file '<QtGui/qguiapplication.h>'; specified path differs in case from file name on disk [-Wnonportable-include-path] mfstream.cpp(233,13): warning: enumeration value 'msoBegin' not handled in switch [-Wswitch] Change-Id: I5aeb253a11de964090123b1d2c61435e31d488f6 Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* WMF: Add support for QMediaMetaData::OrientationSteve Schilz2017-08-311-0/+7
| | | | | | Change-Id: I2cdf41d3d0c60774a9b5cb48eef3ee7850b2cadf Reviewed-by: Christian Stromme <christian.stromme@qt.io> Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* Use QT_CONFIG macro to check for featuresLars Knoll2017-02-273-6/+5
| | | | | | | And remove many custom defines. Change-Id: I658cc8430d1d99ed3c0aafe03a77adce76621a29 Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
* WMF plugin: Prevent detaching of QMediaResourceListHannah von Reth2017-02-062-4/+4
| | | | | | Change-Id: I2bf0fa346a166bdb20ce76b1fd4d7227680810dd Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
* Fix building the WMF pluginYoann Lopes2016-12-131-1/+1
| | | | | | | | | | | | 9df63fd6 made it possible to build only the audio decoder service from the WMF plugin. When that change was merged to 5.8 it was not ported to the new configuration system. Added a new '-mediaplayer-backend' configure option to select the media player backend to use on Windows. '-wmf-backend' is kept for backward compatibility. Change-Id: I902b2e4147f9a05b92118152020afc2638bf41e1 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* 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/+1
| |\ | | | | | | | | | Change-Id: Ic43abb034fa0a65b86a6e3511d29b8231ced5ec2
| | * WMF: Fix copy-and-paste errorChristian Strømme2016-11-171-1/+1
| | | | | | | | | | | | | | | Change-Id: I6e207b49917f0d3ab1ec39b067138eefd6581a49 Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
* | | Fix compiler warningMaurice Kalinowski2016-11-141-0/+2
| | | | | | | | | | | | | | | Change-Id: I6a0e9cfed72e67fe3d556264b135b6e7c5bf6b9b Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
* | | Move qtmultimedia over to the new config systemLars Knoll2016-11-142-4/+5
|/ / | | | | | | | | | | | | | | | | | | | | | | 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.7Liang Qi2016-11-0413-14/+26
|\| | | | | | | Change-Id: Ib038c5e3ebb48c0e46569a35d530fa5ceaf06a32
| * WMF: make it possible to build only the audio decode serviceYoann Lopes2016-11-0212-13/+25
| | | | | | | | | | | | | | | | | | | | | | | | The WMF plugin can now be built without the media player service. That enables the audio decode service even when DirectShow is used as media player backend. The default configuration on Windows is now: Camera, MediaPlayer -> DirectShow AudioDecode -> WMF Change-Id: Ic6f3c85ed849e0c603719cfb03794e6abd2d52fa Reviewed-by: Christian Stromme <christian.stromme@qt.io>
| * WMF: fix incorrect pointer dereferenceYoann Lopes2016-10-211-1/+1
| | | | | | | | | | | | Task-number: QTBUG-56134 Change-Id: I9c8799a96ff08f2657e4879dfbe14de3bfe3d25f Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-03-212-1/+2
|\| | | | | | | Change-Id: Ieb1a3081907093e31e8c8b7f95993bb3b2173672
| * Merge remote-tracking branch 'origin/5.6.0' into 5.6Frederik Gladhorn2016-03-172-1/+2
| |\ | | | | | | | | | Change-Id: I91fb2886b4ab8f0b9e2e28329cec69dfa2cb5435
| | * [Win] Compile fix, the mmdeviceapi.h header can only be included oncev5.6.0-rc1Andy Shaw2016-02-152-1/+2
| | | | | | | | | | | | | | | Change-Id: Idb9a995c90e6e0e8be392022e2a76b4d8fea853a Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.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-1936-504/+720
| | | | | | | | | | | | | | | | | | | | | | 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-1514-3693/+287
|\| | | | | | | | | | | | | | | Conflicts: src/plugins/android/src/mediacapture/qandroidcamerasession.cpp src/plugins/wmf/mftvideo.cpp Change-Id: I78868b416ea4baec89ca3e2dc9eb4712db16d5fc
| * Windows: Improve EVR presenter.Yoann Lopes2016-01-122-37/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Removed hard dependency to Angle; it's now required only when rendering to a texture. If Angle is not used, the buffers are now mappable to system memory. This enables HW-accelerated video decoding in QML for non-ANGLE builds. Note that the frame data have to do a round-trip through system memory, which is not ideal but still faster than SW decoding. Task-number: QTBUG-45593 Change-Id: Icc3503142df4e8dbb53b4e11f409b161fd2f9bde Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
| * DirectShow: use the EVR in the renderer control.Yoann Lopes2016-01-1210-3477/+92
| | | | | | | | | | | | | | | | | | | | | | As for the window control, the existing code from the WMF plugin has been refactored out and is now shared for both plugins. This enables HW-accelerated video decoding in QML, QGraphicsVideoItem and custom QAbstractVideoSurfaces (Angle is required). Task-number: QTBUG-45593 Change-Id: I1d4dbf5695cdd4dbee93f9f4a957fa4d813aa85d Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
| * WMF: correctly handle media with multiple streams.Yoann Lopes2015-12-042-75/+90
| | | | | | | | | | | | | | | | Only use the default streams and make sure only one stream of each kind (audio/video) is added to the topology. Change-Id: Ied37174fa722068b4cd1b5f91b60e0cef5c1d7b3 Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
| * WMF: correctly handle samples in the video probe transform.Yoann Lopes2015-12-041-56/+29
| | | | | | | | | | | | | | | | | | Set the right flags so the renderer doesn't allocate its samples. We can then just forward the samples we get from the upstream element and avoid a copy. Change-Id: Iafc15b81531a7415823d063c47a326ea6239136f Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
| * WMF: fix type negotiation in video probe transform.Yoann Lopes2015-12-043-78/+87
| | | | | | | | | | | | | | | | - report supported types (same as the video sink) - handle type changes coming from upstream Change-Id: I922fc4869ecac3999e055c39adf1b847127a0012 Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
* | WMF plugin: replace foreach with range-based forAnton Kudryavtsev2016-01-155-11/+11
|/ | | | | Change-Id: I041496a88ac26d5db6bb65f61ff88a3aea01e3a4 Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>