Commit Graph

39 Commits

Author SHA1 Message Date
Yoann Lopes
5a0a3791a1 DirectShow: implemented QCameraViewfinderSettingsControl2.
Change-Id: I42ed49676e2fbc7207d8fe4579ad1fc0d62df138
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
2015-02-26 15:56:27 +00:00
Antti Kokko
bbfccc7135 Update copyright headers
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>
2015-02-12 10:27:47 +00:00
Antti Kokko
2732e23887 Update license headers and add new license files
- 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>
2014-08-24 17:30:13 +02:00
Yoann Lopes
389d66b3ed DirectShow: Refactor camera backend.
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>
2014-07-11 18:47:12 +02:00
Yoann Lopes
b28ee24628 New QCameraInfo class.
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>
2014-02-28 14:10:00 +01:00
Frederik Gladhorn
c6ec402d25 Merge remote-tracking branch 'origin/stable' into dev
Change-Id: Ie93615076177662e75d46f3d13beeb88d424b4a6
2014-02-12 14:11:35 +01:00
Kai Koehne
7a02bcaad1 Replace win32-g++ with mingw scope
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>
2014-02-07 14:22:26 +01:00
Thiago Macieira
e4035bf6d0 Normalize signal & slot signatures in connection
Profiling shows Qt Creator spends 2% of its load time normalizing

Change-Id: I1a4bef16be79ced35c47da865153ebe1bee22f9c
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
2014-02-03 20:12:35 +01:00
Andy Shaw
9a16423610 Don't mirror the image from the camera unless it has been flipped
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>
2014-02-03 16:54:28 +01:00
Oswald Buddenhagen
5980bc41cf whitespace fixes
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>
2014-01-30 14:32:10 +01:00
Yoann Lopes
c74b544610 DirectShow: avoid unnecessary RGB32 -> BGR32 conversion.
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>
2013-07-19 14:43:26 +02:00
Yoann Lopes
d8e56bc4b8 DirectShow: Don't create the widget and renderer controls until requested.
Task-number: QTBUG-32282
Change-Id: If37ed4c35bcc2cc879f50d3b2ea3720b90603e9a
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
2013-07-19 12:35:20 +02:00
Friedemann Kleint
b604d96ba8 Make directshow-plugin available.
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>
2013-05-15 12:43:08 +02:00
Frederik Gladhorn
d396262bc9 Merge remote-tracking branch 'origin/stable' into dev
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
2013-02-19 17:15:56 +01:00
Friedemann Kleint
033d5859d2 DSVideoWidgetControl: Fix constructor order.
Change-Id: I804427867a0f400750ef1df423c89fb4948bb0a3
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
2013-02-14 13:25:01 +01:00
Friedemann Kleint
41dc5467bf Fix warnings about unused variables.
Change-Id: I147ff8624faa98396d6c48801c41a731fd02ac10
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
2013-02-14 13:24:58 +01:00
Friedemann Kleint
fc62718e98 Fix MinGW64-warnings about unknown pragmas.
Change-Id: I1bd2178f5986846aede371193e98b55e4bde6414
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
2013-02-14 13:24:53 +01:00
Friedemann Kleint
21552ae9aa DSVideoWidgetSurface: Pass on parent to base class.
Change-Id: If4f2819a0767234e5fffeafe1ab038cbf13bdd2a
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
2013-02-14 13:24:50 +01:00
Sergio Ahumada
157f4f982b Remove QT_{BEGIN,END}_HEADER macro usage
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>
2013-01-28 23:21:21 +01:00
Oswald Buddenhagen
4760e1fb02 make use of qtHaveModule()
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>
2013-01-11 15:15:05 +01:00
Sergio Ahumada
399500f87e Update copyright year in Digia's license headers
Change-Id: Ia8c1c38aba1544603fada8c414cc856f365fd15b
Reviewed-by: Akseli Salovaara <akseli.salovaara@digia.com>
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
2013-01-10 17:56:01 +01:00
Mark Brand
1e0b3d8625 fix include statements
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>
2012-12-24 12:39:38 +01:00
Joerg Bornemann
9f10ff8e9a fix build for standard DirectX install paths
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>
2012-12-06 11:48:26 +01:00
Friedemann Kleint
bce5525cbb QtMultimedia: Fix compiler warnings.
Change-Id: I5783b1f6dce645fb473e7d3da0911dbb40e3951b
Reviewed-by: Jonathan Liu <net147@gmail.com>
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2012-10-17 13:40:18 +02:00
Iikka Eklund
dcbbad869e Change copyrights from Nokia to Digia
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>
2012-09-24 09:05:51 +02:00
Lev Zelenskiy
eedfcdacce Change the way camera format is selected.
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>
2012-08-06 04:02:04 +02:00
Lev Zelenskiy
42cdb92543 Use moniker display name for device string.
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>
2012-08-03 06:01:13 +02:00
Michael Goddard
bba28afe55 Rename a few controls.
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>
2012-06-29 02:47:29 +02:00
Jonathan Liu
641474ab10 Fix MinGW-w64 compilation
Change-Id: I812b53e822947a9f85d6523722c6a4f9e57e0426
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-04-30 11:04:05 +02:00
Jason McDonald
5e801e2793 Remove "All rights reserved" line from license headers.
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>
2012-01-30 07:08:05 +01:00
Jason McDonald
6390157fd7 Update obsolete contact address.
Replace Nokia contact email address with Qt Project website.

Change-Id: Ie8cd560b6d9a2c6e552b6be1ad8bc96c80a6535c
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
2012-01-23 04:21:51 +01:00
Dmytro Poplavskiy
53d71baed3 Changed QCamera::captureMode property to QFlags
This enables the expression of extra camera modes like
viewfinder only or capture during video recording.

Change-Id: Ie02fdeef5eb7fd6fc2f133c1afb0141e37c22b06
Reviewed-by: Mithra Pattison <mithra.pattison@nokia.com>
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
2012-01-17 00:58:30 +01:00
Jason McDonald
0dca769d5a Update year in Nokia copyright headers.
Update headers from before 2011 that were missed in the previous commit.

Change-Id: Ib0fd91a39ffc57117fe01280e34519c3f914fac0
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
2012-01-12 01:08:31 +01:00
Michael Goddard
f7bfcdfa28 Remove widgets config test.
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>
2012-01-11 01:00:42 +01:00
Michael Goddard
c97f5f8c2e Properly handle the case where QtWidgets is not available.
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>
2012-01-06 05:26:01 +01:00
Gunnar Sletta
eedcc340f1 Compile with refactor
Change-Id: I248f811a13ca00ccbf5d342a556d389bca625856
Reviewed-on: http://codereview.qt-project.org/4940
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
2011-09-17 03:24:15 +02:00
Michael Goddard
fdac892bbc Remove most of the "mobility" references.
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>
2011-07-19 08:40:59 +02:00
Jyri Tahtela
a925bb4a9e Update licenseheader text in source files for qtmultimediakit Qt module
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>
2011-07-08 07:59:00 +02:00
Michael Goddard
2a34e88c1e Initial copy of QtMultimediaKit.
Comes from original repo, with SHA1:
2c82d5611655e5967f5c5095af50c0991c4378b2
2011-06-29 13:38:46 +10:00