Commit Graph

170 Commits

Author SHA1 Message Date
Dmytro Poplavskiy
f965f683d0 Added missing QDeclarativeCamera::CaptureViewfinder enum value
Change-Id: I75844e3a943a76649d1b51f0c845a4bf8b200a8e
Reviewed-by: Ling Hu <ling.hu@nokia.com>
2012-05-18 05:28:32 +02:00
Dmytro Poplavskiy
3b88e105f8 QML VideoOutput: don't keep video frames for more than necessary
The frame can be released as soon as it pushed to video node.

Change-Id: Ib2621cc2a001629e722bf15b6e1ca09323170870
Reviewed-by: Mithra Pattison <mithra.pattison@nokia.com>
Reviewed-by: Ling Hu <ling.hu@nokia.com>
2012-05-16 07:07:28 +02:00
Dmytro Poplavskiy
be6d80e57a Expose camera status to QML Camera element
It's exposed as Camera.cameraStatus property.

Change-Id: Id3b477266d3a666b7a2a61cd4579f0e3f873d3b8
Reviewed-by: Mithra Pattison <mithra.pattison@nokia.com>
Reviewed-by: Ling Hu <ling.hu@nokia.com>
2012-05-16 07:07:28 +02:00
Angus Cummings
9e6d03584a Minor doc fixes for QML
renaming QML element to QML type
removing some \fn tags that were making the docs not build
some rewording
some new signal docs

Change-Id: I9b350dad1780276959aef4105e53b91082a6083e
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
2012-05-16 05:21:25 +02:00
Dmytro Poplavskiy
08d45baac2 Fixed QML Camera errors reporting
Added missing connection to QCamera::error() signal
Added Camera.errorCode property

Change-Id: Ie0dd71d760b4b5b79b2aefaba97bc383ef2a9750
Reviewed-by: Ling Hu <ling.hu@nokia.com>
2012-05-14 08:37:41 +02:00
Dmytro Poplavskiy
112820ef46 Improved QDeclarativeCameraRecorder errors reporting
Added QDeclarativeCameraRecorder::Error enum to allow
specify error codes as CameraRecorder.FormatError.

Added QDeclarativeCameraRecorder::errorCode property.

Change-Id: Iac5522c3110591493b98e59db18dbfc2d3b7496f
Reviewed-by: Lev Zelenskiy <lev.zelenskiy@nokia.com>
Reviewed-by: Ling Hu <ling.hu@nokia.com>
2012-05-14 08:37:30 +02:00
Kent Hansen
68680fc661 Don't use QtDeclarative compat module
Use QtQml instead.

Change-Id: I7618ba89a2ed288f7043ae402ac091a924598f03
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
2012-05-14 05:34:32 +02:00
Thomas McGuire
025f4d2ee1 Support QVideoWindowControl in the QtQuick Video element.
Change-Id: I953899a3ec92856955d36528057b0d45f9c26394
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
2012-05-03 10:34:10 +02:00
Dmytro Poplavskiy
b7935a84d7 Added QMediaRecorder::status property
QMediaRecorder::state property represents the user request and
changed synchronously during record(), pause() or stop() calls.

Recorder status is changed asynchronously
and represents the actual status of media recorder.

This also makes API more consistent with QMediaPlayer and QCamera.

Change-Id: I80b4aaa70bb88e555c492908da8c29d0fc5ed5ea
Reviewed-by: Ling Hu <ling.hu@nokia.com>
2012-05-02 03:15:01 +02:00
Friedemann Kleint
5ae3adcfa9 Fix compilation after qtbase:8f85b84f4eaa85ff5c02ec5e65fd6706a10690b9.
Remove QDeclarative compatibility module code.

Change-Id: Ib24c0c027c899e7eb30b3c8550a483d0d8b2b77f
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-04-24 11:47:54 +02:00
Angus Cummings
c7b02bad92 Change Video and VideoOutput docs to mention ScreenSaver
Change-Id: If7a03e9eafd351eec484a568802c75d955b68ecf
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
2012-04-16 10:56:34 +02:00
Lev Zelenskiy
3d89cae052 QDeclarativeVideoOutput: correctly disconnect _q_updateMediaObject
Fixed a bug where _q_updateMediaObject() slot wasn't disconnected
correctly.

Change-Id: I45696fc850dc59ff6f1cc45da15b87c280c29088
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
2012-04-16 09:44:40 +02:00
Thomas McGuire
72316a4ea8 Use QtMultimedia 5.0 in the QML Video element doc.
Change-Id: I5e549b321a549d2b4abc058cf08d81329df3562e
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
2012-04-13 03:28:26 +02:00
Michael Goddard
8484b0ff9c Fix a number of doc errors and warnings.
* Document a few missing classes/functions/methods
* Fix a number of QML snippets that wouldn't work as standalone snippets
* Add files to .pro so they show up in Creator..

Still the mysterious lack of controls dir documentation persists :/

Change-Id: I57162371a4d966e4db5bdb1b71d1baf9c0ca57c3
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
2012-04-11 03:31:52 +02:00
Jonas Rabbe
c532850fd1 Updated a lot of minor fixes to the docs and removed warnings from qdoc
Change-Id: Ib7fd75fb93c038f9e8fa9d71b6ad01fb27b97622
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
2012-04-05 03:54:02 +02:00
Jonas Rabbe
5eefb83589 Added typeinfo for audio engine
QML imports that load from a plugin need to have typeinfo so that
Qt Creator can do inline type checking and code completion.

Also adds convenience make target for updating the typeinfo.

Change-Id: I4c3a93bf8b8925032c0d03c99df277280f03376e
Reviewed-by: Mithra Pattison <mithra.pattison@nokia.com>
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
2012-04-04 23:46:33 +02:00
Jonas Rabbe
7c57a7c412 Add typeinfo for the declarative plugin for Qt Multimedia
For Qt Creator to correctly typecheck and auto-complete QML types and
objects, the typeinfo must be exported and added to the qmldir file.
This patch contains those changes, and an update to make updating the
typeinfo file easier in the future.

Change-Id: I988f22d3ca81839662cce4aed9d5297f7c5fbf32
Reviewed-by: Mithra Pattison <mithra.pattison@nokia.com>
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
2012-04-04 05:29:04 +02:00
Jonas Rabbe
6c2f9f0f52 Moved video plugins around to prevent accidental unloading
If several different plugins are located in the same place, and are
loaded by different instances of QFactoryLoader, like we use, then
plugins that are used elsewhere can be unloaded.
By ensuring that the plugins are alone in their directory, then
they will not have this problem.

Change-Id: Id95b81ddf46435278fe43a4769e2d39f6b973a84
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
Reviewed-by: Mithra Pattison <mithra.pattison@nokia.com>
2012-04-02 00:33:14 +02:00
Andrew den Exter
655408bced Don't delete video node factories owned by the plugin loader.
Make the fallback factories members instead of creating on the
heap so there's no need to delete members of the m_videoNodeFactories
some of which may be shared with other current and future video
outputs.

Change-Id: I3d2e32e52479b12ff64e31a2ed527336d94a191b
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
2012-03-23 07:41:52 +01:00
Angus Cummings
5d6494f248 resolving some warnings in qtmultimedia docs
Change-Id: I9df926f64548a5d53382448ca4eef8d428339aa3
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
2012-03-22 06:47:05 +01:00
Dmytro Poplavskiy
8477d735c9 Added VideoLight camera flash mode.
Unlike the torch mode, it's enabled only while camera is active.

Change-Id: Ib92349ac190586c5aa8e49a8fddbdf937e757fd0
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
2012-03-22 06:47:05 +01:00
Thomas Senyk
b816a640a9 changing include from qdeclarativeinfo to qmlinfo in qdeclarativeaudio.cpp
Change-Id: I7244f6c7b3743dfe5532f1d13c2afef256a2cdbc
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
2012-03-21 22:25:33 +01:00
Jonas Rabbe
a8ba6e3c7f Updated plugins to use new plugin architecture
Changed QMediaPluginLoader to use QFactoryLoader instead of QPluginLoader
and used metadata to get keys.
Removed QAudioPluginLoader and changed audio classes to use instead use
QMediaPluginLoader.
The plugins must include the Q_PLUGIN_METADATA macro, and no longer use
the Q_PLUGIN_EXPORT/Q_PLUGIN_EXPORT2 macros.
A json file has been added for each plugin which can contain metadata
which is available to the plugin loader before the plugin is actually
loaded, and is used to read the keys for the plugin, e.g. supported
services.
QFactoryInterface will be deprecated and has been removed from all
plugins.

Change-Id: I035b82f9c9c65717bebf704d560ea8f891df21da
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
2012-03-20 23:39:45 +01:00
Dmytro Poplavskiy
3f73ddbc71 Fixed the qml Camera.imageCapture.imageExposed signal connection
Trivial fix.

Change-Id: I522e3186ce9284e3aa0fb84296bc3c1e663e8577
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
2012-03-20 01:07:46 +01:00
Michael Goddard
e9ebbeef72 Make QDeclarativeAudio use QMediaPlayer instead of the controls.
Very minor changes in semantics due to previous differences:
* negative positions are not supported any more (clamped to >= 0)
* setting muted to the same value previously set to the control itself
  won't signal any more.

Change-Id: Iacf4310508d853ae82b63dee28095fce12b6ff28
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
2012-03-16 06:58:46 +01:00
Michael Goddard
7c0b1da0ed Merge the QDeclarativeMediaBase and QDeclarativeAudio classes.
Since there is only one subclass of base.

Next step is to clean up QDeclarativeAudio

Change-Id: Ibda8c3006efa165b58372a011121f04a39458562
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
2012-03-16 05:38:11 +01:00
Jonas Rabbe
8e82f57c6a Updated declarative components to use the QML module
Change-Id: I4b49466ba5248683c2285f98ce17bc2c24bba515
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
2012-03-14 05:55:40 +01:00
Jonas Rabbe
942ff7a3c6 Made QRadioData bind to QRadioTuner to avoid using multiple services
QRadioData has been updated to be a QMediaBindableInterface, and it
will bind to a QRadioTuner instance, i.e. a QMediaObject that provides
a service which implements the QRadioDataControl.
This change is reflected in the declarative implementations of radio
tuner and data. There is a new `radioData` property in the Radio element
which will give access to the declarative RadioData element for the
tuner.
If a RadioData element is created in QML, it will have an anonymous
tuner which communicates with the underlying media service (which is
pretty much the same how the QRadioTuner and QRadioData classes work
previously).
Updated radio tuner and data test cases to use availability control
and extended the mock media service to allow providing a number of
controls rather than just one (needed for testing availability of
all classes extending from or using QMediaObject).

Change-Id: Id41dde66eee529decd828fd2dcdfe4a54c0e81f4
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
2012-03-12 08:21:07 +01:00
Dmytro Poplavskiy
a15b9d3ce8 QCamera capture documentation fixes
Added documentation for camera capture queue behavior.

Change-Id: I4989f94c5de0edb3ac99135dcb3e11d76195a880
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
2012-03-12 07:36:06 +01:00
Michael Goddard
cb39035162 Remove unimplemented BG playback feature.
Prototype that wasn't implemented should be removed for 5.0.

Change-Id: I3b90658ad8dc0b64003a5bb741fc3c93c7d87dff
Reviewed-by: Ling Hu <ling.hu@nokia.com>
2012-03-05 12:39:54 +01:00
Michael Goddard
2a8463711c Expose availability from the backend to C++ and QML.
The availabilityError property was static based on the service, but it
can change at run time, so add the plumbing to allow the backend to
report it itself.

Also make sure that both QML and C++ expose the availability.

The radio tuner and data controls previously had properties (but no
signals) for availability - these have been removed.

Change-Id: I9240cf93e2a51b14cd38642f9312ae3c75f05361
Reviewed-by: Ling Hu <ling.hu@nokia.com>
2012-03-02 09:30:34 +01:00
Casper van Donderen
d1b6bf5fac Remove the usage of deprecated qdoc macros.
QDoc now has support for Doxygen style commands for italics, bold
and list items. This change applies that change in QDoc to the
actual documentation.

Task-number: QTBUG-24578
Change-Id: Iec1c616e0d9a915a31a661916805916e19495dc9
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
2012-03-02 04:02:43 +01:00
Michael Goddard
b33b0d9d1d Expose the audio and video encoding modes through QML as well.
They were missing.

Change-Id: I0bb08c5e4721c27d2dcec818c0ee33f42c8df959
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
2012-02-29 02:43:08 +01:00
Peter Yard
cd5a8fc69d Docs: fix qml links and standalone build for Multimedia
Change-Id: Ia3f1e49aef203911bb5cf1ee062c9100be213b38
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
2012-02-22 04:07:09 +01:00
Ling Hu
d5f344be4c Update audioengine overview doc & reference doc
Change-Id: If1061b3dc113f4354d741c536d63cbe36e7a65eb
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
2012-02-21 07:35:41 +01:00
Michael Goddard
acbefbf5c6 Add the hasAudio/hasVideo properties from MediaPlayer to Video.
Change-Id: I167184c3622c4fcb0843b17f2ab803b0bbf104fa
Reviewed-by: Mithra Pattison <mithra.pattison@nokia.com>
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
2012-02-17 09:16:06 +01:00
Michael Goddard
c72ad5b190 Add Video_4.qml to the packaging.
Change-Id: I0a6036a979ab00a2885c56450d1db9497b1cff0c
Reviewed-by: Angus Cummings <angus.cummings@nokia.com>
Reviewed-by: Ling Hu <ling.hu@nokia.com>
2012-02-17 07:27:39 +01:00
Michael Goddard
bd9484ddca Tweak some more documentation.
A lot of the previous Qt Mobility API methods were still present,
so they are gone now.  Also removed some of the C++ documentation
since it's not public API anyway.
Made a group for camera QML APIs and used that for the list in the
camera overview documentation.

Change-Id: I0864bd2230a42596e951b68d0df1211766c90dfc
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
2012-02-14 02:48:37 +01:00
Michael Goddard
048e38bd19 Documentation updates for declarative camera elements.
A number of things were missing.

Change-Id: Ic4eb2e88804b519478eeae733cc5f473b717270d
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
2012-02-13 10:21:44 +01:00
Michael Goddard
db781f29e0 Add some recent things to the overview docs.
Also clean up a few other doc related bits and pieces.

Change-Id: I56714e1811e38a7225131c1d141430b49f5f509c
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
2012-02-09 01:33:18 +01:00
Jonas Rabbe
6de7c31040 Added loading of video node factories from plugins
This change will allow us to add new video node factories that
can be loaded dynamically at runtime.

The previous video node factories, I420 and RGB have been kept
as static parts of the Qt Multimedia imports, but can be moved
to plugins at a later date.

For plugins to be able to find and use QSGVideoNode, the class
has to be exported.

Change-Id: Idbead9a8ad33619cebe90fcec92eb29cf52ae9bd
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
2012-02-08 04:38:16 +01:00
Angus Cummings
a94c8a1ac2 API changes to QML element MediaPlayer aka Audio
Changed Video.qml for new API
Removed lowercase enum copies, replaced with calling
	parent (VideoOutput, MediaPlayer) enums
Removed properties playing, paused
Removed signals started, resumed
Added readonly property playbackState
Added signal playing
Added autoPlay property
Fixed unit tests for new API

Added backwards compatibility for QtMultimedia 4

Change-Id: I27c91cd46d91402b8c4c42bb7d4961ad67909aeb
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
2012-02-08 03:48:51 +01:00
Dmytro Poplavskiy
d0595cbca4 Updated declarative camera image processing with C++ API changes
Changed ranges and meaning of image adjustments parameters.

Change-Id: I1710bfabc4f216c83df7983a871bffb474cfbcc2
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
Reviewed-by: Mithra Pattison <mithra.pattison@nokia.com>
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
2012-02-07 09:04:23 +01:00
Dmytro Poplavskiy
96aa2e9af7 Updated declarative camera recorder with C++ API changes.
Added key,value parameters to metadataChanged() signal;
Added a separate actualLocation property to desribe the path of
recorded file. It may be different from outputLocation when default
location is used.

Change-Id: I5a4b77833b6458a19ed7e1dcf7e53fc7400cdf21
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
2012-02-07 06:48:32 +01:00
Dmytro Poplavskiy
00d1e2f65e Expose capture request id in the declarative camera.
It's useful to associate imageCaptured/Saved signals data with
capture requests.

Change-Id: I3e98c4a194403bd338a1b5313d8736b4baf79961
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
2012-02-07 05:01:24 +01:00
Dmytro Poplavskiy
ee39683e27 Moved QMediaServiceProvider to private header.
It's not intended to be used by applications.

Change-Id: I2acc26180ebb5c2419438169827f39aaf4578389
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
2012-02-06 13:57:42 +01:00
Michael Goddard
c0fd63d143 Documentation tweaks.
Mostly move widgets classes into the QtMultimediaWidgets module, but
also mark a few mostly internal playlist classes as \internal.  A few other
tweaks.

Change-Id: If0e376410bf2187cafb24f583108c6beb7b910a9
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
2012-02-06 07:45:05 +01:00
Ling Hu
809bbc35c6 Add AudioEngine with new implementation
Change-Id: I5eebe662ecbce9814ed3e763db56df9be737d11f
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
2012-02-06 05:35:28 +01:00
Dmytro Poplavskiy
0924cff7b3 Removed QFlags from declarative camera properties.
It doesn't work, while even without QFlags
camera.captureMode = Camera.CaptureVideo + Camera.CaptureStillImage
works correctly.

Change-Id: I00727ad37cbf33e0c6d557a9da08160d6ea4bdc9
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
2012-02-06 05:35:15 +01:00
Dmytro Poplavskiy
d292f4a7d3 Changed QCameraFocus::focusMode type to QFlags based FocusModes
It was intended to be QFlags based from the start.

Change-Id: I0919b3440eb18e84fc596fb894f18a53e5ff1da0
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
2012-02-02 03:34:13 +01:00