| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
Change-Id: I23fab7187d527bac1376a32d6b25a4ff01470944
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
(cherry picked from commit 56024013d898696b209ac1c74ec2abe638675446)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Enum values be of the same underlining values after
removing WindowCaptureNotSupported
For QWindowCapture::Error I suggest using the same values
to ensure compatibility in the future (if moving the enum out of the
classes).
See the API comparison review here
codereview.qt-project.org/c/qt/qtmultimedia/+/481755
Change-Id: Ia66218ba1a2a719469801cbae683a6093f6b982e
Reviewed-by: Lars Knoll <lars@knoll.priv.no>
(cherry picked from commit 9cdd69829b38203fd2b4f7cc00824dad8fd4d62b)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
| |
For detection of the default audio output audio source name should
be taken instead of audio sink name.
Task-number: QTBUG-112219
Change-Id: I111de8c5a42de372117a0a5ae9bc7995c9629700
Reviewed-by: Lars Knoll <lars@knoll.priv.no>
(cherry picked from commit a33d0422f2d2e1e29c6276ac708fdaf9f7306dc1)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
| |
Previously, this assumed user would create a capture session.
Fixes: QTBUG-114061
Change-Id: I28aa683618edd3f5f409e52e2a491784f8f5c884
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
(cherry picked from commit 6a7221f050522e9dd3e0e11826940b50cde36436)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change replaces all uses of task memory object that should be
freed with CoTaskMemFree (typically COM-related) with a wrapper class
that handles all memory deallocation and provides pointer semantic.
Change-Id: I73fe53eaa8ca37eb2ac6c6c05142e10e5a5615e9
Reviewed-by: Jøger Hansegård <joger.hansegard@qt.io>
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
Reviewed-by: Lars Knoll <lars@knoll.priv.no>
(cherry picked from commit e988214e3e3f0e9f9005b8be1266a60255eef011)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Due to an error handling bug, the DXGI screen capture would flood the log
when facing lost duplication interface. This can happen for example when
pushing Ctr+Alt+Del while screen capturing is ongoing.
This change does not implement recovery after lost duplication interface,
but prevents flooding the log by avoiding repeatedly calling
IDXGIOutputDuplication::ReleaseFrame
Task-number: QTBUG-113460
Change-Id: Iad5761cc4cfe5189460944528b35fd136085631f
Reviewed-by: Lars Knoll <lars@knoll.priv.no>
(cherry picked from commit 59a50bebb386c83a829ffabd7392c1de2bdb9f5c)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
| |
Pick-to: 6.5
Change-Id: I50c7c6b331a9f00bc3777b45bef51ed6fd000889
Reviewed-by: Lars Knoll <lars@knoll.priv.no>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Accoring to the QTBUG-109659, documentation should clearly point that
setting AudioOutput is used for audio routing.
It is already mentioned in:
- qml-qtmultimedia-capturesession[0]
"Route audio to an output device by assigning an AudioOutput object to
the audioOutput property."
- qmediacapturesession[1]
"A preview of the captured media can be (...) heard by routing the
audio to an output device using setAudioOutput()."
But there was no mention about it for audioOutput setter.
This commit add information about audio routing in audioOutput setter
description.
[0]https://doc.qt.io/qt-6/qml-qtmultimedia-capturesession.html#details
[1]https://doc.qt.io/qt-6/qmediacapturesession.html#details
Pick-to: 6.5 6.2
Task-number: QTBUG-109659
Change-Id: I07cd697200d533b649be04a91dd03dca3ac8adc5
Reviewed-by: Nicholas Bennett <nicholas.bennett@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Clean-up the video sink frame after stop, QMediaPlayer deleting,
and after setting new media.
- ensure no frames lost if change QVideoSink
- ensure no frames sent after changing of outputs.
The patch fixes problems with tests on Android, summarizing of
the related commits:
codereview.qt-project.org/c/qt/qtmultimedia/+/472214
codereview.qt-project.org/c/qt/qtmultimedia/+/470890
codereview.qt-project.org/c/qt/qtmultimedia/+/472052
Users want to have flush mode customization as it was it Qt5.
It might be added in 6.6 afterwards.
Fixes: QTBUG-112173
Task-number: QTBUG-111912
Change-Id: I0e4d34de06fcf23adf8a5736cbff4119478e9baf
Reviewed-by: Lars Knoll <lars@knoll.priv.no>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The design of QMediaCaptureSession already uses different types and
setters/gettes for each video source, like QCamera, QImageCapture,
and QScreenCapture, so a new source type, QWindowCapure, has been
added instead of extending QScreenCapture.
For now we only cover the case of capturing windows enumerated though
the capturing API itself, via a list of QCapturableWindow instances,
as this is considered the primary use-case for such an API.
An extension to this would be to add a QWindow overload to either
QCapturableWindow's constructor or QWindowCapture::setWindow, to
allow capturing of windows in the application itself, either created
by Qt, or via QWindow::fromWinId(), but this has been left out
for the initial API to keep things minimal.
A WId overload has been intentionally left out of this API, as
the path for capturing by WId should go via QWindow::fromWinId().
Finally, capture of windows from other applications without
enumerating them via QWindowCapure is left out, as adding such
an API would require us to build a more generic WId replacement
that isn't tied to a single type for each OS, like WId is (it's
a NSView* on macOS e.g., but windows can also be represented by
CGWindowID).
Task-number: QTBUG-103226
Change-Id: I99e3b8bde62250aba35abcedbc8680a299a3cbb2
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
cl.exe 19.35.32217.1 for x64 emits warning C4723: potential divide by 0
in RelWithDebInfo build of QtMultimedia.dll. The reason is likely that
the compiler can not rule out that the QAudioFormat::bytesPerSample
returns a different value from the point of check to the point of read.
Pick-to: 6.5
Change-Id: Ifcc2db06310c94a7b90514f54d4d9e9c94c63072
Reviewed-by: Lars Knoll <lars@knoll.priv.no>
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- improve threading handling, so auto tests flakiness has been fixed.
(additional fixes required, namely atomic states comare_exchange)
- improve pulse audio operations managing with RAII
- remove a hack with a callback based on QObject::destroyed
connection, the hack appeared to cause memory leak time to time.
- the main logic is not changed
The patch has been decoupled from
codereview.qt-project.org/c/qt/qtmultimedia/+/474485
Pick-to: 6.5
Change-Id: I68002c243dea874c4300b14b1fbd6b618392ab4f
Reviewed-by: Lars Knoll <lars@knoll.priv.no>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1. Ensure sending the signal from QAudioSink's thread.
2. QAudioSink backends emit signals from different threads what may
cause a case when queued events are outdated and should be filtered.
The patch has been decoupled from the big change
codereview.qt-project.org/c/qt/qtmultimedia/+/474485
Task-number: QTBUG-113194
Pick-to: 6.5
Change-Id: I68002c243dea814c4309b14b1fbd7b618392ab11
Reviewed-by: Lars Knoll <lars@knoll.priv.no>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In both files, it doesn't look like that we need these variable in more
than one functions. So, we can move them in their respective functions.
P.S. If not fixed, this breaks the Unity Build since it will result in
a duplicate symbol declaration error.
Pick-to: 6.5
Change-Id: I2e0babeb2422b3d3e4f953c93fb9c5a5ba11366a
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
|
|
|
|
|
|
| |
Pick-to: 6.5
Change-Id: I4ae1304615bf8ec55fbe5f41dc280cbc83f1185e
Reviewed-by: Lars Knoll <lars@knoll.priv.no>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Current implementation has the following audio problem on Windows: if
any of the classes that support audio playback are used (QMediaPlayer
or QSoundEffect) sound is cutting off (part of the sound is missing
usually beginning). If there're some other applications playing sounds
in the system while we try to play our sound then everyting works fine.
Apparently this happens due to warm up delays for system audio engine
and if there're other applications available they're simply keeping it
alive and it's already fully initialized and ready to be used by us
when we need it.
As a workaround to this problem an unused audio device is created that
is fully initialized and set to play (nothing) but is actually present
for any subsequently created audio devices that are ready from the
start without any delays.
Pick-to: 6.5
Task-number: QTBUG-112512
Change-Id: I660a48e8ac1a1ebd1cfb6a9ff76605c3b4742e17
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
Reviewed-by: Lars Knoll <lars@knoll.priv.no>
Reviewed-by: Jøger Hansegård <joger.hansegard@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
According to Microsoft documentation for the
IDXGIOutputDuplication::ReleaseFrame: "For performance reasons, we
recommend that you release the frame just before you call the
IDXGIOutputDuplication::AcquireNextFrame method to acquire the next
frame."
This has no measurable impact on GPU usage or performance of the screen
capture, but because this design simplifies error handling/cleanup, we
can just as well follow the guidelines.
Task-number: QTBUG-113460
Pick-to: 6.5
Change-Id: I0f95c5792b29942a957f57971081520501a1e0a5
Reviewed-by: Lars Knoll <lars@knoll.priv.no>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Moving the function inside the grabber class will allow us to keep some
state around.
This will be used for example to improve the grabber performance by
avoiding releasing the grabbed frame too frequently.
Task-number: QTBUG-113460
Pick-to: 6.5
Change-Id: If883071926b8e7ec9d8a4a156aabcaee8d3370cc
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
Reviewed-by: Lars Knoll <lars@knoll.priv.no>
|
|
|
|
|
|
|
|
|
|
|
| |
std::unary_function was removed with c++17
Pick-to: 6.5
Task-number: QTBUG-113782
Change-Id: I4e330cd1f89dc14936acbccdeee8378ea4938870
Reviewed-by: Lars Knoll <lars@knoll.priv.no>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Pavel Dubsky <pavel.dubsky@qt.io>
|
|
|
|
|
|
|
|
|
| |
Users asked for videoResolution, but it makes sense to fix
all missing ones.
Task-number: QTBUG-113621
Change-Id: I8c1314c9e00038cbddb92165b2d0f52d41fbda1a
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Several symbols are redefined in these source files, e.g.,
AndroidImageFormat, AndroidImage, QtVideoDeviceManager. Excluding two
out of three of these files is sufficient for resolving the conflict;
however, I have added the third one as well, as a precautionary measure
because the names are quite common and may lead to similar issues later.
Pick-to: 6.5
Task-number: QTBUG-109394
Change-Id: Ib0d3b0ec41762ab8e391efcbdce5c494ff5b296c
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
This commit implements the Android camera TorchMode configuration when
FFmpeg backend is used.
Pick-to: 6.5
Task-number: QTBUG-113154
Change-Id: I34065e0c3830c3bdcd98b652656c8921fb19ff4f
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
|
|
|
|
|
|
| |
Task-number: QTBUG-113331
Change-Id: I992f3cbc9e4ceff6e62452bf354e5c46dd8fa84b
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
|
|
|
|
|
|
|
| |
Pick-to: 6.5
Fixes: QTBUG-113263
Change-Id: If2a740b4224e6f618896f23ce28dc2b02aa2d6d1
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Then the frame parameter is unused, which causes build breakage when
using -Werror. Use Q_UNUSED to silence that warning.
Pick-to: 6.5
Change-Id: I90c75aad0dc17ddd41b622e09ea683a059a55260
Reviewed-by: Jøger Hansegård <joger.hansegard@qt.io>
Reviewed-by: Pavel Dubsky <pavel.dubsky@qt.io>
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
This commit contains implementation for Camera zoom feature on Android
when using FFmpeg-Backend.
Pick-to: 6.5
Task-number: QTBUG-105372
Change-Id: I0dbe252e9e87aaa748447956ca094c54660d8459
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
|
|
|
|
|
|
|
| |
Fixes: QTBUG-100514
Pick-to: 6.5
Change-Id: Ib6ccfd13e80e2bc3f6166b3782148a55954f605d
Reviewed-by: Nicholas Bennett <nicholas.bennett@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Windows tests became working, but on CI they are still
not available since there're no audio devices on Win CI.
- use QPointer for IO device
(a corner case for close() in the destructor)
- fix the method reset(), it should close the sink and
change the state
- There's a bunch of futher improvements to be done,
namely, stop() should be improved for having more
accurate behavior.
Pick-to: 6.5
Change-Id: I575a1d97d6d07564164c8b2de91166315d8f28d7
Reviewed-by: Lars Knoll <lars@knoll.priv.no>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
FFmpeg doc says that AVFrame.duration represents the duration
except cases if it's 0 (unknown). It's appeared in only 6.0
so we use a helper to get it.
So let's apply the rule to our AVFrame wrapper.
Pick-to: 6.5
Change-Id: I9596364561f88929796c0097381bfc26bf1d4565
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Lars Knoll <lars@knoll.priv.no>
|
|
|
|
|
|
|
|
|
|
|
|
| |
For consistency, rename the file that now contains the QComPtr class. We
also rename the include guard accordingly. This is a follow-up change
after renaming the QWindowsIUPtr class to QComPtr to ensure consistent
naming.
Task-number: QTBUG-113460
Pick-to: 6.5
Change-Id: I5f234a20faabbe65840a32e93fa039ad48cf06ef
Reviewed-by: Lars Knoll <lars@knoll.priv.no>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The name QWindowsIUPointer feels clunky and does not add clarity. On the
Windows platform, the term ComPtr, CComPtr or com_ptr is well
established and understood. By renaming the QWindowsIUPointer to QComPtr
we get code that is easier to read, particularly when the pointer is
used in template classes such as std::vector<QComPtr> or
QMaybe<QComPtr>.
Task-number: QTBUG-113460
Pick-to: 6.5
Change-Id: Ia3ef06c4a1c0e45503ba5204a4d2fd6197114b15
Reviewed-by: Lars Knoll <lars@knoll.priv.no>
|
|
|
|
|
|
|
|
|
|
|
| |
Being a generic format, we can receive either a fully planar 4:2:0 - YUV420P or
a semiplanar NV12/NV21. That will depend on the codec implemented in the device,
so device-dependent.
Fixes: QTBUG-112454
Pick-to: 6.5 6.5.1
Change-Id: Iebebca8d3d2bb5b540f92ec87b536dcb49ec7e4f
Reviewed-by: Mats Honkamaa <mats.honkamaa@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When using android-camera backend, the result photo was not correctly
rotated for landscape orientation.
Preview rotation is handled by [0]setDisplayOrientation method, but it
does not affect taking pictures and recording. Recording is handled by
[1]setOrientationHint.
Both mentioned methods use QAndroidCameraSession::currentCameraRotation
for rotate correction. It is reasonable to handle photo rotation in the
same way.
This commit removes a special rotation handling from onPictureTaken java
method and move it to QAndroidCameraSession. That allows to handle photo
rotation in the same way as preview rotation and recording rotation.
https://developer.android.com/reference/android/hardware/Camera#setDisplayOrientation(int)
https://developer.android.com/reference/android/media/MediaRecorder#setOrientationHint(int)
Fixes: QTBUG-113029
Pick-to: 6.5 6.2
Change-Id: I2d08fef43fbd78faeafc7e20e100329e75019679
Reviewed-by: Lars Knoll <lars@knoll.priv.no>
|
|
|
|
|
|
|
|
|
|
|
| |
The "async" option was relevant for the old implementation,
but now it just makes problems, namely, by making internal buffering
too high, and the actual output size could be very different with
the expected one, what can cause a weird behavior.
Pick-to: 6.5
Change-Id: I4637d02e7f5e321fb3f674a386ef43667ed9cda9
Reviewed-by: Lars Knoll <lars@knoll.priv.no>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The QtMultimedia FFMpeg screen capture plugins all share a common base
class 'QFFMpegScreenCaptureBase' that implements the bulk of the
screen capture functionality, including the grabber thread and its
screen capture loop.
The Windows screen capture class 'QFFMpegScreenCaptureDXGI' class is,
on the other hand, having its own implementation which makes it look and
behave differently from the other implementations.
This change refactors the Windows DXGI screen capture class to share
base class with the other platform implementations. This reduces code
duplication, and makes the class easier to maintain because it follows
the same pattern as the other screen capture implementations.
No functionality is changed through this refactoring.
Task-number: QTBUG-113460
Pick-to: 6.5
Change-Id: Idd157c96e1705a9fe6eb591920177f6afb88cd2a
Reviewed-by: Lars Knoll <lars@knoll.priv.no>
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before this commit, the maximum zoom factor was set locally in the
QAndroidCamera class. It was not propagated to its base QPlatformCamera
class. That cause the problem with wrong value returned by
maxZoomFactor() method.
This commit contains setting correctly m_maxZoom in QPlatformCamera and
remove not needed m_maximumZoom member from QAndroidCamera.
Fixes: QTBUG-105372
Pick-to: 6.5 6.2
Change-Id: Iaf167d03e42cb0e22ebe60862bb9dc24b1ef9173
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When creating a Direct3D 11 device, it is possible to enable additional
debug logging from the Direct3D subsystem by passing the
D3D11_CREATE_DEVICE_DEBUG flag to the D3D11CreateDevice function. This
is useful for debugging, but requires the D3D11SDKLayers.dll debug layer
to be installed on the target machine. If the debug layer is not
installed, calls to D3D11CreateDevice fails with the
DXGI_ERROR_SDK_COMPONENT_MISSING status code.
The debug layer is not installed by default on Windows 10 or Windows 11,
and we can therefore not expect that this layer is available on any
Windows computer. We also see that some QtMultimedia tests fail on CI
nodes because the debug layer is not present.
This change fixes the problem by removing the D3D11_CREATE_DEVICE_DEBUG
flag from calls to D3D11CreateDevice. This gives less diagnostics for
developers, but full debug logging can still be enabled through the
DirectX control panel, which can be used to forcefully enable the debug
layer even if the flag is not present when creating the device.
An alternative solution would be to first try to create the device with
the debug layer enabled by passing the D3D11_CREATE_DEVICE_DEBUG flag,
and then retry without this flag if creating the device failed. The
drawback of this approach is that the performance of the screen capture
feature may depend on if the debug layer is installed or not.
Pick-to: 6.5
Change-Id: Icad2965b61de953e3f93c8aeb902f37e5b31c10a
Reviewed-by: Lars Knoll <lars@knoll.priv.no>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This does not require any canvas context, so it should work
for either 2d or webgl canvas
Of course, not supported on Firefox yet
This makes video playing use less memory
on Safari and Chrome and less
processor on Chrome.
Change-Id: I4f3f320c12e3aa49d7d4e3a742fbd69900b539fc
Reviewed-by: Mikołaj Boc <Mikolaj.Boc@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If audio sink buffer is almost empty, that happens on pause/play,
the sound pretty often has little gaps. The solution is using some
little samples compensation (slows down the playback on 1% for
1-2sec what allows to increase buffer loadig from 0-10% to 20%).
In other words, the patch implements slight "soft" audio samples
compensation in order to avoid having empty adio sink buffer.
Pick-to: 6.5
Change-Id: I6b963996eab8f8b8f610fcd4a566405aec3d13cf
Reviewed-by: Lars Knoll <lars@knoll.priv.no>
|
|
|
|
|
| |
Change-Id: Ieb948fd0eff8f10af10aab20268961e9b41de18c
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
|
|
|
|
|
|
| |
Pick-to: 6.5
Change-Id: I8edd18d78815795262a5bca5523fe82587dd469f
Reviewed-by: Mikołaj Boc <Mikolaj.Boc@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There was a problem that error/errorString properties were not properly
notified when reseted on start playing. So now we use private setError()
method whenever 'error' should be changed.
Also as a drive-by there are several improvements:
- errorChanged signal will be emitted now only when the property's
value was actually changed.
- errorOccured signal is now emitted only when there is a real error,
i.e. it will never be emitted with NoError.
Fixes: QTBUG-113386
Pick-to: 6.5
Change-Id: I16e26710941ed6b8429f39c201572092f2714c74
Reviewed-by: Lars Knoll <lars@knoll.priv.no>
|
|
|
|
|
|
|
|
| |
Pick-to: 6.5 6.5.1
Fixes: QTBUG-113355
Change-Id: Ib7f7c45fe89f6516d136406eb068ea740cff11fe
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Following Scoped Storage feature implementation, the java APIs to
obtain a filedescriptor from a content scheme were removed.
QFile now supports content url, so it was changed to use that.
The QFile still needs to be used as a stream.
Fixes: QTBUG-112973
Pick-to: 6.5 6.2
Change-Id: I0b023be6adab81a591ce0e8a81128e4ca00ba213
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
Reviewed-by: Lars Knoll <lars@knoll.priv.no>
|
|
|
|
|
|
|
|
|
|
|
|
| |
QVideoSink::setRhi() is new and not documented. One may still use
default constructed QVideoSink as an output for QMediaPlayer.
In this case we still need be able produce valid video frames
into the sink. Amends 2e43d29e1d5d50b44b8f6d4f000968e3933c279a.
Fixes: QTBUG-113286
Pick-to: 6.5
Change-Id: Ib4632e66e8df78af44178af611604aac5e797b53
Reviewed-by: Lars Knoll <lars@knoll.priv.no>
|
|
|
|
|
|
|
| |
Task-number: QTBUG-113160
Pick-to: 6.5
Change-Id: I0187a0f9ab419694b6e801d1f44cbb59394ec7c7
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
|
|
|
|
|
|
| |
Pick-to: 6.5
Change-Id: I3393a873ac1a5bf5d2c289c54e5fa83941725fb8
Reviewed-by: Lars Knoll <lars@knoll.priv.no>
|
|
|
|
|
|
|
|
|
|
| |
Set the color range based on the pixel format.
This ensures the correct color matrix is chosen.
Task-number: QTBUG-108083
Pick-to: 6.5
Change-Id: I6b599d702384f479d8efee0673fe3eadcf9c12c2
Reviewed-by: Lars Knoll <lars@knoll.priv.no>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When QMediaDevices::videoInputs is called without prior call to
QMediaDevices::audioOutputs the returned list is empty but if the
latter call is present everything works as it should. The reason is a
missing call to CoInitialize inside internal Windows-specific
implementation.
Task-number: QTBUG-112702
Pick-to: 6.5
Change-Id: I462d3cf15f65329415539eb1bdde6be65ab9a407
Reviewed-by: Lars Knoll <lars@knoll.priv.no>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The color matrix for BT709 video (limited) range, had a small mistake.
From calculations based on the BT709 standard and for video range
(16 - 235) values, the conversion equations are:
R = Y * 1.1644 + V * 1.7928 + (-248.100994)
G = Y * 1.1644 + U * -0.2132 + V * -0.5329 + 76.878080
B = Y * 1.1644 + U * 2.1124 + (-289.017566)
So there was a missplacement between two of the coeficients
in the matrix.
Fixes: QTBUG-108083
Pick-to: 6.5 6.2
Change-Id: If58c7df8a9ad4d975a2ac0c90cd3692232210995
Reviewed-by: Lars Knoll <lars@knoll.priv.no>
|