| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
[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>
|
|\| |
| | |
| | |
| | | |
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>
|
|\|
| |
| |
| | |
Change-Id: Ia13d887c3e3bf00b6ded5d052384fc5689b816fe
|
| |\
| | |
| | |
| | | |
Change-Id: Ic42cf93c3be21a84d711effae28a3292f2b5c600
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Binary compatibility files added.
Change-Id: Id9346f9e75d9fdbcf8ad30409d706829f1ba2573
Reviewed-by: Sergio Ahumada <sahumada@texla.cl>
|
|\ \ \
| | |/
| |/|
| | | |
Change-Id: I5394a9d75850771068d43d2509b14a3ac4efcf83
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I97023663c4232146f844de1d1b380f5a7bf11264
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Added flushMode property to QML VideoOutput element to define
what should be shown when flush is requested.
Takes affect only for QDeclarativeVideoRendererBackend
and when QSGVideoItemSurface is already started.
Flushing (passing empty video frame to the surface) is usually performed
when EndOfMedia or playback is stopped.
Which caused disappearing the content and blinking if playlist is used.
Using this property now possible to define
what frame (last, first or empty) should be shown when playback is stopped or finished.
By default shows empty frame (clears the video output).
To show a frame it requires to keep QVideoFrame and thus its data.
Task-number: QTBUG-37301
Task-number: QTBUG-49446
Change-Id: I3be5309217b9f543da804e3b616dee9d97fba65f
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|
|/
|
|
|
|
|
|
|
|
|
|
|
| |
The QSoundEffect can be forced to use a specific audio output device.
This is useful on a system with multiple output devices as individual
QSoundeffects can use separate output devices.
Due to way QAudioOutput (alternate implementation behind QSoundEffect)
is implemented, QAudioDeviceInfo is used as a method of defining
the output device to be used.
Task-number: QTBUG-63596
Change-Id: Ibfb9894fec914726faee4e31c42ab08832693cf6
Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Fixed to provide QMediaPlayer::LoadedMedia media status
in case when play -> pause -> stop made.
- Fixed default duration -1 -> 0.
- Fixed a test because after pause() positionChanged is always emitted.
- Enabled the test.
- Increased gap between prev and curr position after pause.
Task-number: QTBUG-63517
Change-Id: I377f024d0a976f1ce802fe6740a771b7e0f2e8db
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|