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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
Update headers from before 2011 that were missed in the previous commit.
Change-Id: Ib0fd91a39ffc57117fe01280e34519c3f914fac0
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
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>
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>
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>