summaryrefslogtreecommitdiffstats
path: root/src/plugins/directshow/dsserviceplugin.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Revert "Update commercial license headers"v5.15.3-lts-lgplTarja Sundqvist2021-03-251-21/+21
| | | | | | | | | | | This reverts commit 80d46e3a5f64ff2456c40bdba63b6d5c69a32cdd. Revert of commercial license headers is required for Qt 5.15.3 opensource release. Task-number: QTBUG-91108 Change-Id: I5c64ffa120f916711e5cf01c828774f8456dec06 Reviewed-by: Akseli Salovaara <akseli.salovaara@qt.io>
* Update commercial license headersTarja Sundqvist2021-01-271-21/+21
| | | | | | | | | | | | | | | | Updated header.COMM to files in tqtc-qtmultimedia. Examples, tests or documentation files are not updated. The commercial license header may contain some additional lines so that its line count equals with the earlier license header. Reaso for this is that some autotests use hard coded line numbers and a change in the line count causes failures in tests. Task-number: QTQAINFRA-4171 Change-Id: I86ebf7c3653b55983cefff246c0cb019cbcda8c4 Reviewed-by: Akseli Salovaara <akseli.salovaara@qt.io>
* Merge remote-tracking branch 'origin/5.13' into 5.14Qt Forward Merge Bot2019-09-121-22/+10
|\ | | | | | | | | | | | | | | Conflicts: src/gsttools/qgstvideorenderersink.cpp src/gsttools/qgstvideorenderersink_p.h Change-Id: I7fe29161d568fa3f7688abfd2f993d1b16ac3fb9
| * DirectShow: Allow QMediaPlayer in secondary threadVal Doroshchuk2019-09-091-22/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since using of any COM objects must be only after CoInitialize(), otherwise CoCreateInstance() returns nothing which causes a crash. If QMediaPlayer is moved to another thread, loading of any content will also cause a crash because of COM is not initialized. Proposing to use thread_local ref counter to keep each thread initialized and avoid double initialization. Fixes: QTBUG-77163 Change-Id: I81c67d6407b853c824edd3b42454fddf792fd90c Reviewed-by: Christian Strømme <christian.stromme@qt.io>
| * Merge remote-tracking branch 'origin/5.12' into 5.13Liang Qi2019-07-231-1/+1
| |\ | | | | | | | | | | | | | | | | | | Conflicts: src/plugins/directshow/player/directshowplayerservice.cpp Change-Id: I482098bb3c3b5b291175ca798b0d6ba61ad87d86
| | * DirectShow plugin: use nullptr instead of NULLRolf Eike Beer2019-07-161-1/+1
| | | | | | | | | | | | | | | Change-Id: Ied89175c4b7f5df090deac174b1da1e8496ee533 Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
* | | DirectShow: Introduce nullptrFriedemann Kleint2019-06-121-2/+2
|/ / | | | | | | | | | | | | Apply Fixits by Qt Creator. Change-Id: Idbd52ceaac6ee02f23d05f5a9b1ab6d58298b6a5 Reviewed-by: André de la Rocha <andre.rocha@qt.io>
* / Windows: Build directshow media player with wmf if availableVal Doroshchuk2019-01-141-4/+1
|/ | | | | | | | | | | | | | | | | | 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>
* DirectShow: Fix clang-tidy warnings about else after returnFriedemann Kleint2018-09-051-4/+3
| | | | | | | | | - Unindent the code or replace by switch () - Smaller fixups when reindenting (nullptr, use QStringView for comparison against wchar_t) Change-Id: I249cb00b9ebe375b089d8d53b10c2d16d5771680 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* DirectShow: Add initialization of com library to service pluginVal Doroshchuk2017-12-141-0/+6
| | | | | | | | | | | | In case when QCoreApplication is used the COM library was not initialized on the calling thread before the COM library calls were made. QApplication initializes it by calling OleInitialize(). Task-number: QTBUG-59320 Change-Id: I50a71b1bcc8a63f5a8ffd22c5d044f9c56de15f9 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* DirectShow: Fix namespaced build with MinGWFriedemann Kleint2017-04-261-3/+2
| | | | | | | | | | | | | | | | | | | | | | Remove QT_USE_NAMESPACE from headers and enclose headers/sources in QT_BEGIN/END_NAMESPACE. Fixes MinGW build error: qtbase/src/corelib/global/qtypeinfo.h:246:7: error: specialization of 'template<class T> class tn::QTypeInfo' in different namespace [-fpermissive] class QTypeInfo<TYPE > \ ^ qtbase/src/corelib/global/qtypeinfo.h:265:1: note: in expansion of macro 'Q_DECLARE_TYPEINFO_BODY' Q_DECLARE_TYPEINFO_BODY(TYPE, FLAGS) ^ helpers\directshowmediatype.h:92:1: note: in expansion of macro 'Q_DECLARE_TYPEINFO' Q_DECLARE_TYPEINFO(DirectShowMediaType, Q_MOVABLE_TYPE); ^ qtbase/src/corelib/global/qtypeinfo.h:57:7: error: from definition of 'template<class T> class tn::QTypeInfo' [-fpermissive] class QTypeInfo ^ Task-number: QTBUG-60118 Change-Id: Idfe7a49b50a0046a5cb17630a3ec99615ec6150a Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* Merge remote-tracking branch 'origin/5.8' into 5.9Liang Qi2017-03-101-17/+3
|\ | | | | | | | | | | | | Conflicts: src/plugins/gstreamer/camerabin/camerabincontainer.h Change-Id: I4942d41d69112335fe0c994002f1b32ef3aad051
| * Use QT_CONFIG macro to check for featuresLars Knoll2017-02-271-17/+3
| | | | | | | | | | | | | | And remove many custom defines. Change-Id: I658cc8430d1d99ed3c0aafe03a77adce76621a29 Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
* | DirectShow: Add utility classChristian Strømme2017-01-271-2/+4
| | | | | | | | | | | | | | Centralized place for helper functions etc. Change-Id: Ia4474d0681a37fc95a100a3766800141a8b1d900 Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
* | DirectShow: Add generic logging category for the DirectShow pluginChristian Strømme2016-11-151-0/+3
|/ | | | | Change-Id: I38cee48cc85baa5ad5e42e03f8cb05eab1287566 Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
* Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-03-211-1/+3
|\ | | | | | | Change-Id: Ieb1a3081907093e31e8c8b7f95993bb3b2173672
| * Port DirectShow backend to winceAndreas Holzammer2016-03-091-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | dshow.h needs to be included before Qt headers as they include the windows header with NOMINMAX macro set. DirectShow header needs min/max macro definition to compile. The min/max macro then conflicts with QDateTime header, hence needs to be undefined again for some occasions. Windows Embedded Compact then defines INTERFACE as macro, which conflicts. Windows Embedded Compact does not support audio end point selection. Feature has been disabled for this platform. Windows Embedded Compact does not support setting meta data, control has been disabled. Windows Embedded Compact does not support VMR, feature was disabled. Direct Show renders always top to buttom. Change-Id: Id17700835e2105fb127b12e3448bea16e3b52546 Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
* | Updated license headersAntti Kokko2016-01-191-14/+20
| | | | | | | | | | | | | | | | | | | | | | 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>
* | DirectShow plugin: replace foreach with range-based forAnton Kudryavtsev2016-01-151-2/+2
|/ | | | | Change-Id: Id1a0b4d2c3defe254e503079faa8b35eaaba8c08 Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
* Merge remote-tracking branch 'origin/5.4' into 5.5Liang Qi2015-04-151-38/+14
|\ | | | | | | | | | | | | | | Conflicts: src/multimedia/playback/playlistfileparser.cpp src/plugins/windowsaudio/qwindowsaudiodeviceinfo.cpp Change-Id: I52950def2b8283ae15797d05d4ead6a1256eba19
| * DirectShow: correctly update camera list.Yoann Lopes2015-04-141-38/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | 8923c0ff fixed the list not being updated after plugging/unplugging a camera from the system. However, it was only a partial fix affecting only QCameraInfo::availableCameras(). DSVideoDeviceControl was still internally keeping a list of cameras that was never updated, causing the QCamera constructor to not take into account new or removed cameras. Change-Id: Ie5e79c46002017b1e85bfc53c6391a2a747361a0 Task-number: QTBUG-39708 Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.4' into devFrederik Gladhorn2015-02-131-6/+9
|\| | | | | | | Change-Id: I5575a4ba13212c9bfe73a3de3ef17c6528beafc3
| * directshow: Fix plugging/unplugging a second cameraSergio Martins2015-02-051-6/+9
| | | | | | | | | | | | | | | | | | When having more than 1 camera (like one laptop integrated webcam and a separate one) you had to restart the application for QCameraInfo::availableCameras() to work. Change-Id: I47cfa928cfd9500524b81a4bf8ec5ebff0b79879 Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
* | Update copyright headersAntti Kokko2015-02-121-7/+7
|/ | | | | | | | | 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>
* Update license headers and add new license filesAntti Kokko2014-08-241-19/+11
| | | | | | | | | - 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>
* DirectShow: Refactor camera backend.Yoann Lopes2014-07-111-2/+24
| | | | | | | | | | | | | | | | | | | Almost entire rewrite of the camera backend. It doesn't provide new features but is more stable and behave as it should. - Correctly report camera state and status - Correctly report if the camera is ready to capture - Emit imageExposed() signal - Save captured images in an appropriate directory - Images can be captured even without a viewport - Better error handling Removed the custom QVideoWidgetControl as it doesn't provide anything more than the QVideoWidget's renderer control fallback. Task-number: QTBUG-33782 Change-Id: I9baf6f83e7c69619f20a101921f7865a1c90d5e4 Reviewed-by: Christian Stromme <christian.stromme@digia.com>
* New QCameraInfo class.Yoann Lopes2014-02-281-0/+17
| | | | | | | | | | | | | | | | | | | | 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>
* Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-02-191-1/+1
|\ | | | | | | | | | | | | | | | | | | Conflicts: src/multimedia/doc/qtmultimedia.qdocconf src/plugins/blackberry/mediaplayer/bbmetadata.cpp src/plugins/blackberry/mediaplayer/bbmetadata.h tests/auto/unit/qpaintervideosurface/tst_qpaintervideosurface.cpp Change-Id: I447c297ea15a94d1d2feb0fb5f9edac8c5d4505a
| * Update copyright year in Digia's license headersSergio Ahumada2013-01-101-1/+1
| | | | | | | | | | | | Change-Id: Ia8c1c38aba1544603fada8c414cc856f365fd15b Reviewed-by: Akseli Salovaara <akseli.salovaara@digia.com> Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
* | Fix MinGW64-warnings about unknown pragmas.Friedemann Kleint2013-02-141-2/+4
|/ | | | | Change-Id: I1bd2178f5986846aede371193e98b55e4bde6414 Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* Change copyrights from Nokia to DigiaIikka Eklund2012-09-241-24/+24
| | | | | | | | | 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>
* Use moniker display name for device string.Lev Zelenskiy2012-08-031-53/+4
| | | | | | | | Moniker names are unique, while device friendly names are not. Change-Id: Ic3e842e49d04c502cf5ad1fc40f89db657f0401a Reviewed-by: Michael Goddard <michael.goddard@nokia.com> Reviewed-by: Ling Hu <ling.hu@nokia.com>
* Updated plugins to use new plugin architectureJonas Rabbe2012-03-201-15/+0
| | | | | | | | | | | | | | | | | | | Changed QMediaPluginLoader to use QFactoryLoader instead of QPluginLoader and used metadata to get keys. Removed QAudioPluginLoader and changed audio classes to use instead use QMediaPluginLoader. The plugins must include the Q_PLUGIN_METADATA macro, and no longer use the Q_PLUGIN_EXPORT/Q_PLUGIN_EXPORT2 macros. A json file has been added for each plugin which can contain metadata which is available to the plugin loader before the plugin is actually loaded, and is used to read the keys for the plugin, e.g. supported services. QFactoryInterface will be deprecated and has been removed from all plugins. Change-Id: I035b82f9c9c65717bebf704d560ea8f891df21da Reviewed-by: Michael Goddard <michael.goddard@nokia.com> Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
* Moved QMediaServiceProvider to private header.Dmytro Poplavskiy2012-02-061-1/+1
| | | | | | | It's not intended to be used by applications. Change-Id: I2acc26180ebb5c2419438169827f39aaf4578389 Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
* Remove "All rights reserved" line from license headers.Jason McDonald2012-01-301-1/+1
| | | | | | | | | | 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>
* Update obsolete contact address.Jason McDonald2012-01-231-1/+1
| | | | | | | Replace Nokia contact email address with Qt Project website. Change-Id: Ie8cd560b6d9a2c6e552b6be1ad8bc96c80a6535c Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Update year in Nokia copyright headers.Jason McDonald2012-01-121-1/+1
| | | | | | | Update headers from before 2011 that were missed in the previous commit. Change-Id: Ib0fd91a39ffc57117fe01280e34519c3f914fac0 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Add Windows Media Foundation backend for QMediaPlayerMichael Goddard2011-07-251-0/+1
| | | | | | | | | | | | Task-number:QTMOBILITY-1606 Reviewed-by: Michael Goddard (cherry picked from commit bdf3a9b39661cfb836245139d02e95e854646a7e) (cherry picked from commit 8d2370953eb32bf44a037244e0d9f9b484875f7a) Change-Id: I07790b8c540a04e4e19a3d018a4884a773e980bf Reviewed-on: http://codereview.qt.nokia.com/2086 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Ling Hu <ling.hu@nokia.com>
* Remove most of the "mobility" references.Michael Goddard2011-07-191-1/+1
| | | | | | | | | Docs still need some fixing, but there are some legitimate usages of it there. Change-Id: I94c7b68788ce97829711a4384884d7e52fe84162 Reviewed-on: http://codereview.qt.nokia.com/1736 Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
* Update licenseheader text in source files for qtmultimediakit Qt moduleJyri Tahtela2011-07-081-17/+17
| | | | | | | | Replace old license header with correct one. Change-Id: Ibff8fbea6595bb80f1122d55db2194accd319308 Reviewed-on: http://codereview.qt.nokia.com/1318 Reviewed-by: Jyri Tahtela <jyri.tahtela@nokia.com>
* Initial copy of QtMultimediaKit.Michael Goddard2011-06-291-0/+211
Comes from original repo, with SHA1: 2c82d5611655e5967f5c5095af50c0991c4378b2