| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|\
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
tests/auto/integration/qdeclarativevideooutput/tst_qdeclarativevideooutput.cpp
Done-with: Val Doroshchuk <valentyn.doroshchuk@qt.io>
Change-Id: I745dd948c1e98180115f85c17bef802351bbdb6b
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
| |
From Qt 5.7 -> tools & applications are lisenced under GPL v3 with some
exceptions, see
http://blog.qt.io/blog/2016/01/13/new-agreement-with-the-kde-free-qt-foundation/
Updated license headers to use new GPL-EXCEPT header instead of LGPL21 one
(in those files which will be under GPL 3 with exceptions)
Change-Id: I96559337481456cce6ea909fb7e53877acd352bd
Reviewed-by: Jani Heikkinen <jani.heikkinen@theqtcompany.com>
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
|
|
|
|
|
|
|
|
|
| |
Qt copyrights are now in The Qt Company, so we could update the source
code headers accordingly. In the same go we should also fix the links to
point to qt.io.
Change-Id: I1c6faa4f59f8eca54f01ef20941fa60161dd7872
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
|
|
|
|
|
|
|
|
|
| |
- Renamed LICENSE.LGPL to LICENSE.LGPLv21
- Added LICENSE.LGPLv3 & LICENSE.GPLv2
- Removed LICENSE.GPL
Change-Id: Ied06887225df341064c12bcc14c259ae74116f2e
Reviewed-by: Jani Heikkinen <jani.heikkinen@digia.com>
|
|\
| |
| |
| | |
refs/staging/dev
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Move QDeclarativeVideoOutput to the private QtMultimediaQuickTools
library to make the QDeclarativeVideoOutputBackend interface
implementable by a plugin.
Change-Id: I763c483a1fc9ec56dc7b8be0bc71523f029a36ee
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
|
|/
|
|
|
| |
Change-Id: If324fd2e65acb7650b1d8dee4964a2c2bb17f876
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
|
|
|
|
|
|
| |
Change-Id: Ia8c1c38aba1544603fada8c414cc856f365fd15b
Reviewed-by: Akseli Salovaara <akseli.salovaara@digia.com>
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
|
|
|
|
|
|
|
|
|
| |
Change copyrights and license headers from Nokia to Digia
Change-Id: Id77334cfb15de096941c88e32d04ca07b4eb4709
Reviewed-by: Janne Anttila <janne.anttila@digia.com>
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
|
|
|
|
|
|
|
|
|
|
| |
The error was:
tests/auto/integration/qdeclarativevideooutput/tst_qdeclarativevideooutput.cpp:113:62: required from here
qmetatype.h:637:5: error: static assertion failed: Type is not registered, please use Q_DECLARE_METATYPE macro to make it know to Qt's meta-object system
Change-Id: Id4e29803de646cbad0d401b1fe0e0b38e458d12f
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Jonas Rabbe <jonas.rabbe@gmail.com>
|
|
|
|
|
|
| |
Change-Id: I953899a3ec92856955d36528057b0d45f9c26394
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
|
|
|
|
|
|
|
| |
Remove QDeclarative compatibility module code.
Change-Id: Ib24c0c027c899e7eb30b3c8550a483d0d8b2b77f
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
|
|
|
|
|
| |
Change-Id: I4b49466ba5248683c2285f98ce17bc2c24bba515
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
|
|
|
|
|
|
|
|
|
|
| |
As in the past, to avoid rewriting various autotests that contain
line-number information, an extra blank line has been inserted at the
end of the license text to ensure that this commit does not change the
total number of lines in the license header.
Change-Id: I20e5215108c6ebd5f8474fed5c3665118e4791e6
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
|
|
|
|
|
|
|
|
| |
On destruction and changing sources, make sure we don't clobber the
surface property if it's been changed.
Change-Id: I3080b98a547911543a391c8bc040792d260782fd
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
|
|
So you can align controls with an edge of the rendered area. There's
also some convenience functions for mapping source to and from
destination coordinates. Also tweaked the updateGeometry function to
bail out if no input parameters have changed, rather than doing some
more boring maths.
Added a unit test for a lot of the class, too.
Change-Id: I943bb45e4e56356247d5d6deb5d446222edcb7ca
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
|