| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
It's flakey.
Task-number: QTBUG-99362
Change-Id: I40b4525d1710a68da174635cf067876eeb7331b4
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
Binary compatibility files added.
Change-Id: I9860ccffa2492e6cb5f9586ce4476b416e6a161f
Reviewed-by: Val Doroshchuk <valentyn.doroshchuk@qt.io>
|
|
|
|
|
|
|
|
| |
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)
|
| |
| |
| |
| |
| |
| |
| | |
Fixes: QTBUG-82683
Fixes: QTBUG-82684
Change-Id: I82387bf4685f96c77a6658a9f8360e89335ba23c
Reviewed-by: Liang Qi <liang.qi@qt.io>
|
|\|
| |
| |
| | |
Change-Id: Ia1bc95c071d29653a85e753964d15826ce3706f8
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Previously tst_QMediaPlayerBackend::isWavSupported() always returned true
unless boot2q env, which is not correct.
Since if there is no codec installed in CI (but it is not boot2qt),
also need to skip the tests.
Change-Id: Ib58864bb3648a3d8f6c99354034f4ad85d5e4f98
Fixes: QTBUG-82673
Reviewed-by: Asmo Saarela <asmo.saarela@qt.io>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Andy Shaw <andy.shaw@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>
|
| |
| |
| |
| |
| |
| |
| |
| | |
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)
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
AVAssetResourceLoaderDelegate allows to load custom resources.
Implemented resourceLoader:shouldWaitForLoadingOfRequestedResource to read data
from QIODevice.
The device should be seekable, and already should have all data available.
Since there is a need to know total size of the stream.
So the media player will wait for QIODevice::readyRead before loading the resource.
Also it requires to have url together with the stream:
QMediaPlayer->setMedia(QUrl("does_not_matter.mp3"), buffer);
Since the backend uses extension to determine type of the stream.
Fixes: QTBUG-69101
Change-Id: I8ab0b69f668ccd67c42a8e5d5c1ad518d3306cce
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
|\|
| |
| |
| |
| |
| |
| | |
Conflicts:
.qmake.conf
Change-Id: I50c9bfe46654aa159f35bf18eea95e8a8d399d41
|
| |
| |
| |
| |
| |
| |
| | |
BC files built against 5.14.0 added.
Change-Id: Ibf60167e1fcb47ad4ceda492c33f12c980f99a82
Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
|
| |
| |
| |
| |
| |
| | |
Change-Id: I7afeb2d74e95f1e65335bda505d8762b68393ae4
Reviewed-by: Daniel Smith <Daniel.Smith@qt.io>
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Since it is totally blacklisted for Windows long time ago,
need to blacklist it as well for MSVC 2019, and enable it afterwards
when fixed.
Fixes: QTBUG-79288
Change-Id: I3f9af244b95da3fc58970c6676d3e74cc9ecfb8e
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
(cherry picked from commit 74b644b4af46418dc5b4654e9e501226edfe9e02)
|
| |
| |
| |
| |
| |
| |
| | |
It is being deprecated.
Change-Id: I26b871fe9b989972ab1d2c18de344dc9c9275e9f
Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QAbstractVideoSurface is used to retrieve and render video frames
in particular pixel format.
I.e. a backend takes one video surface which asks to provide video frames
in one of the supported formats returned from QAbstractVideoSurface::supportedPixelFormats().
So currently there is one source of the video frames and only one video output possible.
Introducing QMediaPlayer::setVideoOutput(const QVector<QAbstractVideoSurface *> &)
This func takes a list of surfaces, that support at least one shared pixel format,
and presents video frames to all of them at the same time.
Several surfaces, which do not have any shared pixel formats, will fail to work.
Task-number: QTBUG-32939
Change-Id: Ifbdaf692755353fbd5bf3ad74baba1820e3d0237
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@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>
|
|\
| |
| |
| | |
Change-Id: Ib880ad9150a59700878942fa6c3b711004bec4b0
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
DirectShow capture control supports only RGB32 to capture to buffer,
which fails the test.
Decided to fix the test to avoid checking against Jpeg format and just
make sure that it returns proper QImage.
Change-Id: Ibcd565d6157cf3543eb15d3e1e371df271fc358c
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
|
|\|
| |
| |
| |
| |
| |
| | |
Conflicts:
src/multimedia/configure.json
Change-Id: Ie887a5f4d718cb3e082b0e2ee996c6687af330cb
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Fixed tests about start times.
Since DirectShow can provide frames with negative start time, also from
the beginning, also pixels can vary, e.g. (rgb) 255:0:0 would be 230:19:19
after decoding.
Task-number: QTBUG-46368
Change-Id: I025f7cf9238ddf9ba2a04f63e3e54b77f3cceafe
Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
|
|\|
| |
| |
| |
| |
| |
| | |
Conflicts:
src/multimedia/video/qvideoframe.h
Change-Id: I8458c4138be05f661d6528116cbc6b18298f0a91
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
YVU formats are likely not supported by the codecs and the pipeline
will not be negotiated in this case.
Fixes
BFAIL : tst_QMediaPlayerBackend::surfaceTest(YVU formats) 'surface.m_totalFrames >= 25' returned FALSE. (Expected >= 25, got 0)
Task-number: QTBUG-46368
Change-Id: I6bf1a5822481a018549fe58aaf5fe79c79ff8456
Reviewed-by: Ville Voutilainen <ville.voutilainen@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>
|
|\ \ |
|
| |\|
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
.qmake.conf
Change-Id: I2f2a9371dd1085c10450f23e56c9f18078cc8698
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Binary compatibility files added.
Change-Id: Ibe93b6cd553702178df87d748e268d8b75968e69
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>
|
| |
| |
| |
| |
| |
| |
| |
| | |
These tests have not failed on the removed platforms for at least 60 days
Task-number: QTBUG-76608
Change-Id: I928994f305b35d381b17c18fe02a53d889ae9071
Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
|
| |
| |
| |
| |
| |
| | |
Task-number: QTBUG-76491
Change-Id: I20d31b6afe5cd2a30e45686ef73b5e0834700ee7
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
[ChangeLog] Added QVideoFrame::Format_YUV422P.
Change-Id: If7741db00cf0b628d7fc4b1cd3a6e424e0f8e2c0
Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
Reviewed-by: Samuel Gaist <samuel.gaist@idiap.ch>
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
|
| |
| |
| |
| |
| |
| |
| | |
Headers of multimedia quick module should not be placed in separate dir.
Change-Id: Ie1f9df8339847ffbac8f22ac16ab0e613c46d037
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
|
|\|
| |
| |
| | |
Change-Id: Idb05a117cf226919a34122b8b4156173120a128d
|
| |\
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
tests/auto/integration/qdeclarativevideooutput/tst_qdeclarativevideooutput.cpp
Done-with: Val Doroshchuk <valentyn.doroshchuk@qt.io>
Change-Id: I745dd948c1e98180115f85c17bef802351bbdb6b
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Fixes tst_QCameraBackend::testVideoRecording.
Since QMediaRecorder::FinalizingStatus could be sent immediately, it is sane to
wait for final QMediaRecorder::LoadedStatus only.
But added a fix to check if the FinalizingStatus has been emitted.
Task-number: QTBUG-73582
Change-Id: I63fc6b1951a712215ee5d982233924a79ac1c124
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
Reviewed-by: Christian Strømme <christian.stromme@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Since androiddeployqt is looking for qml modules in qml/js files only,
it is unable to deploy qml plugins for inline qml from cpp.
Hence modules are never found while compiling inline qml.
Fixes tst_QDeclarativeVideoOutputWindow and tst_QDeclarativeVideoOutput
Fixes: QTBUG-73597
Fixes: QTBUG-73598
Change-Id: I43dc1ac38522779ff37f04b055a41b2c05eb7619
Reviewed-by: Christian Strømme <christian.stromme@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Since TESTDATA files are not deployed to device, need to add them to
qrc.
Task-number: QTBUG-73583
Change-Id: Ie0b934b1d9bd46f8748ca93a3502ef1643271217
Reviewed-by: Christian Strømme <christian.stromme@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
QCameraImageCapture::imageCaptured is also async and could be delivered
after QCameraImageCapture::imageSaved.
Fixes tst_QCameraBackend::testCameraCapture and tst_QCameraBackend::testCaptureToBuffer
Change-Id: I47ee22c39cd2570f20a3e75a80249ed16ca52d0e
Fixes: QTBUG-73582
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
|