summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'origin/tqtc/lts-5.15.13' into ↵v5.15.13-lts-lgpl5.15Tarja Sundqvist2024-01-045-4/+74
|\ | | | | | | | | | | tqtc/lts-5.15-opensource Change-Id: I3b153fa928169f990cd278566dda2f7c7706a015
| * Android: Handle Pause() by QAudioRecorderBartlomiej Moskal2023-01-054-4/+68
| | | | | | | | | | | | | | | | | | | | Add implementation for pause() method for the QAudioRecorder on the Android side. Fixes: QTBUG-106897 Fixes: QTBUG-105505 Change-Id: Ie98b35c2c5dcb09c141c0216ba01c732e85e75a4 Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
| * Fix access to multi front/back cameras on Android devicesAndrey Yaromenok2022-12-161-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | Allow to access second (and more) front or back cameras on Android devices by adding a counter number at the end of additional camera name and description (don't need to brake current code compatibility or confuse majority of the users with only one front/back cameras on their devices) Fixes: QTBUG-59726 Change-Id: Icecb3af7521d4bbd3fbb0b953895c045cfdbf60a Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
* | Merge remote-tracking branch 'origin/tqtc/lts-5.15.12' into ↵v5.15.12-lts-lgplTarja Sundqvist2023-10-1111-28/+119
|\| | | | | | | | | | | tqtc/lts-5.15-opensource Change-Id: I6a330e383bb573bd7ba6cfea7e8bce3e88de2d7a
| * Fix crash on macos13 with iphone cameraArtem Dyomin2022-12-021-6/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On macos13 new feature has been introduced: possibility using a camera of paired iphone on macos. The feature works but it's a bit buggy: AVCaptureDevice.hasFlash is true but none of flash modes is supported. Setting of not supported flash mode causes exception. The exeptions happens when setting AVCaptureFlashModeOff, but, in theory, it can occur in other corner cases. Documentation recommentds to check if flash mode supported in order to avoid exceptions. So, what's done: - checking of supported flash and torch modes before setting - use captureDevice.isFlashAvailable not only for mac os since ios camera can be paired Task-number: QTBUG-108018 Change-Id: I42772edb4c26481283d1bd321914bf40284efde9 Reviewed-by: Doris Verria <doris.verria@qt.io>
| * VideoOutput: Always update geometry when video surface format changesDoris Verria2022-10-211-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the video surface format changes, the video output's _q_updateNativeSize() slot is called as a response. Inside this slot, we mark the geometry as dirty (needing update) only if the native size was changed. However, this is not the only case that would require a geometry update. In the case where the video surface format's scanline direction changes, and this can happen when the pixel format changes (eg: for uncompressed RGB formats the scanline direction depends on the sign of the bitmap height, for YUV is always TopToBottom, etc.), the geometry needs to update too, otherwise the video may appear vertically flipped. To fix, always mark the geometry as dirty when inside the _q_updateNativeSize() slot. As this is called only whenever the video source format changes or the dimensions of the video output change, it won't lead to many unnecessary calls to update the geometry. Fixes: QTBUG-96746 Change-Id: I7d1d3a0b8e7b7122b7e64dfdd7c1de4098d7daf8 Reviewed-by: Lars Knoll <lars@knoll.priv.no>
| * VideoOutput: fix resize of a finished videoIvan Solovev2022-10-181-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit d9dd7f4896cbc0fe1dc37e517c28315419e6ffcd introduced a fix for video startup. However, after this change, the VideoOutput was no longer updating its geomerty after the video playback is finished. This patch partly reverts the aforementioned commit, triggering backend geometry update unconditionally. However, to keep the fix of QTBUG-76205 valid, the m_geometryDirty flag is set to true under the same conditions as in the original patch. This will potentially lead to more m_backend->geometryUpdate() calls than before, but should generally be fine. Fixes: QTBUG-106059 Task-number: QTBUG-76205 Change-Id: I4e5d8aeef2b8bcc4596f73571cb7a2d3ec5d3200 Reviewed-by: Lars Knoll <lars@knoll.priv.no>
| * Windows: Fix cropping for HEVC-encoded videosAndré de la Rocha2022-09-289-17/+95
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The cropping info associated with HEVC-encoded video files was not being applied and as a result some videos could show garbage on the borders of the actual video contents, since instead of the source frames width and height, the sizes in pixels of the buffers used by the encoding algorithm, which are padded to multiples of some power of two, were used. Root cause seems to be a bug in Media Foundation or incompatibility with the Windows HEVC decoder, as the API is returning buffer sizes where sizes of actual video contents should be returned. It works as expected for other video formats. This patch makes the QtMultimedia decoder enforce the actual video dimensions obtained through the file's metadata. Fixes: QTBUG-105381 Change-Id: I2d67c64f07de489edd1d274060eccd5a4d69bafe Reviewed-by: Piotr Srebrny <piotr.srebrny@qt.io> Reviewed-by: Lars Knoll <lars@knoll.priv.no> (cherry picked from commit 65345a04c67c585c4d38d56cb1416a3033434aaf) Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* | Merge remote-tracking branch 'origin/tqtc/lts-5.15.11' into ↵v5.15.11-lts-lgplTarja Sundqvist2023-06-095-9/+30
|\| | | | | | | | | | | tqtc/lts-5.15-opensource Change-Id: I3279e8339e4fadcc6d5aaafa01e4b15a92168a6c
| * QAudioHelpers: fix C++20 -Werror,-Wdeprecated-enum-float-conversionMarc Mutz2022-08-081-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Says Clang 10.0.0 -std=c++20: qaudiohelpers.cpp:71:44: error: arithmetic between enumeration type 'QAudioHelperInternal::signedVersion<unsigned char>::(anonymous enum at /home/marc/Qt/qt5/qtmultimedia/src/multimedia/audio/qaudiohelpers.cpp:63:5)' and floating-point type 'double' is deprecated [-Werror,-Wdeprecated-enum-float-conversion] pDst[i] = signedVersion<T>::offset + ((typename signedVersion<T>::TS)(pSrc[i] - signedVersion<T>::offset) * factor); ~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Fix by turning the enum { offset } into a static constexpr int instead. Manual conflict resolutions: - extended the fix to the Qt5-only quint{16,32} specializations which are missing from the Qt 6 code. For the quint32 code, chose uint as decltype(offset), because 0x8000'0000 is not a proper value for int, and the subtraction for which offset is used doesn't promote its arguents to int, like for quint{8,16}, but stays in uint space, so an uint offset is suitable. Task-number: QTBUG-104172 Change-Id: I92a22583fc5e1fc524364b64701aa8d416b82671 Reviewed-by: Lars Knoll <lars.knoll@gmail.com> (cherry picked from commit 94d43085b3f3327b2bf2d644c5f984391f608d3a) Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
| * Android: Align emit sequenceSamuel Mira2022-06-221-2/+13
| | | | | | | | | | | | | | | | | | Change the emit sequence according to match docs and other platforms. Fixes: QTBUG-104041 Change-Id: Ic7a3b25d0b0538414b5b467b57a61790238692ed Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
| * QNX: fix KHR image handlingRafael Roquetto2022-06-211-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Textures previously bound to KHR image sources cannot be reused/bound to a newly created KHR image - at least not on QNX. Ensure that a new texture is created before binding a new KHR image. Change-Id: I1b02034336e5685bb9836a79433ef63f5d8c855f Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Dan Cape <dcape@qnx.com> Reviewed-by: James McDonnell <jmcdonnell@blackberry.com> (cherry picked from commit 21dad3632dec5e5ea7c9d45bba927aba2b8e23ea) Reviewed-by: Rafael Roquetto <rafael.roquetto@qt.io>
| * Fix compile error on videonode pluginTunahan Erkoyuncu2022-05-261-0/+2
| | | | | | | | | | | | | | | | | | Fixes compile error on imx6 toolchains that uses old version of gst. Change-Id: Ic1c6d62355ab9208204583103e99a2c8b52acee2 Reviewed-by: Lars Knoll <lars.knoll@qt.io> (cherry picked from commit 85a1b7e3a6d91b018863aabe243f3fd03865733e) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
| * QPulseAudioSource: fix UB (memcpy() called with nullptr dest) in read()Marc Mutz2022-05-261-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | deviceReady() calls read(nullptr, 0), but calling memcpy() with a nullpt destination is UB, even if the length is simulateneously zero. Ditto applyVolume() (called from read()). Fix by guarding the memcpy() calls. Add assertions to indicate that for these functions, nullptr is valid input iff length is zero. Found by clangsa's core.NonNullParamChecker. Change-Id: I9006b0e933e196a7a212e0ebe2bd27f6b9552518 Reviewed-by: Rafael Roquetto <rafael.roquetto@qt.io> (cherry picked from commit 8df415d5bcf23462bedb4cb7601b909851ee15dd)
* | Merge remote-tracking branch 'origin/tqtc/lts-5.15.10' into ↵v5.15.10-lts-lgplTarja Sundqvist2023-04-242-19/+19
|\| | | | | | | | | | | tqtc/lts-5.15-opensource Change-Id: I8b7432f3108105699006c375f90bfe3ad0e5748c
| * Fix chunk sizing in QPulseAudioSinkAxel Spoerl2022-05-121-18/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QPulseAudioSink:write() takes a length parameter which is set to the qMin of itself and the return value of pa_stream_writable_size(). This method returns the number of bytes requested by the server, but not yet written. Unless data is buffered, the value is 0. That leads to length being set to 0 and no data being sent. In PulseOutputPrivate::writeData(), a loop was implemented calling QPulseAudioSink::write() up to 10 times for each data chunk. That forced data buffering and subsequently the return value of pa_stream_writable_size() to be > 0. This patch replaces the query of pa_stream_writable_size() with the nbytes value modified by pa_stream_begin_write(). It represents the maximum amount of bytes the pulseaudio server is ready to accept. The patch also removes the loop calling write up to 10 times as it becomes unnecessary. Fixes: QTBUG-60575 Change-Id: I316a5ac610c8540ab8f7fff4a3b0b1ee3d7e7ad5 Reviewed-by: Lars Knoll <lars.knoll@qt.io> (cherry picked from commit f1829a24d4c9a393f95d55c415daa80275a90b93) Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
| * Initialize m_material to nullptrAndy Shaw2022-04-121-1/+1
| | | | | | | | | | | | | | | | | | | | This ensures that on non macOS platforms that it will create a new material when required. Fixes: QTBUG-102316 Fixes: QTBUG-102413 Change-Id: Iaec9c7a5950f19bf0de046e4052234fe26472342 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* | Merge remote-tracking branch 'origin/tqtc/lts-5.15.9' into ↵v5.15.9-lts-lgplTarja Sundqvist2023-03-231-1/+1
|\| | | | | | | | | | | tqtc/lts-5.15-opensource Change-Id: I130d0256d152d5c8bf44db8f5218100d6ea898f0
| * Fix duration() with very long media with gstreamerJoni Poikelin2022-03-121-1/+1
| | | | | | | | | | | | Fixes: QTBUG-101450 Change-Id: I93ab8a9b788eb74b4ef2227b90e30a42a84b9fd6 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | Merge remote-tracking branch 'origin/tqtc/lts-5.15.8' into ↵v5.15.8-lts-lgplTarja Sundqvist2022-11-1117-873/+527
|\| | | | | | | | | | | tqtc/lts-5.15-opensource Change-Id: Ibcb201720a2949a9c57d8bafc83afcaf5d8e20e5
| * Remove the AVPlayerItemVideoOutput from player item when changing mediaDoris Verria2021-12-101-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | When updating the player item of the AVPlayer, make sure to remove the video output (AVPlayerItemVideoOutput) from it. It will be added again to the updated player item on the next call to copyPixelBufferFromLayer. This fixes issues where the last frame of the previous video source was sometimes flashed before rendering the new one. Fixes: QTBUG-87000 Change-Id: Iec66f0e27efe621d1992a2a0f9f5060aa51f7076 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
| * Use AVPlayerItemVideoOutput to generate video framesTor Arne Vestbø2021-12-0716-873/+514
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes rendering problems on M1 based Macs. It also unifies the rendering pipeline between macOS and iOS as much as possible, and avoids an intermediate copy to an FBO, Since AVPlayerItemVideoOutput produces GL_TEXTURE_RECTANGLE textures on macOS a new QAbstractVideoBuffer handle has been added that explicitly maps to GL_TEXTURE_RECTANGLE. We use this handle type internally in QSGVideoMaterial_Texture where we know how to blit GL_TEXTURE_RECTANGLE textures. To maintain compatibility for QAbstractVideoSurface consumers who expect GL_TEXTURE_2D textures we blit the rectangle texture to an FBO returned as QAbstractVideoBuffer::GLTextureHandle. Fixes: QTBUG-89803 Done-with: Lars Knoll <lars.knoll@qt.io> Change-Id: I36d22eafb63902ecc1097e138705812ef6a8cb71 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Doris Verria <doris.verria@qt.io>
| * Fix a memory leak in the camerabinsessionLars Knoll2021-11-301-0/+9
| | | | | | | | | | | | | | | | | | | | Properly unref the video and camera source objects when changing the input device. Fixes: QTBUG-93762 Change-Id: Ibaf08978b6915faa668ef0ab54b3bc0903daafad Reviewed-by: Piotr Srebrny <piotr.srebrny@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | Merge remote-tracking branch 'origin/tqtc/lts-5.15.7' into ↵v5.15.7-lts-lgplTarja Sundqvist2022-09-122-1/+4
|\| | | | | | | | | | | tqtc/lts-5.15-opensource Change-Id: I725962188e023f6a05333eca71cd14aa48ab7506
| * PulseAudio: Call pa_stream_flush() with PulseDaemonLocker lock heldAndreas Holzammer2021-10-011-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | The pa_stream_flush() must be called with pa_threaded_mainloop_lock() held, otherwise it is possible to corrupt internal PA state. The PulseDaemonLocker implements this lock and other pa_stream_flush() instances within qsoundeffect_pulse_p.cpp already instantiate the PulseDaemonLocker to claim the pa_threaded_mainloop_lock(). Add the missing locking to ::setVolume pa_stream_flush() call too. Change-Id: I667b1df669f839737c6cedb62ff66b612bdd65a0 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * Fix incorrectly generated CMake files for the QNX audio pluginJoerg Bornemann2021-09-201-0/+1
| | | | | | | | | | | | | | | | | | The .pro file for the QNX audio plugin did not set PLUGIN_CLASS_NAME, which led to incorrectly generated CMake files. Fixes: QTBUG-93747 Change-Id: Id91550959c935195262c3babbd8433ab151eac95 Reviewed-by: Teemu Holappa <teemu.holappa@qt.io>
* | Merge remote-tracking branch 'origin/tqtc/lts-5.15.4' into ↵v5.15.4-lts-lgplTarja Sundqvist2022-04-074-20/+250
|\| | | | | | | | | | | tqtc/lts-5.15-opensource Change-Id: I6568139d7193f5b04b50f0f31ddff4d9bac8e65a
| * AVFoundation: Only remove the video output if it is still attachedAndy Shaw2021-04-061-1/+2
| | | | | | | | | | | | | | | | | | | | | | If the video output is no longer attached then it will cause a crash if you try to remove it, so we need to check it is attached before removing. Change-Id: I90a119ae8e605ee88740248c94c7cea03acf4d50 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> (cherry picked from commit 8b72da5f4b2d81444c731bc4e8eafca59e693bf6) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
| * macOS: Fix video rendering on with OpenGL Core profilePablo Luis Garcia2021-03-303-19/+248
| | | | | | | | | | | | | | | | | | | | | | | | | | | | CoreAnimation OpenGL renderer only has support for pre 3.0 profiles. Changed CoreAnimation renderer to use a Metal texture for rendering and use a pixel buffer to share the texture data with an OpenGL texture, making it possible to render with 3.2+ profiles. Fixes: QTBUG-51064 Fixes: QTBUG-62694 Change-Id: I48a4a6e0d8fbc48170dfe82d1e71cd265d70179a Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io> (cherry picked from commit abab792c4f0977a4599e5b7b2e97a5ee586fe388) Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | Revert "Update commercial license headers"v5.15.3-lts-lgplTarja Sundqvist2021-03-25966-19977/+19977
|/ | | | | | | | | | | This reverts commit 80d46e3a5f64ff2456c40bdba63b6d5c69a32cdd. Revert of commercial license headers is required for Qt 5.15.3 opensource release. Task-number: QTBUG-91108 Change-Id: I5c64ffa120f916711e5cf01c828774f8456dec06 Reviewed-by: Akseli Salovaara <akseli.salovaara@qt.io>
* imx6 video plugin depends on gstreamerSamuli Piippo2021-02-171-1/+1
| | | | | | | | | | Build the imx6 videnode plugin only if gstreamer is available. Fixes: QTBUG-91154 Change-Id: Ifdbd88fb2fb40c3bc99c641936dd87ec36a42f59 Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io> (cherry picked from commit e10622759d179f8ae304c0bef8a6f56ea7d0dc23) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Doc: Fix typoPaul Wicking2021-02-101-1/+1
| | | | | | | | Fixes: QTBUG-90997 Change-Id: Ib007ebf6c9459df3583fd44b0347827514e90d83 Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io> (cherry picked from commit fcb3c8bfb84038462258ae242da9bcb8e9c2389e) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Update commercial license headersTarja Sundqvist2021-01-27966-19977/+19977
| | | | | | | | | | | | | | | | Updated header.COMM to files in tqtc-qtmultimedia. Examples, tests or documentation files are not updated. The commercial license header may contain some additional lines so that its line count equals with the earlier license header. Reaso for this is that some autotests use hard coded line numbers and a change in the line count causes failures in tests. Task-number: QTQAINFRA-4171 Change-Id: I86ebf7c3653b55983cefff246c0cb019cbcda8c4 Reviewed-by: Akseli Salovaara <akseli.salovaara@qt.io>
* Revert "Map QVideoFrame::Format_Y8=>QImage::Format_Grayscale8 in QVideoFrame"Andy Shaw2020-11-302-6/+2
| | | | | | | | | | | | This reverts commit 2b96c113cf7057b556856149114999b973b3f2c2, due to the fact that it introduces a problem with existing cameras on Windows. So reverting for now until a fix can be found. Change-Id: Ica59c8a68de7aecf6a4ebd1bd044363e9acefd93 Reviewed-by: Liang Qi <liang.qi@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> (cherry picked from commit 67d1ff140e60e3372d05fc7af2cf85de891a31f0) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Fix nullptr dereference in directshow pluginLuca Carlon2020-10-211-1/+2
| | | | | | | | | | Init pointer before trying to dereference it in directshow plugin. This fixes a crash trying to play a video when QT_DIRECTSHOW_NO_EVR is set. Change-Id: Ie42eff035bd7fe173ca629c68b1228dc760c717d Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> (cherry picked from commit c6e934601a3405f80c601aac207b09588e291b89) Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* DirectShow: Use also pin category when negotiatingVal Doroshchuk2020-09-244-42/+57
| | | | | | | | | | The pin should be negotiated once and use PIN_CATEGORY_CAPTURE. The same logic is implemented in chromium. Change-Id: I89ac13c1a7e982c1011b2a872e853ee5bc2036b2 Reviewed-by: Andy Shaw <andy.shaw@qt.io> (cherry picked from commit bf82ab669c53c4b9abb724e197252a788323095e) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Gstreamer: fix camerabin's supported focus point modeRatchanan Srirattanamet2020-09-231-2/+0
| | | | | | | | | | | | | | Commit be7fef656a1d087d3d1d3fa102da4fce85855935 (Add support for face detection focus point mode to camerabin backend.) updated camerabin's isFocusPointModeSupported() to indicates face detection mode support. However, it forgets to remove the old code that says only auto and custom is supported, making the face detection never reported as supported. Change-Id: I76627e0b72fb94cd1370bc990edd6c748086a5d9 Reviewed-by: Val Doroshchuk <valentyn.doroshchuk@qt.io> (cherry picked from commit ce6440c999c34a2b80fa25121e893eccf68203a5) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* CameraBin: unset GValues after finish using themRatchanan Srirattanamet2020-09-111-0/+3
| | | | | | | | | | | GValue can contain allocated memory. Not unsetting it can cause memory leak. This patch adds g_value_unset() calls to various places that miss ones. Change-Id: I78e0f8f6c558ada0e7828c11094132359c579c2a Reviewed-by: Val Doroshchuk <valentyn.doroshchuk@qt.io> (cherry picked from commit 24ac478e50dab189b53c749b34971a807aa6da4d) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* AVF: Introduce QCameraCaptureDestinationControl_iidVal Doroshchuk2020-09-107-11/+169
| | | | | | | | | | | | | | | | | | | | | Can be used like: QCameraImageCapture->setCaptureDestination( QCameraImageCapture::CaptureToBuffer | QCameraImageCapture::CaptureToFile); Both CaptureToBuffer and CaptureToFile are supported. If CaptureToBuffer is requested, then it sends imageAvailble signal If CaptureToFile is requested, it sends imageSaved imageCaptured is sent only if there is the video frame available. (e.g. when abstract video surface is used as viewfinder) Fixes: QTBUG-85470 Change-Id: If22281e4d0eacfb0d38f8b1c8b676191817f592e Reviewed-by: Ihor Dutchak <ihor.youw@gmail.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> (cherry picked from commit cdd87907722aff14c393dba02b7e43c924b60d06) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* GStreamer: Update render rect only if open gl sink is usedVaL Doroshchuk2020-07-201-1/+3
| | | | | | | | | | Only glimagesink requires updated render rect. Change-Id: Ib30bf364edda4cd088a1202bbd5c958b552ba999 Fixes: QTBUG-85545 Reviewed-by: Val Doroshchuk <valentyn.doroshchuk@qt.io> (cherry picked from commit a553c7d1b63defc963a043e363f8d75d255e9c72) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Compile with QT_NO_BEARERMANAGEMENTAndy Shaw2020-07-064-1/+25
| | | | | Change-Id: Ibd23ac674e8ba5c0b2d3cea619d0f823a058baab Reviewed-by: Val Doroshchuk <valentyn.doroshchuk@qt.io>
* Don't map QMemoryVideoBuffer when there is no data insideVaL Doroshchuk2020-06-301-1/+1
| | | | | | | | Task-number: QTBUG-85202 Change-Id: If40af4af211af86311c0e04a8bdd0627dc34a939 Reviewed-by: Andy Shaw <andy.shaw@qt.io> (cherry picked from commit d97efea0caaa9741f21e7e30b394d292ea80c9b0) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Doc: minor fixes re the camera documentationAndy Shaw2020-06-151-1/+1
| | | | | | | Change-Id: I8fbff45f5ebae681ab37cfd0ab0acb79eec88864 Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io> (cherry picked from commit f730fa8d3eaefdcd44f57c49c468344da56bb041) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Add missing overrideAlexander Volkov2020-06-109-127/+127
| | | | | | | Change-Id: I0ec719a26ad6c146e44f8e9e41b186a53cb254a9 Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io> (cherry picked from commit 121c0c4028d6deceded8e600959f10c364986634) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* CoreAudio: Don't apply audio category if it is not neededVal Doroshchuk2020-06-094-18/+12
| | | | | | | | | | | | | | | | | | | If just devices are requested, no need to apply any categories with activation of audio device. Postpone setting category and activating audio until actual playing is requested. Categories/options for input devices: AVAudioSessionCategoryPlayAndRecord with AVAudioSessionCategoryOptionMixWithOthers For output: AVAudioSessionCategoryAmbient with no options. Fixes: QTBUG-83776 Change-Id: I9364bdea2882bc23039817207eca62b311841ba6 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> (cherry picked from commit b5a55492a63cb2cda75d6f980acb7fc5ae8dfc22) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* GStreamer: Start playback when bufferedVaL Doroshchuk2020-06-091-1/+1
| | | | | | | | | | | Regression since d8d072417b08dd75734b3f0aa86c3a49db934770 Fixes: QTBUG-84556 Change-Id: I557ac7eb38ebdbb6c52e5348902ee8c3f1a91f07 Reviewed-by: <roman.valov@gmail.com> Reviewed-by: Andy Shaw <andy.shaw@qt.io> (cherry picked from commit 19cc3a018f2442221d566ec56bda2bdbdce7ec2e) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* AVFoundation: fix playback of files with spaces in their namesNick Korotysh2020-06-021-7/+7
| | | | | | | | | | | | | | | | | | Used QUrl::toEncoded() instead of QUrl::toString(). Usage of QUrl::toString() leads to URLs which can contain spaces and as result such URLs are not accepted by AVPlayer, and it remains in unknown state because AVFMediaPlayerSession::processLoadStateChange() is not called at all. And as result, QMediaPlayer waits media loading forever. [ChangeLog][Platform Specific Changes][AVFoundation] Fixed playback of files with spaces in their names. Fixes: QTBUG-84585 Change-Id: I69e522d048d88310803a7040f114ee808c18720b Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io> (cherry picked from commit 9c16be3d9d956f612dda431f4883eab3b09a8b67) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Map QVideoFrame::Format_Y8=>QImage::Format_Grayscale8 in QVideoFrameVaL Doroshchuk2020-06-022-2/+6
| | | | | | | | Fixes: QTBUG-52455 Change-Id: I30582582935ae0a2c5094db995cba83b62adc767 Reviewed-by: Liang Qi <liang.qi@qt.io> (cherry picked from commit 2b96c113cf7057b556856149114999b973b3f2c2) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* GStreamer: Remove dependency to gstreamer_imxcommonVaL Doroshchuk2020-05-293-31/+9
| | | | | | | | | | | | gstreamer_imxcommon is not official plugin. Added extracting of physical memory instead. Available since gst 1.14. Fixes: QTBUG-83663 Change-Id: I4c2823f1a965c1fc5a5ab9e50ab8325884f8f6e1 Reviewed-by: Samuli Piippo <samuli.piippo@qt.io> (cherry picked from commit c94342497120dd8eb640afbeb770c01b0d717634) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* gsttools: do not use nullptr in C codeRolf Eike Beer2020-05-291-8/+8
| | | | | | | | | Changing this in "gsttools: use nullptr instead of NULL" was an oversight. Change-Id: I6ed4a63800dc288a32c58eafaf74cdc15ea2218d Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io> (cherry picked from commit ce0ae3f3bfed03e3eb334165f9dbf1151a9f9e5d) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>