| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
There's no need for having those in plugins and we can
further remove abstractions and simplify our code if
the code is directly compiled into Qt Multimedia.
Change-Id: I5267a6a776375d99be8f0de4207f0288d963e620
Reviewed-by: Doris Verria <doris.verria@qt.io>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If QAbstractVideoSurface is not used on rendering thread
added a way to pass shared opengl context via GLContext surface property.
Camera and media players that are created in Qt Quick will usually have
their rendering done on the render thread, but the callback for custom video
surface(s) (or probes) will usually be handle on the GUI thread, so to
make it convenient to for the user to access the frame data, which is rendered
on request, we now set-up context sharing and render to a fbo on the calling
thread, if needed.
Task-number: QTBUG-69333
Change-Id: I4cc5c1f741c82376f1402a047b946b59281c9a4c
Reviewed-by: Christian Strømme <christian.stromme@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
DeferredDelete events have implicitly higher priority,
which makes this event to be handled before MetaCall events.
See QSGSoftwareRenderThread::sync():
...
QCoreApplication::sendPostedEvents(nullptr, QEvent::DeferredDelete);
Where it processes deferred deletes and no meta calls will be delivered
even if they were requested before the deferred delete.
Task-number: QTBUG-67280
Change-Id: Iba23550d2cffb1cea1b4c2fe4c903078d9f2f046
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
| |
Change-Id: I17b3650a3df5688274151c1f2c4629e4a5062028
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
Make sure that the frame being processed is still valid, that is, the
size is valid and correct, and that the frame buffer is accessible.
Task-number: QTBUG-60115
Change-Id: Ic64b6f7d45d92b7923d97d6ecdc630da31abee17
Reviewed-by: Michael Dippold <mike@dippold.com>
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
|
|\
| |
| |
| | |
Change-Id: I3204cdf695f4b47730a88a7c41fc7a6de967b161
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Simplify the ownership of the OpenGL resources and make it simpler
to release individual resources as needed. Previously we would
reset the texture handle without releasing it back to the system, making
us leak texture each time the video output was reset.
Also, be consistent with the type used for the texture handle.
Task-number: QTBUG-54340
Change-Id: Ic3b3c7322677a909e51aa5983fa99ccf8b290302
Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
|
|\|
| |
| |
| |
| |
| |
| | |
Conflicts:
src/plugins/winrt/qwinrtcameracontrol.cpp
Change-Id: I45d3042adf19577a72794610fa1c310cb22e26c4
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Android API level 16 added SurfaceTexture::attachToGLContext(). This
allows to create the OpenGL texture when the first video frame is
available, rather than at initialization. This means we can do without
the ugly hack that makes the render thread call us back through some
custom property.
Additionally, it allows to recreate a new OpenGL texture every time
the SurfaceTexture is reset.
Task-number: QTBUG-51911
Change-Id: I17b04524d426c42ef8aa0288b0731597bc9eba62
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
|/
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QCamera can now pass raw frame data to its QAbstractVideoSurface.
The now deprecated Android camera API we're using doesn't allow to
get frame data without also displaying the frames in a SurfaceView
or a SurfaceTexture. To work around that, an invisible dummy
SurfaceView is used.
This allows to retrieve frames in the NV21, YV12, YUY2 or RGB565
formats, depending on the Android version and on the device.
Task-number: QTBUG-35416
Change-Id: I77b4f50505c3b91efb4b2288a57f50398922c0db
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
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>
|
|
|
|
|
|
|
|
|
| |
- 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>
|
|
|
|
|
|
|
| |
Makes the abstraction more clear.
Change-Id: Ia9a7b0b157e1182158cd26b62775d13f6c5e1727
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
In some cases the the Android media player would get into a unexpected
state and we where then not able to recover.
With this patch we monitor the state changes more closely and recover
when possible.
Task-number: QTBUG-35651
Change-Id: I142c63fbbf716d3f94ebdcf016a7cadad7b13207
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
|
|
|
|
|
|
|
|
|
|
| |
We used to generate the capture preview from the video output, grabbing
the pixels of the last frame (in a FBO). This is not possible anymore,
we instead query the camera for a preview frame, which is in the NV21
format and needs to be converted to RGB.
Change-Id: I1c728b3a708a6f052a83aebf9f15f511eab7a02f
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Removed the overhead of having to create a shared OpenGL context in the GUI
thread and pre-render the frame into a FBO.
We now directly render the GL_TEXTURE_EXTERNAL_OES in the QtQuick render
thread, using an Android-specific QSGVideoNode.
We also use a callback from the render thread to create the texture from
there and not have to create a separate shared OpenGL context.
Change-Id: I6c8eb94b47d0a03329c912701b8af3fb5ebd1876
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
|
|
This patch includes all camera features: viewport, settings, image
capture, and video recording.
It also adds support for QAudioRecorder.
Change-Id: Ib962177cc8de4bac03f42a2bc0f534e03464bbfc
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
|