Commit Graph

207 Commits

Author SHA1 Message Date
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
Dmytro Poplavskiy
a26bf6c8b6 Added more encoding settings to declarative camera recorder.
Change-Id: If2ec0297a2db5fedaf27c009fb8d55ccf4254c21
Reviewed-by: Ling Hu <ling.hu@nokia.com>
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
2012-02-01 08:10:28 +01:00
Dmytro Poplavskiy
a22a0195f1 Split QMediaRecorder::setEncodingSettings to separate setters.
It's easier to change only the necessary part of encoding settings.
The settings are applied during the next event loop or before recording
starts.

Change-Id: Ia2b5c93826a302212aa7f79a0c75e4cbaaf1dd7a
Reviewed-by: Ling Hu <ling.hu@nokia.com>
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
2012-02-01 08:10:20 +01:00
Jonas Rabbe
9d3102efe2 Added antennaConnected property to QRadioTuner and radio qml element
Change-Id: I5af8487277e0444629c710c6a0a4e890a8d35c6f
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
2012-01-30 21:32:18 +01:00
Jason McDonald
5e801e2793 Remove "All rights reserved" line from license headers.
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>
2012-01-30 07:08:05 +01:00
Michael Goddard
88431b2841 Fix some surface assignment errors.
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>
2012-01-27 07:35:09 +01:00
Michael Goddard
bad94a5329 Add a rendered and content rectangle properties to VideoOutput QML.
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>
2012-01-27 07:35:06 +01:00
Dmytro Poplavskiy
2db9b4b1c8 QCameraExposure API refactoring
QCameraExposureControl:
 Separated requested from actual exposure values.
 Removed ParameterFlags, it's confusing and seldom used.
 Moved ExposureMode and MeteringMode to parameters.

QCameraExposure:
 Added requestedAperture/ShutterSpeed/Iso getters

Change-Id: I408586d85e6c9de0c8a711c32b3c90ea46052270
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
2012-01-25 06:14:59 +01:00
Dmytro Poplavskiy
a78a95ccd4 Removed QMediaServiceProvider parameter from media objects constructors.
QMediaServiceProvider should be removed from the public API,
to provide media objects with a custom media service.

A protected QMediaPlayer/QCamera/QRadioTuner/etc constructor
with QMediaService* parameter is a cleaner and more
flexible solution.

Change-Id: I335cce4bbebe0e548c3df338f206e7be7c93c3dd
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
2012-01-24 09:11:07 +01:00
Jason McDonald
6390157fd7 Update obsolete contact address.
Replace Nokia contact email address with Qt Project website.

Change-Id: Ie8cd560b6d9a2c6e552b6be1ad8bc96c80a6535c
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
2012-01-23 04:21:51 +01:00
Dmytro Poplavskiy
a465e37bd6 Fixed mapping video frames in SG nodes
Since it's possible to map video frame in R/O mode multiple times
it's always necessary to map it before accessing frame data.

Change-Id: I13f58085a0b19dba772e0b75c64d9f07d1ac2a58
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
2012-01-20 08:27:50 +01:00
Michael Goddard
48f714037e Document two VideoOutput properties.
Still needs polish.

Change-Id: Ida24f1ecd0c8a41e9fd6e34ed68cfe1ed8181c00
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
2012-01-20 07:21:48 +01:00
Dmytro Poplavskiy
8ff5b88b27 Changed metadata keys type from enum to QString.
This allows to combine metaData and extendedMetaData
and simplify metadata handling on both backend and application sides.

Change-Id: I136eedc86c215be3485db101c43069ca7c82101b
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
2012-01-20 06:30:37 +01:00
Michael Goddard
f050d8fe2b Use US spelling for organization.
Since it seems it was never implemented, don't keep the
legacy spelling.

Change-Id: Idc918548a4ed643ba7da35e97ce08f401e74303f
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
2012-01-19 05:37:51 +01:00