summaryrefslogtreecommitdiffstats
path: root/src/plugins/directshow
Commit message (Collapse)AuthorAgeFilesLines
* Update license headers and add new license filesAntti Kokko2014-08-2446-872/+504
| | | | | | | | | - 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>
* Ensure the system libraries are linked against when -no-opengl is usedAndy Shaw2014-07-241-1/+3
| | | | | | Task-number: QTBUG-40406 Change-Id: I1e166a5003f524cdeb4a53d78a382a6b11719b6a Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* DirectShow: Refactor camera backend.Yoann Lopes2014-07-1115-1417/+615
| | | | | | | | | | | | | | | | | | | 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>
* Fix static initialization order fiasco in some plugins.Yoann Lopes2014-06-061-73/+80
| | | | | | | | | Some static variables were initialized using QMediaMetaData values, which are also statically initialized. Task-number: QTBUG-39202 Change-Id: Ibedc0a77d96cdfa575aad122c4ec654e6830e1f7 Reviewed-by: Andrew den Exter <andrew.den.exter@qinetic.com.au>
* DirectShow: remove debug output.Yoann Lopes2014-05-191-7/+0
| | | | | | Task-number: QTBUG-38924 Change-Id: Ibc08fd99f6eb10035e4d7da963d4d384012bbdbf Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
* DirectShow: fix media seeking while stopped.Yoann Lopes2014-04-072-0/+14
| | | | | | | | | | When changing the position of a media player while stopped, playback was automatically resuming. We now cache the value and actually set the position only when starting playback. Task-number: QTBUG-38068 Change-Id: Ib35302e01967d70350125f9ad920551df2a3c25b Reviewed-by: Christian Stromme <christian.stromme@digia.com>
* New QCameraInfo class.Yoann Lopes2014-02-283-1/+22
| | | | | | | | | | | | | | | | | | | | 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 Gladhorn2014-02-122-3/+39
|\ | | | | | | Change-Id: Ie93615076177662e75d46f3d13beeb88d424b4a6
| * Don't mirror the image from the camera unless it has been flippedAndy Shaw2014-02-032-3/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The camera itself can have a mode set that causes the image to be flipped so instead of always mirroring the image that is taken from the camera we check for the supported modes first and then check the mode and only mirror if it is set. Otherwise we assume that it does not need horizontally flipping but that it needs vertically flipping which seems to be the standard for cameras on Windows. [ChangeLog][QtMultimedia][Windows] Fixed the incorrect mirroring of the image from the camera Task-number: QTBUG-30365 Change-Id: I166b1f354e8d91c9a6c64f64164d782b52df98d8 Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* | Replace win32-g++ with mingw scopeKai Koehne2014-02-072-4/+2
| | | | | | | | | | | | | | | | | | | | Commit 773dd01 in qtbase introduced a general mingw platform scope, which is cleaner and more flexible than matching the spec name. (see 278152fff for a similar commit in qtbase). Change-Id: Ib46b9e83f690b0b26933b73764c7d7d4b031d792 Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* | Normalize signal & slot signatures in connectionThiago Macieira2014-02-031-4/+4
| | | | | | | | | | | | | | Profiling shows Qt Creator spends 2% of its load time normalizing Change-Id: I1a4bef16be79ced35c47da865153ebe1bee22f9c Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* | whitespace fixesOswald Buddenhagen2014-01-3012-34/+34
|/ | | | | | | | remove trailing spaces & expand tabs. Change-Id: I05ef110abed90f13b47752760ffb4567a11a6a5e Reviewed-by: Yoann Lopes <yoann.lopes@digia.com> Reviewed-by: Tony Sarajärvi <tony.sarajarvi@digia.com>
* DirectShow: fix compilation with MSVC 2008.Yoann Lopes2013-10-311-35/+35
| | | | | | Task-number: QTBUG-34479 Change-Id: I48ab0760273e08678be5f057e2b39db8cbe10cff Reviewed-by: Christian Stromme <christian.stromme@digia.com>
* DirectShow: improve metadata support.Yoann Lopes2013-10-114-95/+345
| | | | | | | | | | Correctly return the list of available metadata. On Windows Vista and later, we now use shell properties to retrieve the metadata. This allows us to get much more metadata properties. Task-number: QTBUG-30776 Change-Id: If542756d08d832903984ef10d09c4caf410bdb1c Reviewed-by: Christian Stromme <christian.stromme@digia.com>
* DirectShow: avoid unnecessary RGB32 -> BGR32 conversion.Yoann Lopes2013-07-191-1/+1
| | | | | | | | | Frames in the RGB32 format are actually using the BGR byte order, no need to do the conversion. Task-number: QTBUG-29206 Change-Id: I13527bd9dacc8330df78beb0965b31469c1d7a87 Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* DirectShow: Don't create the widget and renderer controls until requested.Yoann Lopes2013-07-192-15/+31
| | | | | | Task-number: QTBUG-32282 Change-Id: If37ed4c35bcc2cc879f50d3b2ea3720b90603e9a Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* Fix resource leak in directshow plugin.tommyadam2013-07-041-0/+4
| | | | | | | | | Add two missing release calls to free file handles. Task-number: QTBUG-23822 Change-Id: I8f5b6d0dcf9ad66bdaa2f378c0d3e401388d7add Reviewed-by: Wouter Huysentruit <wouter.huysentruit@dzine.be> Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* Multimedia plugins now have a unique JSON metadata 'Keys' property.Yoann Lopes2013-06-212-2/+4
| | | | | | | | | | | | | | | | | | | | | 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>
* Make directshow-plugin available.Friedemann Kleint2013-05-155-4/+17
| | | | | | | | | | | | | | | No longer include <qedit.h> in directshow-plugin, which no longer ships in newer SDKs. Ensure it only provides the camera service if the WMF-plugin is built by using a different .json-file. Adapt qcamerabackend-test to use widgets. Task-number: QTBUG-28047 Change-Id: I22ea441b9edb56ff55bc275dba37c01c77d8dd90 Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* Decouple qmediametadata.h from qmultimedia.hSze Howe Koh2013-05-141-1/+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>
* Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-02-1951-57/+84
|\ | | | | | | | | | | | | | | | | | | 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
| * Fix: Bug fix in determination of scanline directionWouter Huysentruit2013-01-142-6/+33
| | | | | | | | | | | | | | YUV and other compressed frame formats are always TopToBottom. Only for uncompressed RGB formats the sign of their height is used to indicate the scanline direction. Change-Id: I6474783583672861eeeb538b79d14ee3d6995f59 Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@gmail.com>
| * make use of qtHaveModule()Oswald Buddenhagen2013-01-113-3/+3
| | | | | | | | | | | | | | 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-1048-48/+48
| | | | | | | | | | | | Change-Id: Ia8c1c38aba1544603fada8c414cc856f365fd15b Reviewed-by: Akseli Salovaara <akseli.salovaara@digia.com> Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
* | Fix MinGW-warnings about mismatched types.Friedemann Kleint2013-02-143-5/+6
| | | | | | | | | | Change-Id: I6170e3aa49f5b60ba68c1ef5bb2c6c7ec6688060 Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* | DSVideoWidgetControl: Fix constructor order.Friedemann Kleint2013-02-141-1/+2
| | | | | | | | | | Change-Id: I804427867a0f400750ef1df423c89fb4948bb0a3 Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* | Fix warnings about unused variables.Friedemann Kleint2013-02-147-1/+15
| | | | | | | | | | Change-Id: I147ff8624faa98396d6c48801c41a731fd02ac10 Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* | Fix MinGW64-warnings about unknown pragmas.Friedemann Kleint2013-02-142-5/+11
| | | | | | | | | | Change-Id: I1bd2178f5986846aede371193e98b55e4bde6414 Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* | DSVideoWidgetSurface: Pass on parent to base class.Friedemann Kleint2013-02-141-0/+1
| | | | | | | | | | Change-Id: If4f2819a0767234e5fffeafe1ab038cbf13bdd2a Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* | Remove QT_{BEGIN,END}_HEADER macro usageSergio Ahumada2013-01-287-28/+0
|/ | | | | | | | | The macro was made empty in qtbase/ba3dc5f3b56d1fab6fe37fe7ae08096d7dc68bcb and is no longer necessary or used. Discussed-on: http://lists.qt-project.org/pipermail/development/2013-January/009284.html Change-Id: Id95d10f5d9c146d9eb496119af6a8b8501ffcb17 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
* fix include statementsMark Brand2012-12-244-4/+4
| | | | | | | | Names are case sensitive when cross bulding for mingw on unix. Change-Id: I355b9388241c7c5fefb05b6f0c231efec4530c7e Reviewed-by: Michael Goddard <michael.goddard@nokia.com> Reviewed-by: Jonas Rabbe <jonas.rabbe@gmail.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>
* fix build for standard DirectX install pathsJoerg Bornemann2012-12-061-1/+1
| | | | | | | | | Evaluate the environment variable DXSDK_DIR at qmake time. This makes sure, the contents get properly quoted, even if the DirectX SDK is installed into a path that contains spaces. Change-Id: Id22f56448eef4d392af77e97f46308f1b486c7c7 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Rename namespace QtMultimedia::MetaData -> QMediaMetaDataSze Howe Koh2012-11-061-53/+53
| | | | | | | | | | | | | | | | | | 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-7/+2
| | | | | | | | | | 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>
* QtMultimedia: Fix compiler warnings.Friedemann Kleint2012-10-171-1/+0
| | | | | | Change-Id: I5783b1f6dce645fb473e7d3da0911dbb40e3951b Reviewed-by: Jonathan Liu <net147@gmail.com> Reviewed-by: Kai Koehne <kai.koehne@digia.com>
* Change copyrights from Nokia to DigiaIikka Eklund2012-09-2448-1152/+1152
| | | | | | | | | 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>
* remove references to qMemSet & qMemCopyOswald Buddenhagen2012-09-123-6/+6
| | | | | Change-Id: Ie6e24798368305fb1eaa01d0e5fccdb5bb5aa33b Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Change the way camera format is selected.Lev Zelenskiy2012-08-061-20/+36
| | | | | | | | | | | Build list of supported formats before starting directshow graph. Select first available format supported by both device and surface. Force DirectShow to do color space conversion instead of using QImage. Change-Id: I8f946cc7c2693eea0135981e899003b453bd8784 Reviewed-by: Michael Goddard <michael.goddard@nokia.com> Reviewed-by: Jonas Rabbe <jonas.rabbe@gmail.com> Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
* Use moniker display name for device string.Lev Zelenskiy2012-08-034-148/+92
| | | | | | | | 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>
* Fix compilation issue with MinGW (disables the usage of strsafe.h).Lukas Geyer2012-07-251-0/+4
| | | | | | | | | | | Recent versions of MinGW include strsafe.h in dshow.h. strsafe.h undefines all non-safe string functions, including vsprintf and others, to prevent their usage. This causes QString and others to fail. Defining NO_DSHOW_STRSAFE before including dshow.h prevents this behaviour. Change-Id: I012fecbabc5c11900486c1dfdc970a00613ef6f7 Reviewed-by: Michael Goddard <michael.goddard@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>
* Rename a few controls.Michael Goddard2012-06-296-8/+8
| | | | | | | | | | 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-2/+0
| | | | | | | | | | | | | | | | | - 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>
* switch to new-style configure testsOswald Buddenhagen2012-06-251-2/+2
| | | | | Change-Id: Ib56d0cb24065c1f990aee5d7f41bfedfe75332a1 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* Fix build on Windows with new qdatetime.h that doesn't redefine min/maxSimon Hausmann2012-06-131-1/+1
| | | | | | | | | | Windows system header files redefine min/max, unless NOMINMAX is defined. In some cases we can simply include qt_windows.h, which does the trick, in other cases including qt_windows.h produces different compilation errors and it's simpler to just do the NOMINMAX trick. Change-Id: I3cf81bab7c239363adfa274f158bdf999d1d3ecd Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix MinGW-w64 compilationJonathan Liu2012-04-302-1/+4
| | | | | Change-Id: I812b53e822947a9f85d6523722c6a4f9e57e0426 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Build fix on WindowsYuchen Deng2012-03-271-1/+1
| | | | | Change-Id: I2666a81837dc78342b03a7cb5a33b406fd917661 Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
* Updated IID, services, and controls to use qt-project URLJonas Rabbe2012-03-202-2/+2
| | | | | | | | | Instead of com.nokia.qt we should use org.qt-project.qt. All the identifiers have also been updated to use pure lowercase, and where used the version numbers have been updated to 5.0. Change-Id: Ib209327f5205f5a086a5932394504a8a52e1f712 Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
* Updated plugins to use new plugin architectureJonas Rabbe2012-03-204-16/+8
| | | | | | | | | | | | | | | | | | | 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>