platform/upstream/qtmultimedia.git
12 years agoWhen resource is lost pause the pipeline instead of stopping it.
Lev Zelenskiy [Fri, 11 May 2012 04:47:03 +0000 (14:47 +1000)]
When resource is lost pause the pipeline instead of stopping it.

Change-Id: Iccbf2f820ec6373d5853accc064dad659858514c
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
12 years agoRenaming audioengine overview to Positional Audio
Angus Cummings [Fri, 11 May 2012 04:59:31 +0000 (14:59 +1000)]
Renaming audioengine overview to Positional Audio

Change-Id: I1688b5e76f7b3a8eecd5fcf060717b49f7a36f4e
Reviewed-by: Ling Hu <ling.hu@nokia.com>
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
12 years agoQGStreamerPlayerSession: unref pads after using them.
Lev Zelenskiy [Fri, 11 May 2012 01:36:15 +0000 (11:36 +1000)]
QGStreamerPlayerSession: unref pads after using them.

Change-Id: I3eec73eca5c2da3c449f362da8639a6dfb52a9e9
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
12 years agoQGstreamerMetaDataProvider: fix keys not mapped properly.
Lev Zelenskiy [Fri, 11 May 2012 00:39:40 +0000 (10:39 +1000)]
QGstreamerMetaDataProvider: fix keys not mapped properly.

Add a key which is mapped against the QGstreamerMetaDataKeyLookup,
not the original Gstreamer key.

Change-Id: I2e20b102e97b9a3a7909ff925f195cd0bdff1775
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
12 years agoGst played: removed GST_SEEK_FLAG_ACCURATE flag
Dmytro Poplavskiy [Wed, 9 May 2012 02:32:45 +0000 (12:32 +1000)]
Gst played: removed GST_SEEK_FLAG_ACCURATE flag

Forcing accurate seeking may be very slow for some files,
it's not intended to be used with media players.

Change-Id: I9fe759f6effa447a800aeea321cc46617c64866f
Reviewed-by: Lev Zelenskiy <lev.zelenskiy@nokia.com>
Reviewed-by: Mithra Pattison <mithra.pattison@nokia.com>
Reviewed-by: Ling Hu <ling.hu@nokia.com>
12 years agoChange timeout on qcamera capture tests to QTRY_VERIFY
Mithra Pattison [Wed, 9 May 2012 04:32:03 +0000 (14:32 +1000)]
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>
12 years agodelete unused file
Oswald Buddenhagen [Thu, 5 Apr 2012 12:26:16 +0000 (14:26 +0200)]
delete unused file

Change-Id: I15ad0f30859a3133993f0a75ed0d09bb5ef9cdf5
Reviewed-by: Jonas Rabbe <jonas.rabbe@gmail.com>
12 years agofix project file
Oswald Buddenhagen [Mon, 16 Apr 2012 12:54:54 +0000 (14:54 +0200)]
fix project file

"console" is CONFIG, not QT.
also, it doesn't look too convincing if an example uses private headers
...

Change-Id: I5bc128c6268901c9842f8b842d6344bd32fc7d1e
Reviewed-by: Jonas Rabbe <jonas.rabbe@gmail.com>
12 years agoAdapt to _qpa file rename in qtbase.
Girish Ramakrishnan [Tue, 8 May 2012 07:10:06 +0000 (00:10 -0700)]
Adapt to _qpa file rename in qtbase.

qtbase change 36547f4eff44361f7a6acd0cff107c0e47561f93
renamed qpa headers.

Change-Id: I3d2f08fb969bf1b448b0105032d6111c6643a7a7
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
12 years agoDeclare and register metatypes for media encoder settings classes
Dmytro Poplavskiy [Thu, 3 May 2012 07:48:13 +0000 (17:48 +1000)]
Declare and register metatypes for media encoder settings classes

Change-Id: Ib3a42409045fe55c7a410b5ec52bd284f3475417
Reviewed-by: Mithra Pattison <mithra.pattison@nokia.com>
Reviewed-by: Jonas Rabbe <jonas.rabbe@gmail.com>
12 years agoChange uses of {to,from}Ascii to {to,from}Latin1
Thiago Macieira [Thu, 3 May 2012 14:58:59 +0000 (16:58 +0200)]
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>
12 years agoSupport QVideoWindowControl in the QtQuick Video element.
Thomas McGuire [Thu, 5 Apr 2012 13:53:44 +0000 (15:53 +0200)]
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>
12 years agoImprove .gitignore
Thomas McGuire [Thu, 26 Apr 2012 17:16:39 +0000 (19:16 +0200)]
Improve .gitignore

Change-Id: I4e9fd33f199b90a4b7c8cf8b9fcc6d18c532842d
Reviewed-by: Debao Zhang <dbzhang800@gmail.com>
Reviewed-by: Jonas Rabbe <jonas.rabbe@gmail.com>
12 years agoImplement QGstreamerVideoRenderer::stopRenderer()
Lev Zelenskiy [Thu, 3 May 2012 01:34:33 +0000 (11:34 +1000)]
Implement QGstreamerVideoRenderer::stopRenderer()

Surface has to be stopped when
QGstreamerVideoRendererInterface::stopRenderer() is called.
This fixes a media player issue when video output is not cleared
when media is set to 0.

Change-Id: Ifdc851797519dcdf95db86e8dcec93b3866c388e
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
12 years agoFixed typo in QMediaRecorder::Status metatype registration
Dmytro Poplavskiy [Wed, 2 May 2012 03:52:15 +0000 (13:52 +1000)]
Fixed typo in QMediaRecorder::Status metatype registration

Change-Id: Id370b272b6c6c992762b1aefecb6cfbc7c916f2a
Reviewed-by: Mithra Pattison <mithra.pattison@nokia.com>
Reviewed-by: Ling Hu <ling.hu@nokia.com>
12 years agoReplaced QMediaRecorderControl::play/stop/pause with setState
Dmytro Poplavskiy [Wed, 2 May 2012 01:15:44 +0000 (11:15 +1000)]
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>
12 years agoAdded QMediaRecorder::status property
Dmytro Poplavskiy [Tue, 1 May 2012 03:10:33 +0000 (13:10 +1000)]
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>
12 years agoAdded QCamera::UnloadingStatus and StoppingStatus values.
Dmytro Poplavskiy [Mon, 30 Apr 2012 05:48:04 +0000 (15:48 +1000)]
Added QCamera::UnloadingStatus and StoppingStatus values.

These statuses are useful when the camera is stopped and/or unloaded
asynchronously. Previously the status was changed to
LoadedStatus or UnloadedStatus immediately,
even while camera was still active.

Change-Id: Id11021a150b0d34791ea631d7a62086cc0727220
Reviewed-by: Mithra Pattison <mithra.pattison@nokia.com>
Reviewed-by: Ling Hu <ling.hu@nokia.com>
12 years agoQtMultimedia: Fix deprecation warnings.
Friedemann Kleint [Mon, 30 Apr 2012 13:05:31 +0000 (15:05 +0200)]
QtMultimedia: Fix deprecation warnings.

Use QVariant::canConvert instead qVariantCanConvert.

Change-Id: I3c924a0bb508a451623da250fb9d410cf70a91f0
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
12 years agoFix MinGW-w64 compilation
Jonathan Liu [Fri, 27 Apr 2012 23:34:44 +0000 (09:34 +1000)]
Fix MinGW-w64 compilation

Change-Id: I812b53e822947a9f85d6523722c6a4f9e57e0426
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
12 years agoSplit gstreamer plugin into smaller plugins providing fewer services
Jonas Rabbe [Thu, 22 Mar 2012 01:04:03 +0000 (11:04 +1000)]
Split gstreamer plugin into smaller plugins providing fewer services

The gstreamer blob has been split into four plugins: audiodecoder,
camerabin, mediacapture, and mediaplayer.
Note: camerabin is still disabled because it is untested camerabin2
implementation.
A new qmake configuration use_gstreamer_camera has been introduced
and is needed for the mediacapture plugin to expose the camera
service. This configuration has been disabled by default.
Shared functionality has been moved to the internal gsttools library.

Change-Id: Ifb2604f440cfa97513d39f5d7978766c88eaec45
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
12 years agoQSampleCache unit test: correctly check whether sample is cached.
Lev Zelenskiy [Thu, 26 Apr 2012 06:53:37 +0000 (16:53 +1000)]
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>
12 years agoQSampleCache: Add a method to check whether a sample is cached.
Lev Zelenskiy [Thu, 26 Apr 2012 06:51:54 +0000 (16:51 +1000)]
QSampleCache: Add a method to check whether a sample is cached.

At the moment there is no way to tell whether a sample
returned by QSampleCache comes from cache.
This functionality is required for a unit test.

Change-Id: Ice23bb39b8e4f0a58b9297b46bb19b9a8c34b53c
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
12 years agoFix a compiler warning.
Michael Goddard [Fri, 27 Apr 2012 02:05:20 +0000 (12:05 +1000)]
Fix a compiler warning.

Change-Id: If82ec145b9076c1418460fa4d59595e0a60e5a0f
Reviewed-by: Jun Zhu <jun.5.zhu@nokia.com>
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
12 years agoFix a possible stale pointer access if we can't connect to PulseAudio.
Michael Goddard [Fri, 27 Apr 2012 01:58:50 +0000 (11:58 +1000)]
Fix a possible stale pointer access if we can't connect to PulseAudio.

We free the mainloop but didn't check validity before calling lock or
unlock.  Also we might need to unlock the main loop before freeing
it in some other error cases.

Change-Id: Iadf1049324cdf37ca9841b82e53e33afdcba8cb2
Reviewed-by: Jun Zhu <jun.5.zhu@nokia.com>
Reviewed-by: Lev Zelenskiy <lev.zelenskiy@nokia.com>
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
12 years agoMake sure the audio/video availability information changes atomically.
Michael Goddard [Fri, 20 Apr 2012 05:54:39 +0000 (15:54 +1000)]
Make sure the audio/video availability information changes atomically.

So there's a consistent picture of the stream availability.

Change-Id: Id7ea166353c0151fcc11105a1e233e9fe8df9cc6
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
12 years agoAdded tests for unsupported and corrupted file.
bigbearzhu [Thu, 12 Apr 2012 05:31:50 +0000 (15:31 +1000)]
Added tests for unsupported and corrupted file.

Change-Id: Ifab4aed1e389afff9a567897829381b91b9bcddb
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
12 years agoAdded unit test for QSampleCache.
Lev Zelenskiy [Tue, 24 Apr 2012 01:00:06 +0000 (11:00 +1000)]
Added unit test for QSampleCache.

Change-Id: I4dbd54822f246ba9a69ab85897a4c983b7c17561
Reviewed-by: Ling Hu <ling.hu@nokia.com>
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
12 years agoExtended integration test for QSoundEffect
Lev Zelenskiy [Fri, 20 Apr 2012 07:14:26 +0000 (17:14 +1000)]
Extended integration test for QSoundEffect

- setting the source while loading, and while playing;
- supported mimetypes;
- loading corrupt wave files;

Change-Id: Iff27921aaf3a67bcf88807b2a5656deb8cf2d77e
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
12 years agoStill need to count usage even when capacity is zero.
Lev Zelenskiy [Tue, 24 Apr 2012 00:52:16 +0000 (10:52 +1000)]
Still need to count usage even when capacity is zero.

When the sample is removed we need to decrease sample cache usage,
even when capacity is set to zero.
Otherwise we're getting wrong usage after capacity is changed.

Change-Id: I38820c0f9441abec3086189698ec5a904e1e9b6f
Reviewed-by: Ling Hu <ling.hu@nokia.com>
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
12 years agoDo not try to complete flush operation if stream has changed.
Lev Zelenskiy [Fri, 20 Apr 2012 07:02:35 +0000 (17:02 +1000)]
Do not try to complete flush operation if stream has changed.

There is a problem when sound effect already has a sound loaded and
we try to load new sound with setSource().
When sampleReady() is called between emptyStream() and emptyComplete()
it unloads the current stream and creates a new stream.
As a result pulse audio crashed in emptyComplete() while calling
pa_operation_unref(pa_stream_cork(
m_pulseStream, 1, stream_cork_callback, m_ref->getRef()))
with the new m_pulseStream.

Change-Id: Idff4fe6037d3f3f116734dc0facabaafa3db14a2
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
Reviewed-by: Ling Hu <ling.hu@nokia.com>
12 years agoMove QVideoWindowControl out of widgets.
Thomas McGuire [Thu, 12 Apr 2012 09:14:04 +0000 (11:14 +0200)]
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>
12 years agoRemove insignificant_test marker for maemo platform.
Jason McDonald [Mon, 23 Apr 2012 11:45:19 +0000 (21:45 +1000)]
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>
12 years agoQtMultimedia: Fix compiler warnings.
Friedemann Kleint [Tue, 24 Apr 2012 08:59:20 +0000 (10:59 +0200)]
QtMultimedia: Fix compiler warnings.

Change-Id: Ic0edfa95c03103550d22bfdf88c33fdbd6f41e3c
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
12 years agoFix compilation after qtbase:8f85b84f4eaa85ff5c02ec5e65fd6706a10690b9.
Friedemann Kleint [Tue, 24 Apr 2012 08:58:04 +0000 (10:58 +0200)]
Fix compilation after qtbase:8f85b84f4eaa85ff5c02ec5e65fd6706a10690b9.

Remove QDeclarative compatibility module code.

Change-Id: Ib24c0c027c899e7eb30b3c8550a483d0d8b2b77f
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
12 years agogst player: clear the buffer pool when the video sink is stopped
Dmytro Poplavskiy [Fri, 20 Apr 2012 01:32:59 +0000 (11:32 +1000)]
gst player: clear the buffer pool when the video sink is stopped

Buffers were kept allocated until the player is destroyed or
next media played.

Change-Id: I8a0c85da3a82ac6883075a1d0674143783c7f010
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
12 years agoLink to QtAudioEngine on multimedia landing page
Angus Cummings [Thu, 19 Apr 2012 02:58:12 +0000 (12:58 +1000)]
Link to QtAudioEngine on multimedia landing page

Change-Id: I858644e16f668d0ee4ca820b3cc65f60fd3208dc
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
12 years agoQVideoProbe unit test.
Lev Zelenskiy [Wed, 18 Apr 2012 04:18:49 +0000 (14:18 +1000)]
QVideoProbe unit test.

Change-Id: If8d391734b08eee2edbc2250fbcbe7f45cf94b3e
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
12 years agoQAudioProbe unit test.
Lev Zelenskiy [Wed, 18 Apr 2012 03:20:19 +0000 (13:20 +1000)]
QAudioProbe unit test.

Change-Id: I4dde8a46883cfc793fdccbfd24ffde0c818fa1aa
Reviewed-by: Mithra Pattison <mithra.pattison@nokia.com>
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
12 years agoDisconnect probe control in case source was destroyed.
Lev Zelenskiy [Wed, 18 Apr 2012 03:11:53 +0000 (13:11 +1000)]
Disconnect probe control in case source was destroyed.

Change-Id: Ibc4583af8acf7d28ee2504f246840a26e3a527be
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
Reviewed-by: Mithra Pattison <mithra.pattison@nokia.com>
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
12 years agoAdding QtAudioEngine to the landing page
Angus Cummings [Wed, 18 Apr 2012 02:18:52 +0000 (12:18 +1000)]
Adding QtAudioEngine to the landing page

Change-Id: Ie24ff0d4b949ccb5cd21624e33ef2b42b6857743
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
12 years agoEmit connection-failed signal if gst_pad_alloc_buffer fails.
Lev Zelenskiy [Tue, 17 Apr 2012 04:44:49 +0000 (14:44 +1000)]
Emit connection-failed signal if gst_pad_alloc_buffer fails.

Buffer allocation might fail for requested format.
We need to emit connection-failed signal
and allow backend to insert colorspace transformation element.

Change-Id: I9a101bb3c027f150c68bbeaba8ab932deded47ea
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
12 years agoqvideosurfacegstsink: fixed calculation of supported formats.
Dmytro Poplavskiy [Tue, 17 Apr 2012 01:29:09 +0000 (11:29 +1000)]
qvideosurfacegstsink: fixed calculation of supported formats.

If the custom buffer pool is used, it's also necessary
to query the list of video surface formats with this handle type.

Change-Id: I8a38f4c75f37ed05fbfdcf0933023a6abef1b3e1
Reviewed-by: Mithra Pattison <mithra.pattison@nokia.com>
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
Reviewed-by: Jonas Rabbe <jonas.rabbe@gmail.com>
12 years agoAdded integration test for video surface backend.
Lev Zelenskiy [Mon, 16 Apr 2012 05:43:34 +0000 (15:43 +1000)]
Added integration test for video surface backend.

Make sure pipeline doesn't stall in RGB and YUV modes.

Change-Id: I9fa253ecb6952e3e0138180c52fa945a13f7cf50
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
12 years agoAdjust to changed QUrl::isRelative() semantics.
Michael Goddard [Fri, 20 Apr 2012 05:18:04 +0000 (15:18 +1000)]
Adjust to changed QUrl::isRelative() semantics.

Paths with a leading slash were previously considered relative (with
no scheme) but now they aren't.  So take the opportunity to tweak the
path resolution code

Change-Id: I7b02cb85403ebb151dba274db0c05459ef536f18
Reviewed-by: Lev Zelenskiy <lev.zelenskiy@nokia.com>
Reviewed-by: Ling Hu <ling.hu@nokia.com>
12 years agoAdd bug numbers to insignificant tests.
Jason McDonald [Fri, 13 Apr 2012 12:55:44 +0000 (22:55 +1000)]
Add bug numbers to insignificant tests.

Change-Id: I4600e4919f9b2bbfcf0ac580054748d14f31b0c9
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
12 years agoChange Video and VideoOutput docs to mention ScreenSaver
Angus Cummings [Mon, 16 Apr 2012 04:48:08 +0000 (14:48 +1000)]
Change Video and VideoOutput docs to mention ScreenSaver

Change-Id: If7a03e9eafd351eec484a568802c75d955b68ecf
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
12 years agoExpose the audio category information for streams.
Michael Goddard [Fri, 13 Apr 2012 03:51:09 +0000 (13:51 +1000)]
Expose the audio category information for streams.

QAudioOutput and QSoundEffect now have a category property so that
system volume mixing or processing can be applied.

Initially just pulseaudio supports this but Windows Vista etc should also
work.

Change-Id: I6855b08367e5a055ac7dfcffd644c98bfd7c5a4e
Reviewed-by: Ling Hu <ling.hu@nokia.com>
12 years agobuffer should only be available when m_buffersAvailable > 0.
bigbearzhu [Mon, 16 Apr 2012 02:15:07 +0000 (12:15 +1000)]
buffer should only be available when m_buffersAvailable > 0.

Change-Id: I730fcbf6aa4fc446d12c64fcb7cfd410be96a20d
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
12 years agoQDeclarativeVideoOutput: correctly disconnect _q_updateMediaObject
Lev Zelenskiy [Mon, 16 Apr 2012 04:27:53 +0000 (14:27 +1000)]
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>
12 years agoGstVideoConnector: make sure downstream filter is in correct state.
Lev Zelenskiy [Fri, 13 Apr 2012 07:34:13 +0000 (17:34 +1000)]
GstVideoConnector: make sure downstream filter is in correct state.

When requesting a buffer from downstream filter,
check if downstream element is in NULL state,
and wait for up to 1 second for it to switch.
Otherwise gst_pad_alloc_buffer returns GST_FLOW_WRONG_STATE and
pipeline stalls.

Change-Id: Ic0539c41638ab3bfb548a30043ebe925675b0b6f
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
12 years agoexpanding unit test for QAudioDecoder
Angus Cummings [Thu, 12 Apr 2012 04:44:28 +0000 (14:44 +1000)]
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>
12 years agoadd #include <unistd.h> to classes which use ::getpid
Thomas Senyk [Thu, 12 Apr 2012 15:44:10 +0000 (17:44 +0200)]
add #include <unistd.h> to classes which use ::getpid

I got  "error: â€˜::getpid’ has not been declared" and solved it with
adding #include <unistd.h>

Updated version of change 23032.
Now including <sys/types.h> as well.

Change-Id: I969845e1c4d5b72a223f6f4e0050b2fb342b8f17
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
12 years agoUse QtMultimedia 5.0 in the QML Video element doc.
Thomas McGuire [Thu, 5 Apr 2012 13:53:59 +0000 (15:53 +0200)]
Use QtMultimedia 5.0 in the QML Video element doc.

Change-Id: I5e549b321a549d2b4abc058cf08d81329df3562e
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
12 years agoIgnore QtCreator user settings.
Thomas McGuire [Thu, 12 Apr 2012 13:41:11 +0000 (15:41 +0200)]
Ignore QtCreator user settings.

Change-Id: I0aed0177733e3804801ec2aba5c974d740118f42
Reviewed-by: Yuchen Deng <loaden@gmail.com>
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
12 years agoTranslated corresponding Gstreamer errors to QAudioDecoder::FormatError
bigbearzhu [Thu, 12 Apr 2012 05:40:32 +0000 (15:40 +1000)]
Translated corresponding Gstreamer errors to QAudioDecoder::FormatError

Change-Id: I34834075ea98c163251e7a9aca1fb7bc486ad7e9
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
12 years agoMove QAudioDecoder to public.
Michael Goddard [Tue, 10 Apr 2012 11:33:00 +0000 (21:33 +1000)]
Move QAudioDecoder to public.

To get better feedback between alpha & beta.

Change-Id: I3620825fb9c2bb9de69951cf1d583b191d62cb0d
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
12 years agoFix a number of doc errors and warnings.
Michael Goddard [Tue, 10 Apr 2012 10:19:34 +0000 (20:19 +1000)]
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>
12 years agoAdded integration test for subsequent playback to media player backend.
Lev Zelenskiy [Mon, 2 Apr 2012 05:06:57 +0000 (15:06 +1000)]
Added integration test for subsequent playback to media player backend.

Change-Id: If060dd78e595b52bbb1c0fb65ede7c84ced873b0
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
12 years agoAdd .gitignore file
Yuchen Deng [Sun, 8 Apr 2012 12:57:03 +0000 (20:57 +0800)]
Add .gitignore file

Change-Id: Icb5f1fd8879a7a99af688d51fd02f8c30c9bdb14
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
12 years agoSmall typo edit
dakovaci [Tue, 3 Apr 2012 06:52:58 +0000 (16:52 +1000)]
Small typo edit

Just some small eddits

Change-Id: I3e1e2a2890f7b8cb2d5933a25c41aaa53bc62867
Reviewed-by: Daron Andrew Edie <daron.edie@nokia.com>
12 years agoRemoved some systemtests
dakovaci [Tue, 3 Apr 2012 06:39:27 +0000 (16:39 +1000)]
Removed some systemtests

Removed pause video recording and video settings

Change-Id: Id763ce9c26c5b6f7b9b122ee1b4b80b0c9c926fa
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
12 years agoTypo fix
dakovaci [Tue, 3 Apr 2012 06:49:09 +0000 (16:49 +1000)]
Typo fix

Just some small eddits to typo errors

Change-Id: I374667dc66b8ea76595a98a519599df54b845775
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
Reviewed-by: Daron Andrew Edie <daron.edie@nokia.com>
12 years agoUpdated integration test to check initial volume.
Lev Zelenskiy [Wed, 4 Apr 2012 03:58:55 +0000 (13:58 +1000)]
Updated integration test to check initial volume.

Change-Id: Ida1eb24a6e09d31048722299104616fbaa26dffa
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
12 years agoGStreamer backend: set initial volume and mute values.
Lev Zelenskiy [Wed, 4 Apr 2012 03:47:26 +0000 (13:47 +1000)]
GStreamer backend: set initial volume and mute values.

For each stream set initial volume to 100 and mute state to FALSE.

Change-Id: I529a82c12f0fd65277f97193b3feed7f9782e4c0
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
12 years agoUpdated a lot of minor fixes to the docs and removed warnings from qdoc
Jonas Rabbe [Tue, 3 Apr 2012 05:55:55 +0000 (15:55 +1000)]
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>
12 years agoEnsure GstBus is available during GstBusHelper lifetime.
Dmytro Poplavskiy [Wed, 4 Apr 2012 04:47:57 +0000 (14:47 +1000)]
Ensure GstBus is available during GstBusHelper lifetime.

Change-Id: I6fc867e3c7a6ad1f83938d3dc0500ea339c39fe2
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
12 years agoReset playbin state to NULL on end of stream signal.
Lev Zelenskiy [Fri, 30 Mar 2012 05:20:46 +0000 (15:20 +1000)]
Reset playbin state to NULL on end of stream signal.

According to GStreamer documentation "playbin should be set
back to READY or NULL state, then the "uri" property should be set
to the new location and then playbin be set to PLAYING state again."
We reset playbin to NULL state and then call setMedia() again
in case playback is restarted.

Change-Id: If7efbf8d88e0aad461c3d1d8b802c6621af221f7
Reviewed-by: Mithra Pattison <mithra.pattison@nokia.com>
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
12 years agoAdded typeinfo for audio engine
Jonas Rabbe [Wed, 4 Apr 2012 04:22:06 +0000 (14:22 +1000)]
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>
12 years agoAdd typeinfo for the declarative plugin for Qt Multimedia
Jonas Rabbe [Tue, 3 Apr 2012 22:30:28 +0000 (08:30 +1000)]
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>
12 years agoFixed major mem leak of unfreed GstTagList when playing ogg files.
bigbearzhu [Fri, 30 Mar 2012 06:07:49 +0000 (16:07 +1000)]
Fixed major mem leak of unfreed GstTagList when playing ogg files.

Could cause serious leak if ogg files contain coverart image.
Should use gst_tag_list_fee to free the used taglist.

Change-Id: I8f7b799729b84ad9a2ca45bc3e31f37a987a5885
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
12 years agoEdited the radio system teste
dakovaci [Tue, 3 Apr 2012 02:59:03 +0000 (12:59 +1000)]
Edited the radio system teste

Added some missing detail

Change-Id: I127a427e670196c80654eb4aae6cf7da4598f4ca
Reviewed-by: Daron Andrew Edie <daron.edie@nokia.com>
12 years agoadded locksreen, hw volume and headset systemtests to audio
dakovaci [Tue, 3 Apr 2012 01:40:26 +0000 (11:40 +1000)]
added locksreen, hw volume and headset systemtests to audio

An addition to the audio systemtests

Change-Id: I5b0625e25b4e11c6971eb8bc5bd09c2d0597c5cb
Reviewed-by: Daron Andrew Edie <daron.edie@nokia.com>
12 years agoMoved video plugins around to prevent accidental unloading
Jonas Rabbe [Wed, 28 Mar 2012 05:58:59 +0000 (15:58 +1000)]
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>
12 years agoFix tst_qmediaplayerbackend construction test.
Ling Hu [Fri, 30 Mar 2012 05:09:37 +0000 (15:09 +1000)]
Fix tst_qmediaplayerbackend construction test.

Availibility test should use QTRY_VERIFY instead of VERIFY,
should not assume available immediately after constructing.

Change-Id: Ic267ac9718aeecfe186d593af5439c1ffcf48e94
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
12 years agoAdded some radio systemtests, edited
dakovaci [Mon, 19 Mar 2012 05:10:36 +0000 (15:10 +1000)]
Added some radio systemtests, edited

Added some detail to the radio systemtest

Edited the Camera systemtest

Change-Id: I61c603e5de8e50400053da26563b937756aea316
Reviewed-by: Daron Andrew Edie <daron.edie@nokia.com>
12 years agoFixed: Streams information is not updated properly for RTSP streams.
Lev Zelenskiy [Wed, 28 Mar 2012 05:12:04 +0000 (15:12 +1000)]
Fixed: Streams information is not updated properly for RTSP streams.

Changes to QGstreamerPlayerSession:
Handle video-changed, audio-changed, and text-changed signals.
Call getStreamsInfo() to update streams information.

Change-Id: I8bfead3268771245635424b5f1debff624bbe038
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
Reviewed-by: Ling Hu <ling.hu@nokia.com>
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
12 years agoAdd deleteLater() test to tst_qmediaplayerbackend
Sami Rosendahl [Tue, 27 Mar 2012 08:09:10 +0000 (11:09 +0300)]
Add deleteLater() test to tst_qmediaplayerbackend

Task-number: QTBUG-24927
Change-Id: Ic58a33aad9038af0325d20bed16d3e70d7e15b5a
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
12 years agoDeliver GStreamer signals through Qt event loop
Sami Rosendahl [Mon, 26 Mar 2012 11:05:27 +0000 (14:05 +0300)]
Deliver GStreamer signals through Qt event loop

Emitting a Qt signal directly from GLib callback causes issues to clients.
Queue the GStreamer signal and forward it to as a Qt signal from a handler
that is invoked via the Qt event loop.

Task-number: QTBUG-24927
Change-Id: I3c91efcce1261caf7b643fbff10663e1b093f2a8
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
12 years agoMake this unit test a bit more robust for qreal changes.
Michael Goddard [Mon, 26 Mar 2012 03:35:44 +0000 (13:35 +1000)]
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>
12 years agoBuild fix on Windows
Yuchen Deng [Sat, 24 Mar 2012 01:50:09 +0000 (09:50 +0800)]
Build fix on Windows

Change-Id: I2666a81837dc78342b03a7cb5a33b406fd917661
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
12 years agoMinor improvements on resource-policy interfaces
Ling Hu [Mon, 26 Mar 2012 00:51:14 +0000 (10:51 +1000)]
Minor improvements on resource-policy interfaces

Change-Id: I3e9c7c4d1fca90e0fb97b0058e9b5a5e34940025
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
12 years agoRename the daemon global static to pulseDaemon
Thiago Macieira [Tue, 1 Nov 2011 10:45:51 +0000 (11:45 +0100)]
Rename the daemon global static to pulseDaemon

There's a daemon() function declared in unistd.h.

Change-Id: I1063e71248a5236a5bb6b8f10804c469c8d1f788
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
12 years agoMake gstreamer player backend reserve/release video resource.
Ling Hu [Thu, 22 Mar 2012 00:41:50 +0000 (10:41 +1000)]
Make gstreamer player backend reserve/release video resource.

Use request/release of various video related controls as an indication for the decision.

Change-Id: I3a2a288c7c46ca62459896745bbdda26961bb181
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
12 years agoImplemented availability control for gstreamer player backend
Ling Hu [Wed, 21 Mar 2012 05:22:58 +0000 (15:22 +1000)]
Implemented availability control for gstreamer player backend

Change-Id: I6d736b90ad59e258eb6f20befea8cfe1afce423a
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
12 years agoAdded resource policy support though internal plugin system
Ling Hu [Wed, 21 Mar 2012 04:25:23 +0000 (14:25 +1000)]
Added resource policy support though internal plugin system

Change-Id: I374be17d49b6a5eed0b1ed94d0b9ca5f9a2caa9b
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
12 years agoDon't delete video node factories owned by the plugin loader.
Andrew den Exter [Fri, 23 Mar 2012 06:00:08 +0000 (16:00 +1000)]
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>
12 years agoFixes to qmediaplayerbackend integration test: use ogg video on Linux.
Lev Zelenskiy [Thu, 22 Mar 2012 07:10:19 +0000 (17:10 +1000)]
Fixes to qmediaplayerbackend integration test: use ogg video on Linux.

Attempt to find supported video format before running tests.
Tests are skipped if no video format is supported by the system.

Change-Id: Iad5b26438b6407f0808e288c5e6184f220f30e36
Reviewed-by: Ling Hu <ling.hu@nokia.com>
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
12 years agoresolving some warnings in qtmultimedia docs
Angus Cummings [Mon, 19 Mar 2012 07:32:31 +0000 (17:32 +1000)]
resolving some warnings in qtmultimedia docs

Change-Id: I9df926f64548a5d53382448ca4eef8d428339aa3
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
12 years agoAdded VideoLight camera flash mode.
Dmytro Poplavskiy [Wed, 21 Mar 2012 06:30:35 +0000 (16:30 +1000)]
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>
12 years agoFixed media service provider auto test on Mac OS X
Jonas Rabbe [Wed, 21 Mar 2012 01:48:27 +0000 (11:48 +1000)]
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>
12 years agochanging include from qdeclarativeinfo to qmlinfo in qdeclarativeaudio.cpp
Thomas Senyk [Wed, 21 Mar 2012 14:21:32 +0000 (15:21 +0100)]
changing include from qdeclarativeinfo to qmlinfo in qdeclarativeaudio.cpp

Change-Id: I7244f6c7b3743dfe5532f1d13c2afef256a2cdbc
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
12 years agoQMediaPlaylist: Added ability to load from provided QNetworkRequest.
Lev Zelenskiy [Wed, 14 Mar 2012 23:41:18 +0000 (09:41 +1000)]
QMediaPlaylist: Added ability to load from provided QNetworkRequest.

Change-Id: I7d8fc8a432810ff87650808b9ca6af53f7356d4e
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
12 years agoAdded integration test for new playlist functionality.
Lev Zelenskiy [Fri, 9 Mar 2012 01:54:42 +0000 (11:54 +1000)]
Added integration test for new playlist functionality.

Change-Id: I9cc4a3d140003de737b81b4dcfa1e4a94d4a2ba4
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
12 years agoQMediaPlayer: GStreamer backend changes for playlist support.
Lev Zelenskiy [Mon, 5 Mar 2012 04:16:06 +0000 (14:16 +1000)]
QMediaPlayer: GStreamer backend changes for playlist support.

Register type find function to check if unrecognized media is a playlist.
Emit MediaIsPlaylist error and let frontend handle playlists.

Change-Id: Ib17da1c46014ac3c0f2f48b75ea9de2f0428b573
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
12 years agoQMediaPlayer frontend: changes to playlist support.
Lev Zelenskiy [Thu, 8 Mar 2012 23:53:21 +0000 (09:53 +1000)]
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>
12 years agoNew playlist parsers to support network playlists.
Lev Zelenskiy [Thu, 8 Mar 2012 23:49:30 +0000 (09:49 +1000)]
New playlist parsers to support network playlists.

Added new playlist parsers for M3U and PLS.
Added QNetworkMediaPlaylistProvider.

Change-Id: I4c64018e44b8ae2401d6846a0c3c326d8c2ca5cc
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
12 years agoMarked media service provide test as insignificant on mac
Jonas Rabbe [Tue, 20 Mar 2012 22:38:05 +0000 (08:38 +1000)]
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>
12 years agoUpdated IID, services, and controls to use qt-project URL
Jonas Rabbe [Mon, 19 Mar 2012 03:35:30 +0000 (13:35 +1000)]
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>
12 years agoUpdated plugins to use new plugin architecture
Jonas Rabbe [Wed, 14 Mar 2012 03:02:32 +0000 (13:02 +1000)]
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>