summaryrefslogtreecommitdiffstats
path: root/examples/multimedia/camera/camera.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Camera example: Remove exposure sliderBror Wetlesen Vedeld2025-09-031-7/+0
| | | | | | | | | | | | | | QCamera API has no way of checking whether the "exposureCompensation" property is supported. This means the slider has no effect, and we have no mechanism for hiding it. This patch removes the slider from the example. Pick-to: 6.10 6.9 6.8 Fixes: QTBUG-124562 Change-Id: I18ae23cabdc46c77e99bf406d7364ac3406a9b9f Reviewed-by: Artem Dyomin <artem.dyomin@qt.io> Reviewed-by: Nils Petter Skålerud <nils.petter.skalerud@qt.io>
* tests/examples/quick: replace QScopedPointer with std::unique_ptrTim Blechmann2025-06-161-8/+8
| | | | | | | | No functional change Pick-to: 6.8 6.9 6.10 Change-Id: If829f59078cb4aab1af1d967665dfea2678ed756 Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
* Add HasHdrContent to QMediaMetaData::Key enumerationJøger Hansegård2024-05-141-5/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | The HasHdrContent metadata key can be used to determine if a video track potentially contains HDR video. QMediaMetaData::value(QMediaMetaData::HasHdrContent) will return true when the decoder reports that the video uses ColorTransfer_ST2084 or ColorTransfer_STD_B67. These are color transfers used with Dolby Vision videos, for example HDR video recorded with an iPhone. Note that even if HasHdrContent is true, the video may still not utilize the extended dynamic range. This simplified approach is chosen because it is fast, and does not require decoding video frames to determine the actual range being used. Qt Multimedia still does not support proper display of HDR content, but the new metadata key can be used to determine if the video is a SDR video that will be presented correctly. Supported on FFmpeg media backend only. Fixes: QTBUG-114427 Change-Id: I7361d8c61838a66a61d18a2b9e6c8d75a6bdbdb8 Reviewed-by: Artem Dyomin <artem.dyomin@qt.io> Reviewed-by: Tim Blechmann <tim@klingt.org>
* Polish the camera exampleFriedemann Kleint2023-03-301-12/+12
| | | | | | | | | | | | - Use modern string literals - Remove clearing of Qt::WindowContextHelpButtonHint (default in 6) - Order includes by module - Streamline code, introduce helper functions for clarity Pick-to: 6.5 Change-Id: Idaa56af5fb1c8472947a51ad68be7b1c98da73a4 Reviewed-by: Artem Dyomin <artem.dyomin@qt.io> Reviewed-by: Lars Knoll <lars@knoll.priv.no>
* Improve ffmpeg camera formats selection on darwin OSArtem Dyomin2023-03-201-21/+0
| | | | | | | | | | | | | | | | | | Handled a bunch of corner cases, briefly they are: - handle the case when ffmpeg videotoolbox doesn't support format. From now, it's optionally available to use sw frame or choose another format. Both approaches are working, but for now, the first one is prefferable. - handle the rare case when device output formats don't contain camera format. - improve the best camera format selection, it'll take into account an opoortunity to use hw acceleration for the format. - improve logging. Task-number: QTBUG-109009 Pick-to: 6.5 Change-Id: I82773f73a47bc1d22730f1e5ec2eaacbfa4ec1b1 Reviewed-by: Lars Knoll <lars@knoll.priv.no>
* Adjust multimedia examples to use new QPermission APIIvan Solovev2023-02-081-0/+44
| | | | | | | | | | | | | | | | Now when the library itself does not request permissions, that needs to be done on the user application level. This patch updates all examples to query the required permissions. As there is no QML API yet, the QML examples do it directly from main. Note: the WRITE_EXTERNAL_STORAGE Android permission is not handled by this patch, because it's currently not supported by the QPermission API. Task-number: QTBUG-109965 Change-Id: Iaeb09f9e32fced0ecb0f5ffc63d40c64ec386cfb Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Include moc_*.cpp files in QtMM examplesArtem Dyomin2022-12-131-0/+2
| | | | | | | | | | | | | | | | The reason of the refactoring is following the common approach that leads to reducing compilation time and binary size. - logic hasn't been touched - some headers have been decoupled into header and cpp or renamed - the same refactorings of main QtMM code, tests, plugins are coming in the next commits Task-number: QTBUG-103290 Pick-to: 6.5 6.4 Change-Id: I5ec4c7b651ebb81879b8a7be8659e66d52af0d90 Reviewed-by: Lars Knoll <lars@knoll.priv.no>
* Fix issues in camera exampleArtem Dyomin2022-11-111-21/+18
| | | | | | | | | | - fix memory leak - QImageCapture - fix multimple signals connection Pick-to: 6.4 Change-Id: I63df2bd16f678c67a3ee90c7e7251575d9cdeb1e Reviewed-by: Piotr Srebrny <piotr.srebrny@qt.io> Reviewed-by: Lars Knoll <lars@knoll.priv.no>
* Examples: C++ style cleanupKai Köhne2022-09-071-39/+42
| | | | | | | | | | | | | Run clang-format on all files. Unify the headers to use the canonical include variants: single class includes instead of #include <QtGui>. Finally, using signals and slots instead of Q_SIGNALS and Q_SLOTS. Pick-to: 6.4 Change-Id: I033dad85a4a25600ec4e3171bede8b98e584cf5d Reviewed-by: Lars Knoll <lars@knoll.priv.no>
* Let examples show up in Qt Creator againKai Köhne2022-09-051-0/+387
Fix an issue where the relative paths in the generated examples-manifest.xml did miss the parent directory, effectively blocking the examples from being shown in the Qt Creator Welcome screen. This broke in commit c403e775f60a, where the exampledirs path was changed from "../../../examples" to "../../../examples/multimedia" and "../../../examples/multimediawidgets". This made qdoc miss the "multimedia" and "multimediawidgets" directories in the generated paths. To fix this, the patch * moves all the multimediawidgets examples to multimedia * sets examplesinstallpath to "multimedia" The unification of directories is needed because there can be only one examplesinstallpath per qdoc project. Pick-to: 6.4 Fixes: QTBUG-104943 Change-Id: I4d1b1f857563ec23b4d60028ca08d0470ba96298 Reviewed-by: Nicholas Bennett <nicholas.bennett@qt.io> Reviewed-by: Lars Knoll <lars@knoll.priv.no>