Commit Graph

86 Commits

Author SHA1 Message Date
bigbearzhu
4af40afe46 Fixed a testing bug.
Change-Id: Iff7fb6d4de2f38fde37019ea7e8b034707f8bbe1
Reviewed-by: Ling Hu <ling.hu@nokia.com>
2012-06-26 04:08:00 +02:00
Oswald Buddenhagen
b1a4d7f9fc build system cleanups
- load(qt_module) => load(qt_build_config)
- remove:
  - CONFIG+=module (obsolete)
  - code relating to module version headers (automated now)
  - %mastercontent assignment (automated now)
  - QT_BUILD_*_LIB defines (automated now)
  - pointless QPRO_PWD assignments
  - pointless DEFINES+=QT_MAKEDLL
  - pointless and commented out include and depend paths
  - qmake -project boilerplate

Change-Id: I8f4586403848fe8f2dff4e889b389956ffcdea59
Reviewed-by: Jonas Rabbe <jonas.rabbe@gmail.com>
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
2012-06-25 11:44:40 +02:00
Michael Goddard
c88abd0177 Replace a writable position() property with a seek() method.
Seeking is sometimes asynchronous, and more importantly nearly every
one using a slider for seeking ends up with a binding loop.

Change-Id: I45d92e19b0276c8b97c51c073754d1c9d3dc611e
Reviewed-by: Ling Hu <ling.hu@nokia.com>
2012-06-14 05:42:49 +02:00
Michael Goddard
342b8b9be5 Remove the legacy QML API.
This means no version 4.0 (which was never released) and no
Qt.multimediakit alternative import.

Change-Id: Iaacf047b0d72381a4a8cd975e036135ed11ea383
Reviewed-by: Ling Hu <ling.hu@nokia.com>
2012-06-08 07:53:23 +02:00
Kent Hansen
d91d3b9b18 Don't use QtWidgets/QApplication in autotests
These tests don't link against QtWidgets; including QGuiApplication
is sufficient.

Change-Id: I96812af7ac5ef79a9602acf4b51498350e8e50e1
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
2012-06-07 08:28:08 +02:00
Dmytro Poplavskiy
62749d654d Removed encoding options from Audio/Video encoding controls
They are replaced with encoding options from
QAudio/Video/ImageEncoderSettings.
This also allows to specify options without
requesting controls.

Change-Id: I507e68cdb8cb46325689804d27c6d0561cada50b
Reviewed-by: Lev Zelenskiy <lev.zelenskiy@nokia.com>
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
2012-06-07 08:28:08 +02:00
Stephen Kelly
b93032a7df Use QPointer instead of QWeakPointer to track QObjects.
The latter is to be deprecated.

Change-Id: I01998be880feba0819a9bc51f9bec48fd4601789
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
2012-06-07 02:17:22 +02:00
Dmytro Poplavskiy
63db99a8ee Added custom parameters to Audio/Video/ImageEncodingSettings
This allows to specify more advanced and system/codec specific settings

Change-Id: Ia0a2e94eaf56df285a219018e0beab895a2e7c2a
Reviewed-by: Ling Hu <ling.hu@nokia.com>
2012-05-18 05:28:35 +02:00
Mithra Pattison
48e4758a46 Change timeout on qcamera capture tests to QTRY_VERIFY
Previous timeout was causing sporadic test failures

Change-Id: I9b30c0245e16838fafce6a4977d75aaddb6f5fdd
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
2012-05-09 08:37:02 +02:00
Thiago Macieira
b2b92dad82 Change uses of {to,from}Ascii to {to,from}Latin1
This operation should be a no-op anyway, since at this point in time,
the fromAscii and toAscii functions simply call their fromLatin1 and
toLatin1 counterparts.

Task-number: QTBUG-21872
Change-Id: Ic591779a3431999c007fb0ff362c7e25ce54097e
Reviewed-by: Jonas Rabbe <jonas.rabbe@gmail.com>
2012-05-04 13:36:08 +02:00
Dmytro Poplavskiy
b36e2f5209 Replaced QMediaRecorderControl::play/stop/pause with setState
This allows to introduce new states without breaking BC.

Change-Id: I03c064cec92d6745b251a51cfb301e7f01f4b765
Reviewed-by: Ling Hu <ling.hu@nokia.com>
2012-05-02 04:59:17 +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
Lev Zelenskiy
e44bcf0a38 QSampleCache unit test: correctly check whether sample is cached.
Use QSample::isCached instead of relying on pointers.
Also added a test for loading an invalid file.

Change-Id: I9f4f1e8c3dc3cdb4a88a756cc6cad85e68c3a1b6
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
2012-04-27 05:05:42 +02:00
Lev Zelenskiy
b2ca5e8a0d Added unit test for QSampleCache.
Change-Id: I4dbd54822f246ba9a69ab85897a4c983b7c17561
Reviewed-by: Ling Hu <ling.hu@nokia.com>
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
2012-04-25 04:55:20 +02:00
Thomas McGuire
7c84225cc8 Move QVideoWindowControl out of widgets.
There is no widget dependency in it, and this enables the QML
Video element to support video overlays later.

Change-Id: I7ebcde350f9595a9f7c319663ff745930535a8a7
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
2012-04-25 04:02:15 +02:00
Jason McDonald
a775af111b Remove insignificant_test marker for maemo platform.
Continuous Integration is no longer performed for this platform.

Change-Id: I5bd33a3984108fea4e2072b49aed06c57b32d1f4
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
2012-04-24 14:43:12 +02:00
Lev Zelenskiy
41cf8853da QVideoProbe unit test.
Change-Id: If8d391734b08eee2edbc2250fbcbe7f45cf94b3e
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
2012-04-20 08:47:19 +02:00
Lev Zelenskiy
46f67a8b69 QAudioProbe unit test.
Change-Id: I4dde8a46883cfc793fdccbfd24ffde0c818fa1aa
Reviewed-by: Mithra Pattison <mithra.pattison@nokia.com>
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
2012-04-20 08:47:14 +02:00
Jason McDonald
ebe568f2b1 Add bug numbers to insignificant tests.
Change-Id: I4600e4919f9b2bbfcf0ac580054748d14f31b0c9
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
2012-04-16 17:11:33 +02:00
Angus Cummings
e24f4fed53 expanding unit test for QAudioDecoder
Looking for feedback concerning:
implementation of the change
desired functionality of QAudioDecoder

Changed the behaviour of QAudioDecoder for
more sane error output

Change-Id: I82193a94b6fe1ef4202a4ac7bd95c607e0bee9c6
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
2012-04-14 06:57:33 +02:00
Michael Goddard
e057fd9e8a Move QAudioDecoder to public.
To get better feedback between alpha & beta.

Change-Id: I3620825fb9c2bb9de69951cf1d583b191d62cb0d
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
2012-04-11 03:32:00 +02:00
Michael Goddard
aa291c55b4 Make this unit test a bit more robust for qreal changes.
It's not just ARM that has qreal == float (and sometimes not even then)

Change-Id: Ic2fa890afd9f926c455442d04dc84e57dffe7787
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
2012-03-27 06:28:27 +02:00
Jonas Rabbe
9cf0b2b90d Fixed media service provider auto test on Mac OS X
Change-Id: I424ef50188244b5f4232534f9088bdc0071ea63e
Reviewed-by: Ling Hu <ling.hu@nokia.com>
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
2012-03-22 05:59:36 +01:00
Lev Zelenskiy
92b58ac1a7 QMediaPlaylist: Added ability to load from provided QNetworkRequest.
Change-Id: I7d8fc8a432810ff87650808b9ca6af53f7356d4e
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
2012-03-21 07:36:53 +01:00
Lev Zelenskiy
2c034beab5 QMediaPlayer frontend: changes to playlist support.
Allow to load playlists using setMedia().
Use QNetworkMediaPlaylistProvider for playlist parsing.
Updated unit tests.

Change-Id: If4dba07be8b2e8a9e9549d5bed58e552dfb958b7
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
2012-03-21 05:43:27 +01:00
Jonas Rabbe
7fef169bce Marked media service provide test as insignificant on mac
Temporary measure to ensure that IID and plugin changes make it through
CI, will be investigated once those changes have been integrated.

Change-Id: Ie9313a0fa6081ebeff62a83f183ab2534c0469ee
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
2012-03-20 23:40:11 +01:00
Jonas Rabbe
7517dcca3b Updated IID, services, and controls to use qt-project URL
Instead of com.nokia.qt we should use org.qt-project.qt.
All the identifiers have also been updated to use pure lowercase, and
where used the version numbers have been updated to 5.0.

Change-Id: Ib209327f5205f5a086a5932394504a8a52e1f712
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
2012-03-20 23:40:08 +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
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
Kalle Juhani Lehtonen
1f1bdbec82 Add use of TESTDATA feature to integration tests
Use TESTDATA and QFINDTESTDATA in integration tests. Also remove
unused path defines from unit test .pro files.

Change-Id: I46dc6a96b918e989acf79eb3bd23c53125c7c3d6
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
2012-03-15 04:03:17 +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
Kalle Juhani Lehtonen
d6cc6e393f Update Qt Multimedia tests to use TESTDATA
Qt5 brought support for general for test data install and find. This
change replaces old Qt4 time deployment supported in WinCE and Symbian
with the new general solution using TESTDATA in .pro files and
QFINDTESTDATA in source code.

Change-Id: I5dbe3ca22e2259f249ebb4df570ea91f17d23526
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
2012-03-12 05:53:03 +01:00
Lev Zelenskiy
87de0979e5 Added playlist property to QMediaContent
This is a part of changes to QMediaPlayer related to playlist handling.
Updated unit test.

Change-Id: Ic2460dc4d3121788cd5eb08df71e6d45aac032bc
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
2012-03-12 05:29:56 +01:00
Dmytro Poplavskiy
e2eaa283fb Don't request renderer control if null surface is set as video output.
QCamera and QMediaPlayer are likely to wait for valid
surface to be passed to the renderer control before startup, so after
player->setVideoOutput(nullSurface)
player will not start playback.

If the renderer control was already requested before for valid
surface it should be released when the null surface is assigned.

Change-Id: I3f78f2d82e61fae5f305874874c0ffbc4cb7dc1d
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
2012-03-12 04:38:44 +01:00
Lev Zelenskiy
10b0063401 Move most of playlist API to private.
Moved objects either not needed to be public or require API review/redesign.

Change-Id: Ibeb8b8c9c9a74bea32191c119fa4daaffde57c17
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
2012-03-06 07:54:47 +01:00
Michael Goddard
362e443896 Fix some memory leaks.
Adjusted a unit test or two to make leaks easier to find, and then fixed
a few leaks.

Change-Id: I47a20df8de7cac113d34a2015f76a65ab957dedd
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
2012-03-05 03:08:42 +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
Lev Zelenskiy
b56d3e70df Changes to GStreamer backend for audio decoder.
Removed WaitingState.
New signals: finished(), positionChanged(), durationChanged().
New methods: position(), duration().
A parameter removed from read() method.
Unit tests updated.

Change-Id: Ie9d8a2804285c5542e592cce69963adbdf6ebfb8
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
2012-02-24 06:00:41 +01:00
Bradley T. Hughes
ea1037a7d0 Don't use QT_ARCH to detect ARM or OpenGL ES 2 on ARM
Use Q_PROCESSOR_ARM instead of QT_ARCH_ARM.

On maemo6, don't use QT_ARCH==armv6 to conditionally include egl
code. Instead check for opengles2 in QT_CONFIG, which is detected
by the configure script.

Change-Id: Ib3062fbd81c3a3acd318df32c49ad133a5b0d07c
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
2012-02-22 12:27:04 +01:00
Michael Goddard
b9e2410a2a Fix QAudioBuffer sampleCount vs. channelCount.
There were some inconsistencies in when the sample count was per channel
or in total.  The docs mention that it is in total, so fix a few cases
where it went wrong and test it.

Change-Id: I55c855911fcde66a218d6cdd327e09ad5406d5a4
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
Reviewed-by: Lev Zelenskiy <lev.zelenskiy@nokia.com>
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
2012-02-21 07:35:23 +01:00
Michael Goddard
d5042c1ec7 Use QTESTFINDDATA to FIND TEST DATA.
Change-Id: I5fd222e562045085b3d08e19c6544f674e9429d4
Reviewed-by: Ling Hu <ling.hu@nokia.com>
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
2012-02-17 07:27:44 +01:00
Michael Goddard
4f38f950b0 Fix some compiler warnings.
As it turns out, we had an overloaded virtual from an earlier era,
with the extra parameter never used.  So cleaning that up was a
bonus to remove the compiler warning.

Change-Id: I780287f8a5d2b0a1ec84ec62c88ba50e051f372b
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
2012-02-14 08:30:40 +01:00
Jason McDonald
0d74c7193a Remove duplicates definitions of QTRY_VERIFY and QTRY_COMPARE.
These definitions were already ignored due to #ifndef directives
surrounding them, so presumably the differences in timeout values
between these definitions and those in testlib are acceptable.

Change-Id: Ib860fc1ed27ef0690e619ffeed516f7417ae4cd0
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
2012-02-13 06:28:20 +01:00
Michael Goddard
87ec3461c1 Add the audio decoder variant of QMediaPlayer.
Rather than the probe based way of doing it.  Initially private.

Change-Id: I30005f8da22f6451cb9de8eb3f0e193838d48c93
Reviewed-by: Ling Hu <ling.hu@nokia.com>
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
2012-02-08 11:36:08 +01:00
Michael Goddard
e241932c97 Remove some more QTest::qWait(10) calls.
Since it seems to have changed slightly recently.  Just use
QTRY_COMPARE instead.

Change-Id: I802c2e26acf5418bb5904fadd2a978a44fd9eb01
Reviewed-by: Jonas Rabbe <jonas.rabbe@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
Michael Goddard
3c4dcf00bb Add a QAudioBuffer class.
Prereq for probing or decoding.  The abstract API probably needs
to change.

Change-Id: Ie0bf796c1f581f34bbc0a8af2dffc387c513a330
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
2012-02-06 23:18:56 +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