summaryrefslogtreecommitdiffstats
path: root/src/multimedia/camera
Commit message (Collapse)AuthorAgeFilesLines
* Fix QCameraInfo to be invalid if camera failed to find deviceVal Doroshchuk2019-01-181-2/+10
| | | | | | | | | Since QCameraInfo uses deviceControl and infoControl to get info about camera, it needs to clear these controls if the camera failed to find a device by name. Change-Id: I1404f70234f978fa4568b6c883a5676f61e08145 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* Merge remote-tracking branch 'origin/5.12' into devLiang Qi2019-01-111-24/+19
|\ | | | | | | | | | | | | | | Conflicts: .qmake.conf src/multimedia/camera/qcamera.cpp Change-Id: If06a4c6a7dde35d5b95abcc5213ff281dca9374e
| * Return ServiceMissingError if no camera found by nameVaL Doroshchuk2019-01-071-24/+19
| | | | | | | | | | | | | | | | If no camera devices found with requested name, the object should be invalid. Task-number: QTBUG-54901 Change-Id: I54037c5c7caad09da2df51eb0624eb0e88f12bf8 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* | multimedia: modernize by using nullptrJochen Seemann2019-01-046-61/+61
|/ | | | | | Change-Id: Id1084fec084b972aaa1d2389ee56ee831a821172 Reviewed-by: André Hartmann <aha_1980@gmx.de> Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
* Doc: Fix documentation warningsTopi Reinio2018-04-195-18/+19
| | | | | | | | | | | | Add a custom module header, used only for documentation builds, that pulls in also the QtMultimediaWidgets module. Several documentation fixes to clean up warnings from clang. Task-number: QTBUG-67790 Change-Id: I6c1013798a648250c8555eb92684ec3b33ff7531 Reviewed-by: Martin Smith <martin.smith@qt.io> Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* Merge remote-tracking branch 'origin/5.9' into 5.11v5.11.0-beta1Liang Qi2018-02-181-1/+1
|\ | | | | | | | | | | | | Conflicts: .qmake.conf Change-Id: I2af17ff905c26466fa1ea8b612dff3b505a3d33a
| * fix typo in QCameraImageProcessing documentationJochen Seemann2018-02-051-1/+1
| | | | | | | | | | | | | | Task-number: QTBUG-55660 Change-Id: I444bef63c0b8d9a9f9fdbce8e3ceabb067c1fe84 Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io> Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* | Replace Q_NULLPTR with nullptrKevin Funk2017-09-273-10/+10
| | | | | | | | | | Change-Id: I3b7601b4a97f8a2b1d2da6ef134f1577846ba713 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | Use qFuzzyCompare() instead of equality on floating-point valuesEdward Welbourne2017-03-221-1/+4
|/ | | | | | | | | | QCamera::FrameRateRange is a struct with two qreal members; its operator== was comparing the members; which triggered a -Wfloat-compare that's an error in developer builds. This is what qFuzzyCompare() takes care of, so use it. Change-Id: Id45a2a7e9b6ccbf575bdedb5b90889859899bf38 Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
* Merge remote-tracking branch 'origin/5.8' into 5.9Liang Qi2017-03-101-0/+6
|\ | | | | | | | | | | | | Conflicts: src/plugins/gstreamer/camerabin/camerabincontainer.h Change-Id: I4942d41d69112335fe0c994002f1b32ef3aad051
| * Suppress the -Wfloat-equal warningThiago Macieira2017-01-261-0/+6
| | | | | | | | | | | | | | | | | | qcamera.h:261:36: error: comparing floating point with == or != is unsafe [-Werror=float-equal] Task-number: QTBUG-57649 Change-Id: I15b62e0f9cec482fbb40fffd1490df20dda23c46 Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
* | Add missing override and remove redundant virtualAlexander Volkov2016-12-124-23/+23
|/ | | | | Change-Id: Ifd439abf21877adff57080489324bea729ee5279 Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
* Add proper global headers for QtMultimediaLars Knoll2016-11-231-1/+1
| | | | | | | And deprecate the old qtmultimediadefs.h Change-Id: I2d4164f3a51d8e5d1813413b4f6691a721386fdf Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
* Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-11-041-6/+4
|\ | | | | | | Change-Id: Ib038c5e3ebb48c0e46569a35d530fa5ceaf06a32
| * Add missing Q_DECL_CONSTEXPRChristian Strømme2016-11-011-6/+4
| | | | | | | | | | | | | | | | The functions were missing the constexpr specifier, and since the code was touched, the equality check was also updated to use qFuzzyCompare. Change-Id: Ib06c5e7927bef0ebe513a411e2bb79b433e3ccd7 Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
* | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-06-301-0/+3
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Blacklisted a few functions in tst_QAudioInput. Conflicts: .qmake.conf src/plugins/avfoundation/camera/avfcameracontrol.mm src/plugins/avfoundation/camera/avfcameraservice.h src/plugins/avfoundation/camera/avfcameraservice.mm src/plugins/avfoundation/camera/avfcamerasession.h src/plugins/avfoundation/camera/avfcamerasession.mm src/plugins/avfoundation/camera/avfcameraviewfindersettingscontrol.h src/plugins/avfoundation/camera/avfcameraviewfindersettingscontrol.mm src/plugins/avfoundation/camera/avfimagecapturecontrol.mm src/plugins/avfoundation/camera/avfimageencodercontrol.mm src/plugins/avfoundation/camera/avfmediarecordercontrol.h src/plugins/avfoundation/camera/avfmediarecordercontrol.mm tests/auto/integration/qaudioinput/BLACKLIST Task-number: QTBUG-54459 Task-number: QTBUG-49736 Change-Id: I3a1fe8cef50b44d5c2785aaf4cf69fe3f16728e6
| * QCameraPrivate: NULL-fill fields to be set up by init().Edward Welbourne2016-06-031-0/+3
| | | | | | | | | | | | | | | | | | | | | | c.f. the constructor already doing the same for provider and the various fields populated by initControls(), which init() calls. Should be redundant (all QCamera constructors do invoke d->init() as soon as they've constructed d), but better safe than sorry. Calms Coverity (CID 22319). Change-Id: Ibf5d13bb1ef17be8e66fa14ed5617b700051c495 Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
* | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-03-073-10/+10
|\| | | | | | | | | | | | | | | | | | | | | | | 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
| * Add explicit and make public headers compile with ↵Marc Mutz2016-03-033-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | -Wzero-as-null-pointer-constant ... or equivalent. QtBase 5.6 headers already compile that way, so let the other modules follow suit. Cleaned up placement of * and & in parameters as a drive-by. Added explicit where it was missing as a drive-by. This is not a source-incompatible change, because code that breaks by this is a bug. Let's not have this sitting around in an LTS. Task-number: QTBUG-45291 Change-Id: If81ed0c71393aee21d347f5ade4bf3fcc07cd82f Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
* | Updated license headersAntti Kokko2016-01-1915-210/+300
| | | | | | | | | | | | | | | | | | | | | | 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>
* | Camera: replace foreach with range-based forAnton Kudryavtsev2016-01-152-15/+15
| | | | | | | | | | Change-Id: Iedaad3bccea7a5d830f713d87240f5f957ae12c5 Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
* | Add camera brightness adjustment API.Denis Shienkov2015-11-232-0/+22
|/ | | | | | | | | | The brightness adjustment already exists in the control API but not in the QCamera and QML Camera APIs. Simply add the missing functions which call into the control API. Change-Id: I56a5aef3ae8bef9ca13c5a01d8282014f6e20830 Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
* Fix QCamera::lockStatus() documentation.Yoann Lopes2015-08-241-1/+1
| | | | | Change-Id: I1f7c063ef1e465ba658f637754b10b7af44b8373 Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
* Fix QCamera viewfinder capabilities functions..Yoann Lopes2015-08-182-3/+5
| | | | | | | | | | | | - Filtering the results for a specific pixel aspect ratio would return wrong values. - Correctly sort the frame rate ranges returned by supportedViewfinderFrameRateRanges(). Added missing auto-tests for all viewfinder capabilities functions. Change-Id: Idfb40d4139cc48a5996ce2ddd98131a2f5be76bb Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
* Fix qdoc warnings.Yoann Lopes2015-08-113-1/+26
| | | | | Change-Id: Ie351f33f88270186b7df0f9cd671fa4e31624231 Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
* QCameraViewFinderSettings: add missing includev5.5.0-rc1v5.5.0Marc Mutz2015-06-141-0/+1
| | | | | | | | | The header should not depend on indirect includes. It uses QSize in inline functions, so include the header. Change-Id: I3a5fca458ded47c98b7f71749ad75660c6e049e9 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* QCameraViewFinderSettings: make op== transitiveMarc Mutz2015-06-121-2/+2
| | | | | | | | | | | | | Using qFuzzyCompare in operator== makes it impossible to create a consistent qHash() overload for the class later on (qFuzzyCompare is not transitive). It is unlikely that there will be numerical instability for frame rates. If there is, qFuzzyCompare should be overloaded for either this class or the FrameRateRange class. Change-Id: Id975ea410b373e2987da160504f7618a8c498b5c Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* QCameraViewFinderSettings: declare sharedMarc Mutz2015-06-121-0/+7
| | | | | | | | | Requires implementing member-swap. Also implemented move assignment operator. Change-Id: I077ee85346a8c542cd344720e45a0795a6947e4c Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* QCameraViewFinderSettings: make op== non-memberMarc Mutz2015-06-122-16/+22
| | | | | | | | | ...and inline op!=. Mark them as nothrow. More idiomatic C++ (symmetry between lhs and rhs). Change-Id: I65ecbef961383897e4e17325ad62d45e1772fbb0 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* QCameraViewFinderSettings: use correct includeMarc Mutz2015-06-121-1/+2
| | | | | Change-Id: I71f24922872f64d86d55f420b0e27028a6368097 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Define QCamera::FrameRateRange as a struct.Yoann Lopes2015-06-112-7/+43
| | | | | | | | Instead of an alias for QPair<qreal, qreal>. Task-number: QTBUG-46563 Change-Id: I7e1ac68242810f7e5f7e161571a11f5de7850e29 Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
* Merge remote-tracking branch 'origin/5.4' into devFrederik Gladhorn2015-02-131-6/+5
|\ | | | | | | Change-Id: I5575a4ba13212c9bfe73a3de3ef17c6528beafc3
| * Fix some typosSergio Ahumada2015-02-111-1/+1
| | | | | | | | | | Change-Id: Iaf8f50741d3103480668b4a654a202d8a363bc45 Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
| * Clarify documentation for QImageCapture's 'ready' property.Yoann Lopes2015-02-101-5/+4
| | | | | | | | | | | | | | | | | | | | | | Unlike what was described in the documentation, it's not permissible to call capture() while 'ready' or isReadyForCapture() is false. All backends emit an error in that case. Updated the documentation to reflect that behavior. Change-Id: Icb326e65376b65eadd4c68b67e0ee30beddf1a04 Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com> Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
* | Update copyright headersAntti Kokko2015-02-1215-105/+105
| | | | | | | | | | | | | | | | | | 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>
* | New camera viewfinder settings API.Yoann Lopes2015-01-136-3/+671
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There already was a control interface for the viewfinder settings but no real public C++ API and a partial QML API. This patch adds a new C++ API and improves the QML API. Supported viewfinder settings are resolution, minimumFrameRate, maximumFrameRate and pixelFormat. The camera can be queried for the supported values for each of these settings. A new control interface was created to match the new API. Change-Id: I289fea038fe46277a5516c956a64280da09ed985 Reviewed-by: Andrew den Exter <andrew.den.exter@qinetic.com.au>
* | Add additional exposure modes to QCameraExposure.Andrew den Exter2014-11-282-0/+20
| | | | | | | | | | | | | | | | | | [ChangeLog][GStreamer][Android] Camera exposure mode extended to support Action, Landscape, NightPortrait, Theatre, Sunset, SteadyPhoto, Fireworks, Party, Candlelight, and Barcode modes. Change-Id: I13d4bb042d27c0bd2ffcd369882b56bbabc84335 Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
* | Add a color filter property to QCameraImageProcessing.Andrew den Exter2014-11-282-1/+79
| | | | | | | | | | | | | | [ChangeLog] New color filter property for QCameraImageProcessing. Change-Id: I999e349e3e4f284b533fa62ba50903fbd21cb400 Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
* | Allow supported camera locks to change after initialization.Andrew den Exter2014-11-282-21/+15
|/ | | | | | | | | A camera backend may not be able to report which locks it supports until after it is loaded, so query support on demand instead of caching the value available at construction time. Change-Id: I56fb1adee980ebc2fa893da3c983a6dce26329c0 Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
* Update license headers and add new license filesAntti Kokko2014-08-2413-244/+140
| | | | | | | | | - 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>
* Use Q_CONSTRUCTOR_FUNCTION macro to register multimedia meta types.Yoann Lopes2014-05-305-58/+33
| | | | | | Task-number: QTBUG-39131 Change-Id: I2493c9e3e6f0065d0441a74ff240d7d91fbe059c Reviewed-by: Christian Stromme <christian.stromme@digia.com>
* Fix crash in QCameraInfo when no camera is available on the system.Yoann Lopes2014-03-171-1/+1
| | | | | Change-Id: I04bea9d6afcf567c64788c3765cc6626dc9cd482 Reviewed-by: Christian Stromme <christian.stromme@digia.com>
* New QCameraInfo class.Yoann Lopes2014-02-289-115/+700
| | | | | | | | | | | | | | | | | | | | 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>
* Normalize signal & slot signatures in connectionThiago Macieira2014-02-031-2/+2
| | | | | | | Profiling shows Qt Creator spends 2% of its load time normalizing Change-Id: I1a4bef16be79ced35c47da865153ebe1bee22f9c Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* Use the backend to notify the QCamera state changes.Yoann Lopes2013-12-051-9/+1
| | | | | | | | | | We were emitting the stateChanged() signal no matter what was actually done by the backend. QCamera now emits this signal only if the backend actually changed the state. Task-number: QTBUG-35070 Change-Id: I9f32361cd815dbcc366ad30033692f9ae732ec46 Reviewed-by: Christian Stromme <christian.stromme@digia.com>
* Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-02-1910-20/+20
|\ | | | | | | | | | | | | | | | | | | 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 lupdate-Warning in qcamera.cpp.Friedemann Kleint2013-02-061-1/+1
| | | | | | | | | | | | | | qcamera.cpp:183: Cannot invoke tr() like this Change-Id: Ia8f29c02bbc4b91c6542d9ed44136094e1e8a2e1 Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
| * Doc: Fixed random QDoc warningsVenugopal Shivashankar2013-01-154-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | - Fixed \snippet paths - Minor language edits - Removed unnecessary multiple page commands in a single comment block. For example, \fn and \qmlsignal in a single comment block is not allowed. Such instances must be documented in separate comment blocks. Change-Id: I65f4518499e2600c4e1807356d4116c575e48c19 Reviewed-by: Andy Nichols <andy.nichols@digia.com> Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
| * Update copyright year in Digia's license headersSergio Ahumada2013-01-1010-10/+10
| | | | | | | | | | | | Change-Id: Ia8c1c38aba1544603fada8c414cc856f365fd15b Reviewed-by: Akseli Salovaara <akseli.salovaara@digia.com> Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
* | Remove QT_{BEGIN,END}_HEADER macro usageSergio Ahumada2013-01-285-20/+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>