| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
YUV420P and YV12 formats use three planes which need 18432 bytes in
total:
- height × bytesPerLine = 64 × 256 = 16384 bytes;
- height/2 × width/2 × uvPixelStride = 32 × 32 × 1 = 1024 bytes;
- height/2 × width/2 × uvPixelStride = 32 × 32 × 1 = 1024 bytes.
NV12 and NV21 formats use two planes which need 24576 bytes in total:
- height × bytesPerLine = 64 × 256 = 16384 bytes;
- height/2 × bytesPerLine = 32 × 256 = 8192 bytes.
Fixes https://bugs.debian.org/982973.
Change-Id: I68433dbb5370a6e4cdd2a85e2a9554fab642f5b6
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
(cherry picked from commit 1c2a8655ac3dd5f8de5294a77ac5e585add82229)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
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>
|
|\
| |
| |
| | |
Change-Id: I9687c59d15cd816969f362d72b19f279a1a2d04e
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
|| was definitely wrong. Even | would be wrong.
../qmultimedia_common/../qmultimedia_common/mockcameraflashcontrol.h:62:22: warning: use of logical '||' with constant operand [-Wconstant-logical-operand]
return (mode || (QCameraExposure::FlashAuto | QCameraExposure::FlashOff | QCameraExposure::FlashOn |
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Change-Id: Ibdc95e9af7bd456a94ecfffd1603e74da919abbc
Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
|
|\|
| |
| |
| | |
Change-Id: I3a719b4e4ba75da1784fb2bc5d6c014b1e6c54ac
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
It is often failed on CI when no enough resources.
Task-number: QTBUG-82582
Change-Id: Ibcddab73e6dfd24c3ab064ed8ea89843ebdc92ea
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
(cherry picked from commit d5d42a24b5b9d2079d584defac70aef1a1feadef)
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
From 50% to 200%.
Change-Id: Ie2ce859ceba513eede63ab6c55cd5637916a48be
Fixes: QTBUG-82582
Reviewed-by: Asmo Saarela <asmo.saarela@qt.io>
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Use a QMultiMap and its insert-function, fixing warnings like:
In member function ‘QList<QVideoFrame::PixelFormat> tst_qabstractvideosurface.cpp:89:95: warning: ‘QMap<K, V>::iterator QMap<K, V>::insertMulti(const Key&, const T&) [with Key = QAbstractVideoBuffer::HandleType; T = QVideoFrame::PixelFormat]’ is deprecated: Use QMultiMap for maps storing multiple values with the same key.
Change-Id: I5514b4341b7f9ab3ce0f50618420ebe34433200e
Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
|
| |
| |
| |
| |
| |
| |
| | |
[ChangeLog][Deprecation Notice] QCamera::error() (the signal) is deprecated; superseded by errorOccurred()
Change-Id: Ie3214689db7f46cf36ac696339ac42beb5b921d4
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
From 50% to 200%.
Change-Id: Ie2ce859ceba513eede63ab6c55cd5637916a48be
Fixes: QTBUG-82582
Reviewed-by: Asmo Saarela <asmo.saarela@qt.io>
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
(cherry picked from commit a7f0ba8c2d64dcb942069a6fd5ea17166b3b7a6d)
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QOpenGL API should be used instead.
Task-number: QTBUG-74409
Fixes: QTBUG-81902
Change-Id: I80d09cba79248451cf211eabd87651301ae18b63
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This property holds the target video output,
and allows to render video to multiple items.
MediaPlayer {
videoOutput: [videoOutput1, 1, "ignored", videoOutput2.videoSurface]
}
Incorrect inputs are ignored.
The property also accepts single either QAbstractVideoSurface or QDeclarativeVideoOutput objects.
Task-number: QTBUG-32939
Change-Id: I41fc557dcac60be6d70b3889036ff4ae75734cc0
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* Currently QVideoWidget, QGraphicsVideoItem and QML Video Output
tightly depend on QMediaPlayer, QMediaService etc.
Since QMediaService is deprecated and will be removed from Qt6,
its usage must be removed from rendering components.
* Also it is a part of a task to make all components independent,
e.g. without dependencies to another components, like the media player,
or video producer.
These video consumer components should be reusable without QMediaPlayer too,
which today is not possible,
and should have responsibility for a single part of the functionality.
* It is a part of a task to allow users to decide how to render video,
using either video surface or native windows.
Introducing
QVideoWidget::videoSurface()
QGraphicsVideoItem::videoSurface()
QDeclarativeVideoOutput::videoSurface()
that create a surface, if necessary, and returns the underlying video surface
which provides a possibility to render video frames without knowledge of any services and controls.
Can be used like:
QMediaPlayer->setVideoOutput(QVideoWidget->videoSurface());
or
QMediaPlayer->setVideoOutput(QGraphicsVideoItem->videoSurface());
This allows QMediaPlayer to get video frames from a backend,
without using QVideoWidget/QGraphicsVideoItem, and to present these frames to provided surface.
Moreover, now it is possible to render video frames without QMediaPlayer:
QVideoSurfaceFormat format(img.size(), QVideoFrame::Format_ARGB32);
videoWidget->videoSurface()->start(format);
videoWidget->videoSurface()->present(img);
[ChangeLog] Introduced videoSurface property to QVideoWidget, QGraphicsVideoItem and
QDeclarativeVideoOutput.
Task-number: QTBUG-80431
Change-Id: I49641750537160832e29c297279e72b8288e974c
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
|
| |
| |
| |
| |
| |
| | |
Change-Id: I7afeb2d74e95f1e65335bda505d8762b68393ae4
Reviewed-by: Daniel Smith <Daniel.Smith@qt.io>
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
|
| |
| |
| |
| |
| |
| |
| | |
It is being deprecated.
Change-Id: I26b871fe9b989972ab1d2c18de344dc9c9275e9f
Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
|
|/
|
|
|
|
|
|
|
|
|
|
|
| |
Since QVideoFrame::pixelFormat's do not 100% match QImage::Format's,
introducing converstion function.
Returns an image based on current frame.
Converts data if needed to supported QImage format.
Change-Id: I3331578c01cf9c999a380efc4a83bf9eddb07901
(cherry picked from commit 93f966335e1ed8ed47b7e8b32452d43c2f8a7bb1)
Reviewed-by: Daniel Smith <Daniel.Smith@qt.io>
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
After commit 4d289edb14aeb4976218cc306bfc514e37521b82 in qtbase, MinGW
is not building with debug-and-release anymore. So similar to the change
in qtbase, the .pro files need adjusting for the placement of the
plugins to be scoped to debug-and-release configurations.
Task-number: QTBUG-78561
Change-Id: I0a5fc029307ba48c8f40f7553a7f583450337690
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Liang Qi <liang.qi@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Replace the usages of deprecated APIs by corresponding
alternatives.
- Made the tests for deprecated APIs to compile conditionally,
based on the deprecation version.
Task-number: QTBUG-76491
Task-number: QTBUG-76540
Task-number: QTBUG-76541
Change-Id: Ifd397dae9b3ebc2ba2504db7baa2d8ff21bfb3a7
Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Q_FOREACH is going to be deprecated, or at the very least banned from
use in Qt code.
All these are trivial in the sense that the loop body clearly doesn't
modify the container over which we iterate, and that the container is
const, or trivially marked as such.
In one case, replaced Q_FOREACH + delete + clear() with
qDeleteAll(qExchange()), in three others, replaced Qt containers with
statically-known content with plain C arrays.
Change-Id: I718821811370f0cfefac3893283572d39a7d957d
Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
|
|
|
|
|
|
| |
Task-number: QTBUG-76491
Change-Id: I20d31b6afe5cd2a30e45686ef73b5e0834700ee7
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
|
|\
| |
| |
| | |
Change-Id: I5d8d370a4da0a155914cd0e07610a1dcbd737f67
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
tst_qvideoframe.cpp:736:68: warning: 'int QImage::byteCount() const' is deprecated: Use sizeInBytes [-Wdeprecated-declarations]
videowidget.cpp:103:49: warning: ‘const QBrush& QPalette::background() const’ is deprecated: Use QPalette::window() instead [-Wdeprecated-declarations]
videowidget.cpp:111:62: warning: ‘const QBrush& QPalette::background() const’ is deprecated: Use QPalette::window() instead [-Wdeprecated-declarations]
Change-Id: If6ba7de74c695cb5405ef7d3f9c5be8f94e3e522
Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fix warnings like:
video/qvideosurfaceformat.cpp:522:47: warning: 'QVariant qVariantFromValue(const T&) [with T = QAbstractVideoBuffer::HandleType]' is deprecated: Use QVariant::fromValue() instead. [-Wdeprecated-declarations]
video/qvideosurfaceformat.cpp:524:48: warning: 'QVariant qVariantFromValue(const T&) [with T = QVideoFrame::PixelFormat]' is deprecated: Use QVariant::fromValue() instead. [-Wdeprecated-declarations]
video/qvideosurfaceformat.cpp:534:54: warning: 'QVariant qVariantFromValue(const T&) [with T = QVideoSurfaceFormat::Direction]' is deprecated: Use QVariant::fromValue() instead. [-Wdeprecated-declarations]
video/qvideosurfaceformat.cpp:536:46: warning: 'QVariant qVariantFromValue(const T&) [with T = double]' is deprecated: Use QVariant::fromValue() instead. [-Wdeprecated-declarations]
video/qvideosurfaceformat.cpp:538:53: warning: 'QVariant qVariantFromValue(const T&) [with T = QSize]' is deprecated: Use QVariant::fromValue() instead. [-Wdeprecated-declarations]
video/qvideosurfaceformat.cpp:542:52: warning: 'QVariant qVariantFromValue(const T&) [with T = QVideoSurfaceFormat::YCbCrColorSpace]' is deprecated: Use QVariant::fromValue() instead. [-Wdeprecated-declarations]
Task-number: QTBUG-74043
Change-Id: I95f3bba4e63d83d02183a76be41d3819e0f400d8
Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
To reproduce:
set QT_OPENGL=angle
Reverts d662241bfeffc3bc36ad812393cfc8bf706f863d and 0eef4ec9e306e4bdab5914d9c8ab3c2d12cc913c
Task-number: QTBUG-73755
Change-Id: I403064b557b7c3650b9879b10241ac68b7457b27
Reviewed-by: Liang Qi <liang.qi@qt.io>
|
|
|
|
|
| |
Change-Id: I9bc5ca4e6aba49400acc26569b9c99119f31dbac
Reviewed-by: Liang Qi <liang.qi@qt.io>
|
|
|
|
|
|
| |
Task-number: QTBUG-73755
Change-Id: Icadaf43599f0369524416ab5f3a38f7612205cc6
Reviewed-by: Liang Qi <liang.qi@qt.io>
|
|
|
|
|
|
|
|
| |
Since QCamera(0, provider) does not make any sense, because
provider should not be passed to ctor, it is already inited as default.
Change-Id: I398671ef9885a94d5f651a33f7f5376252611a1e
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|
|
|
|
|
|
| |
Task-number: QTBUG-66480
Change-Id: I2df7877fe298f485d9bc67366d7d1251835eb9d2
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
|
|
|
|
|
|
|
| |
The function is marked Q_REQUIRED_RESULT, so not handling the return value is a
compiler warning.
Change-Id: I167950e8f579446516c15f54388addf759afa69d
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Propagate customAudioRole into the Audio, MediaPlayer and Video
classes.
[ChangeLog][Audio/Video/MediaPlayer] Added customAudioRole string
property to enable use of audio roles beyond those available via the
audioRole enum property.
Change-Id: If3c4ec20f014653d31d1fa0d1ad925084f446478
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Allows use of audio roles beyond those known to Qt.
[ChangeLog][QMediaPlayer] Added customAudioRole string property to
enable use of audio roles beyond those available via the audioRole
enum property.
Change-Id: Id7ed5d7bc1af0c15910e699f25c97cfed2d48243
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The tests for boot2qt were disabled with commit
b9bfe241cc3c3466ad250da80b2a7ccf087706a4. The tests can
be enabled since qtdeclarative now fallbacks to software
renderer if OpenGL is not supported.
Two changes were needed to pass tests on boot2qt
1. Add option to disable tests requiring WAV format and use
that in the boot2qt environment
2. Skip some tst_QPainterVideoSurface tests if GLContext is
not supported by the platform
Task-number: QTBUG-60268
Change-Id: I236207fedb505124a2c7edf0caccd85011ab1416
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
| |
Change-Id: Ibea22f6897ecd54a3aee1aafef6f73df03cf689f
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
|
|
|
|
|
|
|
| |
Task-number: QTBUG-59263
Change-Id: I282c9eadf7ad0f8e49eb6f37ba3359ad511e595d
Reviewed-by: Daiwei Li <daiweili@gmail.com>
Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
|
|
|
|
|
|
|
| |
And deprecate the old qtmultimediadefs.h
Change-Id: I2d4164f3a51d8e5d1813413b4f6691a721386fdf
Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
|
|
|
|
|
|
| |
Change-Id: I9b1e31e3d1bcfbffc448551be5654f8818baf91a
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
qtmultimedia.pro
src/multimedia/playback/qmediaplayer.cpp
src/plugins/directshow/directshow.pro
tests/auto/integration/qmediaplayerbackend/BLACKLIST
Change-Id: I6dacdcbb223c1d12dd72eb308a67170983c709b3
|
| |\
| | |
| | |
| | | |
Change-Id: Ib038c5e3ebb48c0e46569a35d530fa5ceaf06a32
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
From 30% to 50%.
Change-Id: I4a7720ebb9e1a5cdfb58b6cf92b6de2bebf56aed
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Rather than expecting a certain amount of signals to be fired within
a fixed period, check that all the required signals are emitted and
that it doesn't take longer than expected. Use a margin of error to
take into account timers firing later because of high system load.
Change-Id: I1569ce524e87efc47eb8d11066e509e5dc90f6f8
(cherry picked from commit 586abbd9732f9ccce127429fe0698c25a09ecefb)
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Change-Id: I26d80ece18abf882338de5ce0258469ed103a0eb
Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
|
|\| |
| | |
| | |
| | | |
Change-Id: Ib8d05d6e21c7beb19f618cd1edc52d248b1e43b8
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Rather than expecting a certain amount of signals to be fired within
a fixed period, check that all the required signals are emitted and
that it doesn't take longer than expected. Use a margin of error to
take into account timers firing later because of high system load.
Change-Id: I7f77d32a9db3d09881eadbd0dfc6b70f62757d09
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I0b556b5f705825fc8c8135305bda4bc860ffbf14
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
All Qt Multimedia volume APIs expect a linear volume factor. However,
UI volume controls should typically use a logarithmic or cubic scale
to match how the human ear perceives loudness.
The new helper function (C++ and QML) provides a way to do the
conversion from one scale to another.
Change-Id: If7795426b728ab0e8fd6635988dbc9be795e3e5e
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
|\| |
| | |
| | |
| | | |
Change-Id: I773db005bbdc511169917ee35eb5b517e898926b
|
| |\|
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/plugins/winrt/qwinrtcameracontrol.cpp
Change-Id: I45d3042adf19577a72794610fa1c310cb22e26c4
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
the "created by qt creator" header is not supposed to be checked in.
Change-Id: I6d8c623f41c633babe5923344c915412d3d6bcd4
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|