| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- GstTools has some (internal) documentation, but was causing a number of
warnings with QDoc's clang parser - exclude it from the documentation
build.
- Remove direct links from example documentation to individual example
files; they no longer work.
- Fix navigation for QML types; The main QML types pages did not list
types for QtAudioEngiine.
- Use \QtMinorVersion macro to make the documented import versions
follow the minor Qt version.
- Fix \since usage to be consistent throughout.
- Fix linking issues for QML properties/methods
- Minor language fixes
Change-Id: I735cd13fa6dedd6bf06d6b6ef50ce2e0d69a545b
Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
|
|
|
|
|
| |
Change-Id: Ie7982232af45fd09a46854c96d7c7d6672857a97
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
|
|\
| |
| |
| | |
Change-Id: Ia13d887c3e3bf00b6ded5d052384fc5689b816fe
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The comment contains information which makes it misleading to understand
how the components are passed.
Change-Id: I29cdb5eec1e8014fa7f0ca3f1a0f54258fdb431f
Reviewed-by: Tomasz Olszak <olszak.tomasz@gmail.com>
Reviewed-by: Christian Strømme <christian.stromme@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Flush video frame is used to be shown when flush or stop is requested.
In case if the video frame is gl texture based just copying handle will
not copy actual data and flush frame will be always the last seen frame.
Needs to convert gl based frame to QImage and keep it in within
QVideoFrame.
Task-number: QTBUG-71610
Change-Id: I3e5aa1deb56313e6c6b97cde3e94dead6dec1b76
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Reviewed-by: Andy Shaw <andy.shaw@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>
|
|
|
|
|
|
|
|
|
|
|
|
| |
When requesting a OGL Core profile via QSurfaceFormat::setDefaultFormat (e.g. to use Qt3D advanced features),
it is no longer possible to render QML Video items. This is because the requested shaders should be _core versions.
This patch adds the core shaders so QtMultimedia stops whining, and bind textures with the proper
format, since GL_LUMINANCE and GL_LUMINANCE_ALPHA are no longer valid in OGL 4.
Task-number: QTBUG-51064
Change-Id: I909e01e7dc7be07549e9ecf0a6425b309af38ea1
Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
If video renderer backend has been recreated, then it needs to update its
geometry. Which previously didn't happen and as a result no content was shown.
The geometry is now updated from within the video node.
Task-number: QTBUG-54680
Change-Id: Iadbf324f4734c9ac6c487eaedd014629ca330599
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
|\
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/plugins/avfoundation/mediaplayer/avfmediaplayersession.h
src/plugins/avfoundation/mediaplayer/avfmediaplayersession.mm
Change-Id: Ic43fb2a805ed9f0f2ea48993d47859716f1f11b4
|
| |
| |
| |
| |
| |
| |
| |
| | |
"No precision specified for (float)" error might be produced
when using swizzle shader.
Change-Id: I2a0be94a735f93de00a153515bd9593d483c9edf
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
| |\
| | |
| | |
| | | |
Change-Id: I7566f543ce11ff6cddc4d17e2c258a582f365b65
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Idea is to upload YUYV/UYVY data as 2 textures and use GL_LINEAR like
in biplanar formats. Having proper interpolation of only one texture
(using e.g. mix function) resulted in vertical and horizontal 1 pixel
stripes depending on scale. The reason was float precision and
unexpected value of fract function. Additionally branching in shader
is expensive so this solution should be more performant.
Task-number: QTBUG-62155
Change-Id: I7ceeb09b4a54eecd16640a626b499d638b52c127
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
|\| |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
.qmake.conf
Change-Id: I5acdc7e0bd3729b80522dfff0f388cf2507fb111
|
| |\|
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
.qmake.conf
Change-Id: I3d6e69f3f99b2f0a0e2c29ffdd02176e1f22304e
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Applied casting to keep precision.
Task-number: QTBUG-64044
Change-Id: If3cb29b5c049302de38e5417811792405c896334
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Added a fix to use alpha channel for ARGB32 video frames.
Previously alpha component was always ignored and used 1.0 instead.
To see transparent videos it is still needed to enable blending
by adjusting an opacity property of qml element.
Task-number: QTBUG-43098
Change-Id: If3aaf8ab695021b3a49a1790d900366e9c336b33
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
|\| |
| | |
| | |
| | | |
Change-Id: Icaf645e271b21320c4cb6269178d9e722092a263
|
| |\|
| | |
| | |
| | | |
Change-Id: I0e525d0cc7f4e4b776e5a536e2bf9b2c66be5429
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
All relevant properties from the surface are now copied
Task-number: QTBUG-53268
Change-Id: I7f18f0e6a623c8c7c5be68e912b298e0b4b130b7
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
|/ /
| |
| |
| |
| | |
Change-Id: I17b3650a3df5688274151c1f2c4629e4a5062028
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
|/
|
|
|
|
|
|
|
| |
Dropped the _p suffix from QtMultimediaQuick_p to be more consistent
with other modules.
Change-Id: Ibb0bbb2d24bc013df6c5623cba179508c5f1becf
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
|
|
|
|
| |
Change-Id: Ifd439abf21877adff57080489324bea729ee5279
Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
|
|\
| |
| |
| | |
Change-Id: I773db005bbdc511169917ee35eb5b517e898926b
|
| |\
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/plugins/winrt/qwinrtcameracontrol.cpp
Change-Id: I45d3042adf19577a72794610fa1c310cb22e26c4
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The previous code would capture frames with a 60Hz timer
into two pixmaps alternating pixmaps with each successive
frame. Rendering was somewhat disconnected from this, if
rendering was unable to occur at 60fps, multiple frames
might be copied for each frame rendered. This meant that
it might try copying a video frame into a pixmap that was
currently being used by the GPU with bad effects. The
primary effect being severe flicker on i.mx6 targets.
The change is to ensure that we don't read the window data
until we're just about to make use of it. This means we
don't ever get ahead of ourselves and read the video window
once for every frame rendered.
The code has been significantly refactored. There is now
a class that manages the pixmaps and egl images. This is
created on demand and the images are created and destroyed
when sizes change. Since this all now occurs in the proper
thread, much of the nonsense of setting _q_GLThreadCallback
to arrange a call from the render thread is avoided.
Remove BlackBerry ifdefs that are no longer used.
Change-Id: I4bf5efa4c39c8170e3f55499c167ee10e521e100
Reviewed-by: James McDonnell <jmcdonnell@qnx.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I83ce28670950e0895cc746c4ca30f884aa5a35bc
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This patch implements support for rendering of UYVY and YUYV sources when using
QtQuick for preview.
[ChangeLog][QtQuick][Rendering] Support for YUV 4:2:2 8bit has
been implemented for the QtQuick viewfinder.
Change-Id: I4d98f3c44240ee53f7708bc6bd84e7fb83aac069
Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/plugins/avfoundation/mediaplayer/mediaplayer.pro
tests/auto/unit/qmediaserviceprovider/mockserviceplugin1/mockserviceplugin1.pro
tests/auto/unit/qmediaserviceprovider/mockserviceplugin2/mockserviceplugin2.pro
tests/auto/unit/qmediaserviceprovider/mockserviceplugin3/mockserviceplugin3.pro
tests/auto/unit/qmediaserviceprovider/mockserviceplugin4/mockserviceplugin4.pro
tests/auto/unit/qmediaserviceprovider/mockserviceplugin5/mockserviceplugin5.pro
Change-Id: I5742596230dc510ba2a09eba624429bb67179194
|
| |
| |
| |
| |
| | |
Change-Id: I8c1c755270aa0a703103925656f7c1b555e4db1f
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
this fixes static builds by ensuring that all dependencies are exported.
Task-number: QTBUG-51071
Change-Id: I8e1554b648327ea2fb342b882ce8e439bd6f271d
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
From Qt 5.7 -> LGPL v2.1 isn't an option anymore, see
http://blog.qt.io/blog/2016/01/13/new-agreement-with-the-kde-free-qt-foundation/
Updated license headers to use new LGPL header instead of LGPL21 one
(in those files which will be under LGPL v3)
Change-Id: I324f65c61171f36641472964d095d72e452afb3a
Reviewed-by: Jani Heikkinen <jani.heikkinen@theqtcompany.com>
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
|
|\|
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/plugins/android/src/mediacapture/qandroidcamerasession.cpp
src/plugins/wmf/mftvideo.cpp
Change-Id: I78868b416ea4baec89ca3e2dc9eb4712db16d5fc
|
| |
| |
| |
| |
| |
| |
| | |
Makes it compile for me
Change-Id: Ib79f4c38bb165d3698a94c5d1aafee710423a907
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- Add missing "We mean it" comment
- Add missing '_p' suffix for QtMultimediaQuick_p headers
Task-number: QTBUG-49480
Change-Id: I1fd4f8b2fdffecebaebaedaf1b78e1da62c08156
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
|
|/
|
|
|
| |
Change-Id: I729375c1de712f1fb7915c95ce9eb7dcd00fe757
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
|
|
|
|
|
|
| |
Task-number: QTBUG-48595
Change-Id: I1370d9229b0606582cbd828de84ee2717dca3daf
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
|
|
|
|
|
|
|
|
|
| |
And remove import statements from snippets.
Change-Id: I109beabd445186f96f0750b6f23fb623c125181e
Task-number: QTBUG-47620
Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com>
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
The 'mirrored' property indicates the QVideoFrames need to be mirrored
along their vertical axis. This is typically needed for video frames
coming from a front camera on a mobile device.
This is implemented as a string-based property. In Qt 5.6, this should
be replaced by a new public function.
Change-Id: Ideb7de81e83f66826f4efb5f2951c4beec13546b
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
|
|
|
|
|
|
|
|
|
| |
Don't consider a material equal to another when their texture IDs
are not available yet.
Change-Id: Id4127d71abb2db33950a206dc722b24ab626e960
Task-number: QTBUG-47205
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Right now we will always use GLTextureHandle frames with Quick. This is
great in many cases, but not always. Applications that wish to examine
the frames (e.g. via video filters) will sometimes prefer frames in
system memory, even if this is slower to display.
Add QT_QUICK_NO_TEXTURE_VIDEOFRAMES which can be used to disable texture-based
video frames.
[ChangeLog] The environment variable QT_QUICK_NO_TEXTURE_VIDEOFRAMES
can now be used to disable OpenGL texture based video frames. This can be useful
in applications that wish to filter and process the video frames and are not
GPU based.
Change-Id: I5ca6f6d485d5bc6c2da8d47db563cd910c238ac9
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
|
|
|
|
|
| |
Change-Id: If28509a991fb464dc587705ce62af66b528fdd97
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
| |
fe13f5bb introduced a bug which could leave the active texture unit set
to GL_TEXTURE1 or GL_TEXTURE2. When the material is done updating its
state, it needs to make sure the active texture unit is reset to 0
since other materials might assume that's the current value.
Change-Id: I64a6a0cd9fcecdf0fa483909193f70045ff0e9fe
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
| |
- Load shader source from resource files.
- Correctly report material types: each material can use different
shaders depending on the video pixel format but it was reporting
a unique material type. This was causing the node to keep using
the same shader even if its pixel format changed.
Change-Id: Ib903ecd6e7dd1dd56d7cefe255ab7049933df17d
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
|
|\
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/multimedia/playback/playlistfileparser.cpp
src/plugins/windowsaudio/qwindowsaudiodeviceinfo.cpp
Change-Id: I52950def2b8283ae15797d05d4ead6a1256eba19
|
| |
| |
| |
| |
| |
| |
| |
| | |
RGB565 should not be the first pick. As a matter of fact it should be
the last pick.
Change-Id: I4b96fb02093e70d9c642efd79c48358ec7a664b0
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
There's no good reason to do so. Backends can actually provide empty
frames, for example when flushing the pipeline or after stopping
playback.
Change-Id: I687c12b667e31b25e91c3201f59c52a8969d8e05
Reviewed-by: Andrew den Exter <andrew.den.exter@qinetic.com.au>
|
| |
| |
| |
| |
| | |
Change-Id: Icb3e2a640c122424704a8e4b10172ecc7602845a
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Add new fragment shaders and update declarative render (video node) to support NV12/NV21
pixel format.
Task-number: QTBUG-45021
Change-Id: I5d52007f0da56165752268d06efca156f7496b42
Reviewed-by: Yoann Lopes <yoann.lopes@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>
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add the QAbstractVideoFilter base class and integrate it with VideoOutput.
This can be used to perform arbitrary filtering or image processing
on the frames of a video stream of a VideoOutput element right before
the OpenGL texture is provided to the scenegraph by the video node.
This opens up the possibility to integrate computer vision
frameworks or accelerated image processing with Qt Quick applications
that display video streams using Qt Multimedia.
Conceptually it is somewhat similar to QVideoProbe, this
approach however allows modifying the frame, in real time
with tight integration to the scenegraph node, and targets
Qt Quick meaning setting up the filter and processing the results
of the computations happen completely in QML.
[ChangeLog] Added QAbstractVideoFilter that serves as a base class for QML
video filtering elements that integrate compute, vision, and image processing
frameworks with VideoOutput.
Change-Id: Ice1483f8c2daec5a43536978627a7bbb64549480
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
|