We need to do an early return when an AudioCategory is successfully
added to an AudioEngine, otherwise a warning is incorrectly shown.
Change-Id: If310c694a703242aff7f1c5ae04ad3e40c3f1acd
Reviewed-by: Christian Stromme <christian.stromme@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>
Unlike what was described in the documentation, it's not permissible to
call capture() while 'ready' or isReadyForCapture() is false. All
backends emit an error in that case.
Updated the documentation to reflect that behavior.
Change-Id: Icb326e65376b65eadd4c68b67e0ee30beddf1a04
Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com>
Reviewed-by: Christian Stromme <christian.stromme@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>
There already was a control interface for the viewfinder settings
but no real public C++ API and a partial QML API.
This patch adds a new C++ API and improves the QML API.
Supported viewfinder settings are resolution, minimumFrameRate,
maximumFrameRate and pixelFormat. The camera can be queried for
the supported values for each of these settings.
A new control interface was created to match the new API.
Change-Id: I289fea038fe46277a5516c956a64280da09ed985
Reviewed-by: Andrew den Exter <andrew.den.exter@qinetic.com.au>
Found by Clang 3.6:
qdeclarativemediametadata_p.h:292:14: warning: 'QDeclarativeMediaMetaData::event' hides overloaded virtual function [-Woverloaded-virtual]
qobject.h:116:18: note: hidden overloaded virtual function 'QObject::event' declared here: different number of parameters (1 vs 0)
Change-Id: I4324c984649738c9625cc3eb9dddea6e2abf46a9
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
[ChangeLog] New color filter property for QCameraImageProcessing.
Change-Id: I999e349e3e4f284b533fa62ba50903fbd21cb400
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
Important warnings such as missing services are still printed though.
Task-number: QTBUG-31080
Change-Id: I96fd3837c4edc58c61b97bf950b7cab05ceed014
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
Also added a new QtMultimedia global object which makes it possible
to retrieve the list of available cameras. It can be extended with
new utility functions in the future.
Includes documentation, example and auto tests.
Task-number: QTBUG-23770
Change-Id: Ifea076329c3582ea99246ee1131853344a7b773f
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
The signal name is 'cameraStateChanged' but was documented as
'stateChanged'.
Change-Id: I80279613b55105a925acafc21f67c4a0917906af
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
Add write accessors to the properties of QDeclarativeMediaMetaData as
well as additional properties for previously unmapped image keys and
add a metaData property exposing this to QDeclarativeCamera.
[ChangeLog] New metaData property for the QML Camera type.
Change-Id: I4456b7b6120842f7ad9a1b175e42b9fb332adf13
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
At least one type needs to be registered with the 5.3 version number to
make it known to the QML engine.
Change-Id: Iacfe62650b4194fbb89135fef7cb148309227ce2
Reviewed-by: Alan Alpert (Personal) <416365416c@gmail.com>
The corresponding properties in the Audio and MediaPlayer QML elements
are also updated.
Change-Id: I7104d274d431e7712db2f045c375756e8c2ac03a
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
The module is not released yet; the current documentation is misleading.
Change-Id: Ia20ac8e3504942f6f60b94264f3a12497e09da24
Reviewed-by: Niels Weber <niels.weber@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
Once the QML component is complete, don't cache any value anymore and
always ask the backend for the actual value.
Change-Id: I2c3ad55618e0532f713cfcc8258a70a1114fc975
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
CameraExposure, CameraFlash and CameraFocus had signals and functions
using enum-type arguments declared in QDeclarativeCamera. This doesn't
work since an enum and a function using it both need to be declared in
the same class in order to work from QML.
The relevant enums have been duplicated (not moved, in order to
preserve QML source compatibility) from QDeclarativeCamera to
QDeclarativeCameraExposure, QDeclarativeCameraFlash and
QDeclarativeCameraFocus.
Change-Id: Ib307d7c6c9dbc59b1b82782913397160be38d4cd
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
Append the handler names to the end of the corresponding signal doc.
Task-number: QTBUG-35846
Change-Id: I325cdab75ef18a19c9f29d6333039c31baa8daf6
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
When QDoc stopped accepting the version number of QML modules, some
parts of QML documentation disappeared silently.
Change-Id: I528a2d77587e5803ed971dfe8849d0b37d9c555a
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
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>
Query existing settings from the recorder instead of locally cached
settings as some other agent may have applied some settings separately
and those would otherwise be discarded.
Change-Id: I0ebeaf06c6f7306c5987aa269032842b538a6a8b
Reviewed-by: John Brooks <john.brooks@dereferenced.net>
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
mapPointToSource() and mapPointToSourceNormalized() were documented with
the wrong name.
Change-Id: Ia128f698a02f1c865bc27443ef2c6cef8fc7a720
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
It was added twice, which breaks the build when using Multimedia on iOS
Change-Id: I0b5f08bc57d5d558fb060b00d5bdeb4149499a0d
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
When setting the source to an empty string in these elements, pass an
empty QMediaContent to the backend rather than an empty URL. The former
is the correct way to clear the current media.
Task-number: QTBUG-34125
Change-Id: I3dd7b07abc0bd23a1253c8c0e075b174c17a4d3f
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
-fixed \since to "\since 5.0" (Qt version 5.0)
-made a \qmlmodule page so the list of related classes are automatically
listed
-made changes in the Qt Multimedia documentation to link to the
Qt Audio Engine documentation
Change-Id: Ibdd3da02871648988a73172934e684840c4ce0ae
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
The version is not needed anymore and QDoc handles them as a different
module, causing errors.
Task-number: QTBUG-32172
Change-Id: I55054a6c7bce9e001ef03cce944b03375c851d15
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
-\qmlmodule denotes the import statement "QtMultimedia 5.0"
-\inqmlmodule shouldn't have the version number and this commits removes
it because it is confusing.
Task-number: QTBUG-32172
Change-Id: I76f58ddd5ea2d5ae51eaae83a8408fd67611838a
Reviewed-by: Martin Smith <martin.smith@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>