platform/upstream/qtmultimedia.git
10 years agoGStreamer: each QMediaPlayer now has its own volume by default.
Yoann Lopes [Fri, 7 Mar 2014 16:02:37 +0000 (17:02 +0100)]
GStreamer: each QMediaPlayer now has its own volume by default.

We were using the volume property of GStreamer's playbin element to set
the volume. This could behave differently depending on the system
configuration; it could affect the system volume or the media player
own audio stream.
We now use a 'volume' element to do software attenuation on the audio
data sent to the audio sink, it allows each QMediaPlayer to always have
its own volume.
To preserve the previous behavior, developers can set the
QT_GSTREAMER_USE_PLAYBIN_VOLUME environment variable to true.

[ChangeLog][QtMultimedia][GStreamer] QMediaPlayer::setVolume() doesn't
change the system volume anymore (it could be the case before depending
on the system configuration). Set the QT_GSTREAMER_USE_PLAYBIN_VOLUME
environment variable to true to restore that behavior.

Task-number: QTBUG-30317
Task-number: QTBUG-36511

Change-Id: Ia0249962a74ac21fb110fcb634c08706f8d5767a
Reviewed-by: Wouter Huysentruit <wouter_huysentruit@hotmail.com>
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
10 years agoFix unit tests
Bernd Weimer [Mon, 31 Mar 2014 14:18:23 +0000 (16:18 +0200)]
Fix unit tests

Random playback mode is not good for testing index changed signal,
because the same media might be played successively.
Calling show() might result in showFullScreen() on some platforms,
which is not expected by some video widget tests.

Change-Id: Ib47433fc6411b6dfa244a245aae508df5627ec62
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
10 years agoBlackBerry: Fix the rotation of the viewfinder
Fabian Bumberger [Thu, 27 Mar 2014 15:18:11 +0000 (16:18 +0100)]
BlackBerry: Fix the rotation of the viewfinder

This fixes the rotation of the viewfinder. We have to adjust the orientation
depending on the primary screen orientation. On a keyboard device, the viewfinder
would not rotate at all (same if auto orientation is turned off).

Task-number: QTBUG-37894
Change-Id: I2bf955fb3303ed236d3234154ded94fe78607455
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
Reviewed-by: Bernd Weimer <bweimer@blackberry.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
10 years agoFix memory leak in SampleGrabberCallback
Liang Jian [Tue, 1 Apr 2014 06:41:30 +0000 (14:41 +0800)]
Fix memory leak in SampleGrabberCallback

Add virtual destructor to SampleGrabberCallback to let it properly
destruct its subclass when calling 'detete this'

Change-Id: I5f74f82314e22225a0a153c7f4bca531a79dd8f9
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
10 years agoFix SourceResolver::State object leak
Liang Jian [Tue, 1 Apr 2014 08:12:48 +0000 (16:12 +0800)]
Fix SourceResolver::State object leak

Initialize m_cRef to 0 in constructor of SourceResolver::State, otherwise
it will be leaked

Change-Id: I703ef8e91ad88112102ede7e8321d0eca795b840
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
10 years agoFix QSGGeometry object leak
Liang Jian [Tue, 1 Apr 2014 07:16:28 +0000 (15:16 +0800)]
Fix QSGGeometry object leak

Set QSGNode::OwnsGeometry flag to QSGVideoNode, otherwise the QSGGeometry
object created in QSGVideoNode::setTexturedRectGeometry() will be leaked.

Change-Id: I383b4fe2ff8c7921d2c9c101d4d90fac5a08365a
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
10 years agoQNX: Remove most of the CPU overhead for video rendering
Fabian Bumberger [Fri, 21 Mar 2014 15:02:48 +0000 (16:02 +0100)]
QNX: Remove most of the CPU overhead for video rendering

This patch uses the GL_OES_EGL_image extension to create a OpenGL Texture handle
for a libscreen pixmap. If the extension is not available it uses the "old"
technique as fallback where the image data is copied into a QImage.

This reduces the CPU load by more than 70% and allows HD videos to be played jitter-free.

Task-number: QTBUG-37752

Change-Id: I4cad22c39390e4cf9eb5be5f0bfe446544a11b9e
Reviewed-by: Bernd Weimer <bweimer@blackberry.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
10 years agoCoreAudio: fix supported channel count.
Yoann Lopes [Mon, 31 Mar 2014 12:22:40 +0000 (14:22 +0200)]
CoreAudio: fix supported channel count.

We were using the number of channels actually used by audio devices as
the maximum channel count. This is wrong as CoreAudio can automatically
split or merge channels in order to accommodate the device.
We now assume all channel configurations are valid.

Task-number: QTBUG-37956
Change-Id: Ia8e8bbea8543caa7fecda305be74a2953b92fd25
Reviewed-by: Andy Nichols <andy.nichols@digia.com>
10 years agoDoc: Fix some documentation warnings
Sergio Ahumada [Mon, 31 Mar 2014 16:11:02 +0000 (18:11 +0200)]
Doc: Fix some documentation warnings

- Can't link to 'QSlider'
- Can't link to 'QImage'

Change-Id: Ifa1a27ca5224959d6dbb4c0055a56114740469f0
Reviewed-by: Sze Howe Koh <szehowe.koh@gmail.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
10 years agofix: 'm_state' was not declared in this scope
Zhang Xingtao [Fri, 28 Mar 2014 05:59:05 +0000 (13:59 +0800)]
fix: 'm_state' was not declared in this scope

Error occurred when building with DEBUG_PLAYBIN defined.
It should be m_currentState from context.

Change-Id: Iad59966ca19c9d1b589fc8641599494436a0a5f3
Reviewed-by: Liang Qi <liang.qi@digia.com>
Reviewed-by: Jing Bai <doris.bai@gmail.com>
10 years agoCoreAudio: Mismatched new[]/delete in several places.
Dyami Caliri [Thu, 27 Mar 2014 16:29:38 +0000 (09:29 -0700)]
CoreAudio: Mismatched new[]/delete in several places.

The CoreAudio plugin code in QtMultimedia had several different places
where an array was allocated with "new[]" and deleted with "delete".
Fixed by deleting with "delete[]".

Task-number: QTBUG-37861
Change-Id: Id85bc07a054ad161b0403cc0fe5c56ec5b41d4e3
Reviewed-by: Andy Nichols <andy.nichols@digia.com>
10 years agoAndroid: Clean-up in jmultimediautils class.
Christian Strømme [Thu, 27 Mar 2014 11:21:23 +0000 (12:21 +0100)]
Android: Clean-up in jmultimediautils class.

Remove unused code.

Change-Id: I2c0db45dd95e6a79387bba1b1ccd4b62b7d22aec
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
10 years agoAndroid: Fix MetadataRetriver wrapper
Christian Strømme [Wed, 19 Mar 2014 23:38:11 +0000 (00:38 +0100)]
Android: Fix MetadataRetriver wrapper

The QJNIObject was never intended to be used as a base class.

Change-Id: Ic4effd5e1c89a08515c756bd5092fb1e1eead688
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
10 years agoAndroid: Fix QtSurfaceTexture
Christian Strømme [Wed, 19 Mar 2014 12:48:19 +0000 (13:48 +0100)]
Android: Fix QtSurfaceTexture

Don't extend SurfaceTexture as this causes ART to fail when it doesn't
find the postEventFromNative() function. The postEventFromNative()
function was implemented sometime after API 11, so to avoid this
situation we can use composition instead.

Task-number: QTBUG-37605

Change-Id: Ie1013d218291ba0035f1bb18a0c0655fd2170bfd
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
10 years agoAndroid: Don't call release() unless it's necessary.
Christian Strømme [Wed, 26 Mar 2014 11:13:49 +0000 (12:13 +0100)]
Android: Don't call release() unless it's necessary.

If the mediaplayer is in either Idle or Uninitialized state, then there
is no need to call release again.

Change-Id: Idb6f2d9ea7aad7a9036e7e9a534c3bd296324068
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
10 years agoBlackberry: implement QCameraInfoControl.
Yoann Lopes [Tue, 4 Feb 2014 13:59:44 +0000 (14:59 +0100)]
Blackberry: implement QCameraInfoControl.

We also now correctly report the default camera to be the rear camera.

Change-Id: Ie96b2950344194637c8feace77246f036c9a3757
Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
10 years agoAndroid: Fix reload check in onStateChanged().
Christian Strømme [Thu, 27 Mar 2014 09:56:16 +0000 (10:56 +0100)]
Android: Fix reload check in onStateChanged().

The condition was missing the Uninitialized flag.

Change-Id: I555f4eae6cc33bee0a4925e626dd56041e4b0471
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
10 years agoDoc: fix two typos
Zhang Xingtao [Tue, 25 Mar 2014 15:22:57 +0000 (23:22 +0800)]
Doc: fix two typos

Change-Id: I5f417384ce75d8dc2063f92d0116f516f261e4aa
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
10 years agoFix enums for QML camera types.
Yoann Lopes [Thu, 13 Mar 2014 17:07:12 +0000 (18:07 +0100)]
Fix enums for QML camera types.

CameraExposure, CameraFlash and CameraFocus had signals and functions
using enum-type arguments declared in QDeclarativeCamera. This doesn't
work since an enum and a function using it both need to be declared in
the same class in order to work from QML.
The relevant enums have been duplicated (not moved, in order to
preserve QML source compatibility) from QDeclarativeCamera to
QDeclarativeCameraExposure, QDeclarativeCameraFlash and
QDeclarativeCameraFocus.

Change-Id: Ib307d7c6c9dbc59b1b82782913397160be38d4cd
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
10 years agoImproved declarative-camera example.
Yoann Lopes [Thu, 13 Mar 2014 18:34:26 +0000 (19:34 +0100)]
Improved declarative-camera example.

- Fix setting the white balance preset, it was never actually set on the
  camera
- Improved the zoom control style

Change-Id: I95c2851e5ad8409dd79306492271f221a61cb10d
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
10 years agoGStreamer: fix memory leaks.
Yoann Lopes [Thu, 20 Mar 2014 18:20:24 +0000 (19:20 +0100)]
GStreamer: fix memory leaks.

Many GStreamer objects were not properly managed or never released.

Change-Id: I38b3854e8b9e2264b5b647f331d3bb16b886e2d6
Reviewed-by: Andrew den Exter <andrew.den.exter@qinetic.com.au>
10 years agoGStreamer: don't try to seek when it's not supported.
Yoann Lopes [Thu, 20 Mar 2014 18:19:10 +0000 (19:19 +0100)]
GStreamer: don't try to seek when it's not supported.

This eliminates warnings on the console.

Change-Id: I6a0509dba4a0f7ec6fad33f8803be746f425a616
Reviewed-by: Andy Nichols <andy.nichols@digia.com>
10 years agoAndroid: Make the Mediaplayer more robust
Christian Strømme [Thu, 20 Feb 2014 13:25:35 +0000 (14:25 +0100)]
Android: Make the Mediaplayer more robust

In some cases the the Android media player would get into a unexpected
state and we where then not able to recover.
With this patch we monitor the state changes more closely and recover
when possible.

Task-number: QTBUG-35651

Change-Id: I142c63fbbf716d3f94ebdcf016a7cadad7b13207
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
10 years agoMac: Re-enable qcamerabackend test
Andy Nichols [Tue, 4 Mar 2014 14:23:02 +0000 (15:23 +0100)]
Mac: Re-enable qcamerabackend test

The cause of the tests flakyness has been resolved, so it should be
re-enabled.

Task-number: QTBUG-36040
Change-Id: Ic4d18ea891ed5b6c5f4acbb4d05322b910b87d29
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
10 years agoAVFoundation: Add QVideoWindowControl support
Andy Nichols [Thu, 6 Mar 2014 16:44:14 +0000 (17:44 +0100)]
AVFoundation: Add QVideoWindowControl support

This adds the capability to render videos directly to native
window surfaces when using the AVFoundation plugin.  This adds limited
support for displaying videos from QML on iOS.  These videos are
displayed in a CALayer above the QQuickWindow, so it will not be
possible to render any QtQuick items on top of a video using the
QVideoWindowControl to provide video.

[ChangeLog][QtMultimedia][iOS] Add limited support for playing videos in
QtQuick on iOS (Videos are played on top of scene with limited transform
support).

Change-Id: I80381d9a07b45b6fa1959678166e6da0004f8c19
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
10 years agoFix VideoOutput::autoOrientation documentation.
Yoann Lopes [Fri, 7 Mar 2014 14:07:17 +0000 (15:07 +0100)]
Fix VideoOutput::autoOrientation documentation.

The type was reported to be int instead of bool.

Change-Id: I3a76cb76ca70b50060c768f87cf84d8e436d8d7f
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
10 years agoQNX: Evaluate mm-renderer buffer status
Bernd Weimer [Tue, 18 Mar 2014 10:29:49 +0000 (11:29 +0100)]
QNX: Evaluate mm-renderer buffer status

In the playing (or paused) state the media status should reflect the
buffer state, it should not stay in the loaded media state.

Mm-renderer differentiates between buffer "status" and "level".
Unfortunately, QMediaPlayer's buffer status maps to mm-renderer's
buffer level.

Change-Id: I22ea8dc83cee975fc4aa1a6de4f172def042a9a8
QT-BUG: 37166
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
10 years agoTidy up Audio documentation.
Mitch Curtis [Wed, 19 Mar 2014 09:00:13 +0000 (10:00 +0100)]
Tidy up Audio documentation.

Change-Id: I864ba13375d7b8b035686c11687e76fbf672c431
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
10 years agoPrevent crash when there is no camera device available
Andy Shaw [Wed, 19 Mar 2014 09:41:46 +0000 (10:41 +0100)]
Prevent crash when there is no camera device available

If you try to use QAudioInputSelectorControl with the iOS Simulator then
it would crash as there is no camera device available. This prevents a
crash from happening in that case.

Change-Id: I3904f3d299a11a6df21e66a1138a4319cc0b8a5c
Reviewed-by: Andy Nichols <andy.nichols@digia.com>
10 years agoDoc: Document signals (not handlers) under \qmlsignal
Sze Howe Koh [Tue, 18 Mar 2014 13:43:08 +0000 (21:43 +0800)]
Doc: Document signals (not handlers) under \qmlsignal

Append the handler names to the end of the corresponding signal doc.

Task-number: QTBUG-35846
Change-Id: I325cdab75ef18a19c9f29d6333039c31baa8daf6
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
10 years agoWMF: fix some issues with our custom video sink.
Yoann Lopes [Mon, 17 Mar 2014 17:38:10 +0000 (18:38 +0100)]
WMF: fix some issues with our custom video sink.

- When scrubbing, request frames only one at a time.
- Discard frames when too late or too much in advance
- Fix integer overflow causing undefined behavior

[ChangeLog][QtMultimedia][Windows] Fixed video playback playing at
twice the normal rate after reaching 3:34.
[ChangeLog][QtMultimedia][Windows] Fixed video playback that could
freeze after seeking to a different position.

Task-number: QTBUG-31800
Change-Id: Ie620c684c58ee790537969ffc40f01610b6745ea
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
10 years agoWMF: remove some debug output.
Yoann Lopes [Mon, 17 Mar 2014 12:40:04 +0000 (13:40 +0100)]
WMF: remove some debug output.

Task-number: QTBUG-37539
Change-Id: I5c2f232195de946dce04eb873ac381d0bb9e73b2
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
10 years agoOpenSL ES: lazy initialization of QAudioInput's supported formats.
Yoann Lopes [Tue, 11 Mar 2014 11:31:34 +0000 (12:31 +0100)]
OpenSL ES: lazy initialization of QAudioInput's supported formats.

Change-Id: I51cdd35a944c990ce7df999bcb6063342e98c62d
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
10 years agoAndroid: fix QMediaRecorder failing to start in some cases.
Yoann Lopes [Thu, 13 Mar 2014 15:35:01 +0000 (16:35 +0100)]
Android: fix QMediaRecorder failing to start in some cases.

Because camera operations are performed in a dedicated thread, starting
a recorder was sometimes failing because the camera was not yet ready
(unlocking it was not done yet). Camera locking and unlocking are now
synchronous operations.

Change-Id: I92c3c2f3666b63e7451e4ee1ab89dcbc85ae6c24
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
10 years agoDoc: Qt Audio Engine: Restore lost docs
Sze Howe Koh [Fri, 14 Mar 2014 23:11:32 +0000 (07:11 +0800)]
Doc: Qt Audio Engine: Restore lost docs

When QDoc stopped accepting the version number of QML modules, some
parts of QML documentation disappeared silently.

Change-Id: I528a2d77587e5803ed971dfe8849d0b37d9c555a
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
10 years agoFix crash in QCameraInfo when no camera is available on the system.
Yoann Lopes [Thu, 13 Mar 2014 18:32:15 +0000 (19:32 +0100)]
Fix crash in QCameraInfo when no camera is available on the system.

Change-Id: I04bea9d6afcf567c64788c3765cc6626dc9cd482
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
10 years agoCorrectly update record button in AudioRecorder example.
Yoann Lopes [Thu, 13 Mar 2014 15:35:44 +0000 (16:35 +0100)]
Correctly update record button in AudioRecorder example.

The record/stop button should have a "Record" text when QMediaRecorder
has the LoadedStatus.

Change-Id: I677845382b24ecf1f2351fc8e1e2e182b2c8d548
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
10 years agoAndroid: print Java traces for MediaRecorder when in debug mode.
Yoann Lopes [Thu, 13 Mar 2014 15:29:49 +0000 (16:29 +0100)]
Android: print Java traces for MediaRecorder when in debug mode.

Change-Id: Ie39dd16227c49c8c07831750869e0cc28d2cc8ee
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
10 years agoAndroid: restart camera viewfinder after a recorder error.
Yoann Lopes [Thu, 13 Mar 2014 15:28:57 +0000 (16:28 +0100)]
Android: restart camera viewfinder after a recorder error.

Change-Id: I33f083fda5c10cfb997a21100c0ec3d4a314aee0
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
10 years agoAndroid: correctly report QMediaRecorder actual output location.
Yoann Lopes [Thu, 13 Mar 2014 15:25:52 +0000 (16:25 +0100)]
Android: correctly report QMediaRecorder actual output location.

Report the recorded media location to have changed only when
recording is finished and successful.

Change-Id: Iee7565b9ba12d9de09f86dffb34c40936fee198c
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
10 years agoAndroid: correctly report QMediaRecorder status.
Yoann Lopes [Thu, 13 Mar 2014 15:19:04 +0000 (16:19 +0100)]
Android: correctly report QMediaRecorder status.

QMediaRecorder should have the LoadedStatus before starting recording.
When recording the camera, the recorder should be considered loaded
when all prerequisites are met (viewfinder started, recording mode set
to video and capture ready).

Task-number: QTBUG-36828
Change-Id: I3279bdfdc2b361c7e0707c52e74ae47e0bb4a93d
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
10 years agoAVFoundation: Fix another crash when destroying a QMediaPlayer
Andy Nichols [Wed, 12 Mar 2014 12:29:55 +0000 (13:29 +0100)]
AVFoundation: Fix another crash when destroying a QMediaPlayer

We need to unload media before we delete the player.

Task-number: QTBUG-37447
Change-Id: I09263214c425339c0d8c192091aeaa6e3fb5331f
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
10 years agoAdd missing documentation for Audio and MediaPlayer loops property.
Yoann Lopes [Mon, 10 Mar 2014 14:08:44 +0000 (15:08 +0100)]
Add missing documentation for Audio and MediaPlayer loops property.

Task-number: QTBUG-35306
Change-Id: If0e9784ede5db887d3756972e8db54b5485d6cdd
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
10 years agoFix typo Inavlid -> Invalid
Sergio Ahumada [Fri, 7 Mar 2014 14:25:14 +0000 (15:25 +0100)]
Fix typo Inavlid -> Invalid

Change-Id: I3fc6ec3cc319784f32368585ae4eb379317ef4ce
Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
10 years agoWMF: each media player now has its own volume.
Yoann Lopes [Tue, 4 Mar 2014 16:22:47 +0000 (17:22 +0100)]
WMF: each media player now has its own volume.

Instead of setting the volume on the audio session, which is shared by
all QMediaPlayers, we now set the volume on the media player's own audio
stream. This results in all QMediaPlayers correctly having independent
volumes.

[ChangeLog][QtMultimedia][Windows] QMediaPlayer::setVolume() does not
affect the volume of other QMediaPlayers anymore.

Task-number: QTBUG-30317
Change-Id: I8ea8ec47fc86127da01dc5c8247fb6f72c834630
Reviewed-by: Wouter Huysentruit <wouter_huysentruit@hotmail.com>
Reviewed-by: Andy Nichols <andy.nichols@digia.com>
10 years agoMake declarative-camera example show frames in the correct orientation.
Yoann Lopes [Fri, 7 Mar 2014 13:19:40 +0000 (14:19 +0100)]
Make declarative-camera example show frames in the correct orientation.

VideoOutput's autoOrientation property should be set to true in order
to always have the video frames in the same orientation as the screen.

Change-Id: I76ebb2979070e52d4f62972d63896eada1a208be
Reviewed-by: Andy Nichols <andy.nichols@digia.com>
10 years agoAVFoundation: fix crash when no camera is available on the system.
Yoann Lopes [Fri, 7 Mar 2014 13:15:13 +0000 (14:15 +0100)]
AVFoundation: fix crash when no camera is available on the system.

Change-Id: I0b473babae4d1fae605667957deca21ba1dc0c09
Reviewed-by: Andy Nichols <andy.nichols@digia.com>
10 years agoCoreAudio: Set default audio category to Playback on iOS
Andy Nichols [Thu, 6 Mar 2014 11:33:41 +0000 (12:33 +0100)]
CoreAudio: Set default audio category to Playback on iOS

This fixes the issue that when we use QSoundEffect we dont need to get
permission to use the microphone.  This was because we were defaulting
to PlayAndRecord.  Now we only switch to the PlayAndRecord category when
we try and use an input device.

[ChangeLog][QtMultimedia][iOS] Using QSoundEffect (or SoundEffect in
QML) no longer requires permission to use the microphone.

Change-Id: I94535215497a718005c280bfd84b428b4bf1b16a
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
10 years agoAVFoundation: Prevent Crash in QMediaPlayer
Andy Nichols [Wed, 5 Mar 2014 14:32:05 +0000 (15:32 +0100)]
AVFoundation: Prevent Crash in QMediaPlayer

Task-number: QTBUG-34213
Change-Id: I0883436175439abbb4ea964ed552a17b970ed05c
Reviewed-by: Michael Bruning <michael.bruning@digia.com>
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
10 years agoRelease videoframe on painter stop()
Wouter Huysentruit [Mon, 3 Mar 2014 19:21:26 +0000 (20:21 +0100)]
Release videoframe on painter stop()

QVideoSurfaceGLPainter/QVideoSurfaceGlslPainter needs
to release the video frame on stop (just like
QVideoSurfaceGenericPainter already does).

Change-Id: Iaf3eb13eaf51fbc22fab6b1f80db8e8978ac328d
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
10 years agotst_qcamerainfo: Fix weird symbol in license header
Sergio Ahumada [Wed, 5 Mar 2014 12:15:54 +0000 (13:15 +0100)]
tst_qcamerainfo: Fix weird symbol in license header

Change-Id: Idff0ffb96fa86dd7faa9ff9b86338c238d4edcb5
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
10 years agoGStreamer: Remove tags when an invalid QVariant is assigned.
Andrew den Exter [Tue, 4 Mar 2014 08:03:20 +0000 (18:03 +1000)]
GStreamer: Remove tags when an invalid QVariant is assigned.

Clear the tag list before syncing with reference set so old values
are removed and explicitly remove invalid QVariants from the reference
set so that the type correction doesn't result in invalid values being
written instead.

Change-Id: I7d1bdc95cd2a2d601720db84c9b3ef629477bc99
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
10 years agovideonode: imx6: clear texture cache when the format changes
Michael Olbrich [Wed, 26 Feb 2014 18:00:05 +0000 (19:00 +0100)]
videonode: imx6: clear texture cache when the format changes

The old textures won't match anyways. So there is no need to keep them.

Change-Id: Id3482333d10cf022d04076ec0f5c7df475c522ae
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
Reviewed-by: Andy Nichols <andy.nichols@digia.com>
10 years agovideonode: imx6: cleanup pixel formats
Michael Olbrich [Wed, 26 Feb 2014 16:29:45 +0000 (17:29 +0100)]
videonode: imx6: cleanup pixel formats

All formats are now tested.

Also, don't use the alpha channel. This is not quite correct for formats
with alpha channel but for video probably a good idea.

Change-Id: I4a2404d7c96023bb1e3fca41e1f224d23347f290
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
Reviewed-by: Andy Nichols <andy.nichols@digia.com>
10 years agoenable imx6 specific QSGVideoNode based on a config test
Michael Olbrich [Thu, 27 Feb 2014 16:19:29 +0000 (17:19 +0100)]
enable imx6 specific QSGVideoNode based on a config test

This way it also works custom mkspecs

Change-Id: I7414aac775b797da3487e9625c7212486118b532
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
Reviewed-by: Andy Nichols <andy.nichols@digia.com>
10 years agoAVFoundation: Cleanup AVCaptureSession with proper reference counting
Andy Nichols [Tue, 4 Mar 2014 13:11:01 +0000 (14:11 +0100)]
AVFoundation: Cleanup AVCaptureSession with proper reference counting

The reference counting was not being done for AVCaptureSession so it was
being destroyed before we got a chance to properly clean it up (which
lead to crashes).  We also make sure to remove any observers from
AVCaptureSession now before destroying it.

Task-number: QTBUG-37109
Task-number: QTBUG-29955
Change-Id: Ia9b49ad1eab01b4f7424e2a1c699d903cd9bf902
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
10 years agoAVFoundation: implement QCameraInfoControl.
Yoann Lopes [Fri, 7 Feb 2014 13:20:28 +0000 (14:20 +0100)]
AVFoundation: implement QCameraInfoControl.

Change-Id: I05f3daa5c4acb90e046e26d6d577ae40dfed0e30
Reviewed-by: Andy Nichols <andy.nichols@digia.com>
10 years agoAVFoundation: Call stop() on VideoSurface when changing sources
Andy Nichols [Mon, 3 Mar 2014 17:39:43 +0000 (18:39 +0100)]
AVFoundation: Call stop() on VideoSurface when changing sources

Before we were reusing the active surface when we switched videos.  This
leads to an inconsitency in states, and the sourceRect property of the
video surface does not get updated.

Task-number: QTBUG-28655
Change-Id: Ie29bf1d9b1c11b6f51a869253c730202001c07cf
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
10 years agoAVFoundation: Fix y-inverted QML Videos
Andy Nichols [Mon, 3 Mar 2014 14:18:38 +0000 (15:18 +0100)]
AVFoundation: Fix y-inverted QML Videos

When the code that supports iOS was added, we introduced a bug where QML
videos would be played y-inverted on OS X.  This is because we made no
effort to y-invert the Framebuffer Object before rendering the texture
in the SceneGraph.  Now we render the video the the FBO y-inverted, so
there is no need to y-invert the resulting texture.

Task-number: QTBUG-35955
Change-Id: I41af1aaae57923b9972b5be5ec65f7d2a97d77c5
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
10 years agoAVFoundation: Remove debug code
Andy Nichols [Mon, 3 Mar 2014 14:15:00 +0000 (15:15 +0100)]
AVFoundation: Remove debug code

Some debug code made it into the released code, so each time you used
the QWidget based video player the terminal would print data about the
window frame size.

Change-Id: I86eb00ce5edb23b7a2abf6a63893cd17aaeb0ee3
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
10 years agoCoreAudio: Use the real default audio device for QSoundEffect
Andy Nichols [Sun, 2 Mar 2014 19:39:44 +0000 (20:39 +0100)]
CoreAudio: Use the real default audio device for QSoundEffect

There is an assumption in QtMultimedia that the first audio device
returned by QAudioDeviceInfo::availableDevices is the default device, so
we must make an effor to make sure this is true.  This commit should fix
the issue on OS X.

Task-number: QTBUG-36638
Change-Id: Id388d7218b465cb29d826f46ee825e982c5f7ffc
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
10 years agoCoreAudio: Make it possible to set volume on of QAudioOutput
Andy Nichols [Sun, 2 Mar 2014 17:44:52 +0000 (18:44 +0100)]
CoreAudio: Make it possible to set volume on of QAudioOutput

QAudioOutput::setVolume stopped working for CoreAudio when it was ported
to live in it's own plugin.  This was because it was not possible to set
the volume of QAudioOutput in iOS.  Now the functionality has been
restored and added for iOS as well.  For OS X we use the old method of
setting the volume property of the AudioUnit.  On iOS it is not possible
to set the volume on a per AudioUnit basis, so we now manually modify
the buffer contents (the same we do for QAudioInput already).

Task-number: QTBUG-36756
Change-Id: I42b5892fe5534217043fa55e7b5b9a4ce824050d
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
10 years agoAVFoundation: Improve config test
Andy Nichols [Sun, 2 Mar 2014 20:07:06 +0000 (21:07 +0100)]
AVFoundation: Improve config test

This should prevent the avfoundation plugin from being built on system
that can not support using it (ex. 32bit builds on OS X 10.7)

Task-number: QTBUG-36239
Change-Id: I9f861b7580b0e015ddbc1231440d677bf6eee1ec
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
10 years agoCoreAudio: Allow more flexability when specifying SampleRates
Andy Nichols [Sun, 2 Mar 2014 15:19:37 +0000 (16:19 +0100)]
CoreAudio: Allow more flexability when specifying SampleRates

The available sample rates for a given device are the nominal sample
rates reported by the device.  It is possible to use other sample rates
and CoreAudio will take care of the conversion.  So what we will do is
report what rates are available for a device, but not explicitly require
those sample rates to have a valid format.

Task-number: QTBUG-36265
Change-Id: Idbbdeacbb6bc1fe434bcd8dec519ad70d4ccd545
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
10 years agoPrefer to use normalised signal/slot signatures
Sergio Ahumada [Sun, 2 Mar 2014 10:43:58 +0000 (11:43 +0100)]
Prefer to use normalised signal/slot signatures

Change-Id: I48ae4b46f7a0342a1436ba78958b057e919e3a8a
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
10 years agoAdd missing virtual destructor for new class
Thiago Macieira [Sat, 1 Mar 2014 07:19:38 +0000 (23:19 -0800)]
Add missing virtual destructor for new class

qmediaserviceproviderplugin.h:166:28: error: ‘struct QMediaServiceCameraInfoInterface’ has virtual functions and accessible non-virtual destructor [-Werror=non-virtual-dtor]

Change-Id: I08c6718bfd87c5adeea9969afdd4766150163238
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
10 years agoAndroid: implement QCameraInfoControl.
Yoann Lopes [Mon, 3 Feb 2014 18:47:33 +0000 (19:47 +0100)]
Android: implement QCameraInfoControl.

VideoOutput will now take into account the camera sensor orientation to
adjust the viewport orientation, we don't need to apply a rotation on
the Android Camera anymore.

Change-Id: Ia7639f0a5711ab6cc6f80b9716bc1a6f389499b4
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
10 years agoVideoOutput: fix autoOrientation with a camera source.
Yoann Lopes [Mon, 3 Feb 2014 20:38:56 +0000 (21:38 +0100)]
VideoOutput: fix autoOrientation with a camera source.

Don't assume the camera frames are always in the same orientation as the
display in its primary orientation. We now take into account the camera
sensor position and orientation to calculate the viewport orientation.

Change-Id: Ib333c87f1804d1010ada42cb757e4fab78d75a04
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
10 years agoNew QCameraInfo class.
Yoann Lopes [Wed, 22 Jan 2014 15:18:42 +0000 (16:18 +0100)]
New QCameraInfo class.

The class allows to get the list of available cameras on the system as
well as getting some static information about them such as their unique
ID, display name, physical position and sensor orientation.

This makes QCamera::availableDevices() and QCamera::deviceDescription()
obsolete.

This patch contains the API, documentation and auto-tests but not the
actual implementation by each backend (except for retrieving the default
camera device).

[ChangeLog][QtMultimedia] Added new QCameraInfo class
[ChangeLog][QtMultimedia] QCamera: availableDevices() and
deviceDescription() are deprecated, use QCameraInfo instead

Change-Id: I64fd65729ab26a789468979ed5444ee90bb82cd0
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
10 years agoQSoundEffect: fix changing the loop count while playing.
Yoann Lopes [Thu, 20 Feb 2014 18:42:20 +0000 (19:42 +0100)]
QSoundEffect: fix changing the loop count while playing.

The running count was not updated with the new value.

Auto-test added and documentation updated to be more clear about this
behavior.

Task-number: QTBUG-36643

Change-Id: I29e98ca4679f950a75133b21873738bcb72d23d4
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
10 years agoandroid: add missing feature tags.
Yoann Lopes [Fri, 21 Feb 2014 13:18:34 +0000 (14:18 +0100)]
android: add missing feature tags.

Adding the CAMERA and RECORD_AUDIO permissions implicitely makes some
features a hard requirement for the app.
By adding these features in the .pro file, androiddeployqt will mark
them as unrequired in the final package.

Change-Id: Ie9357d05626cb12272001d63b04e230737fbf1bc
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
10 years agoQNX: Use window group of top-level window for mmr
Frank Osterfeld [Thu, 28 Nov 2013 16:06:17 +0000 (17:06 +0100)]
QNX: Use window group of top-level window for mmr

Pass the top-level window's window group to mm-renderer,
as required by mmr.

Change-Id: I2a2e8b4aa48f5c2292b03593c6d528068f383b5c
Reviewed-by: Bernd Weimer <bweimer@blackberry.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
10 years agoMerge remote-tracking branch 'origin/dev' into stable
Oswald Buddenhagen [Wed, 19 Feb 2014 09:04:30 +0000 (10:04 +0100)]
Merge remote-tracking branch 'origin/dev' into stable

Change-Id: I84b36fa41f3d5f8fea2dec2545f72ebe6a0c7908

10 years agoFix linking problem when built with -no-opengl
Andy Shaw [Mon, 10 Feb 2014 23:24:58 +0000 (00:24 +0100)]
Fix linking problem when built with -no-opengl

When -no-opengl was used then it was not automatically pulling in the
needed Windows libraries as it was not loading opengl.prf to get them
from.

Change-Id: I9b73e5ee01da964a64c71b6261ff4ed98ce6f1a9
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
10 years agoUse QVERIFY2 for elapsed time in tst_QMediaPlayerBackend::seekPauseSeek().
Friedemann Kleint [Mon, 17 Feb 2014 13:19:44 +0000 (14:19 +0100)]
Use QVERIFY2 for elapsed time in tst_QMediaPlayerBackend::seekPauseSeek().

The test has been observed to fail sometimes, try to obtain values.

Change-Id: Id0374b7ad3d593c099500e771bc4d8cc50f26651
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
10 years agoAVFoundation: mirror viewfinder frames of front-facing cameras.
Yoann Lopes [Fri, 7 Feb 2014 13:23:32 +0000 (14:23 +0100)]
AVFoundation: mirror viewfinder frames of front-facing cameras.

Change-Id: I95920aa459ff0931819cb6f8278ab296db542601
Reviewed-by: Andy Nichols <andy.nichols@digia.com>
10 years agoMerge remote-tracking branch 'origin/stable' into dev
Frederik Gladhorn [Wed, 12 Feb 2014 13:11:35 +0000 (14:11 +0100)]
Merge remote-tracking branch 'origin/stable' into dev

Change-Id: Ie93615076177662e75d46f3d13beeb88d424b4a6

10 years agoadding zero-copy-QSGVideoNode for imx6 upstream/5.2.2
Thomas Senyk [Tue, 28 Jan 2014 13:49:32 +0000 (14:49 +0100)]
adding zero-copy-QSGVideoNode for imx6

On imx6 there is a platform-specific API to implement
memory-mapping from gstreamer-buffer to opengl-texture.

This plugin uses this API to avoid CPU-based-memory-copy.

This allows fluid video-playback up to 1080p with very little CPU load.
Before even 720p used one cpu-core completely and wasn't fluid.

Change-Id: I0c33eb5d475393a65459291ce9290fa0753de4a5
Reviewed-by: Andy Nichols <andy.nichols@digia.com>
10 years agoAdd meta-data mappings for GPS and camera make and model to camerabin.
Andrew den Exter [Fri, 7 Feb 2014 03:17:03 +0000 (13:17 +1000)]
Add meta-data mappings for GPS and camera make and model to camerabin.

This enables writing gps positioning information to captured images.

Change-Id: I663f7b94b5e6040865358df1ae45d67b73c54f92
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
10 years agoFix gstreamer crash when meta-data is of incorrect type.
Andrew den Exter [Tue, 28 Jan 2014 01:28:19 +0000 (11:28 +1000)]
Fix gstreamer crash when meta-data is of incorrect type.

GStreamer tags are typed and the correct type must be used when inserting
a value into a GstTagList or subsequent merges or data accesses can crash
because of invalid casts.

Found while adding additional mappings for GPS values.

Change-Id: I95ab40a480a4685bf4e69064315557faa9de288e
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
10 years agoReplace win32-g++ with mingw scope
Kai Koehne [Fri, 17 Jan 2014 13:41:08 +0000 (14:41 +0100)]
Replace win32-g++ with mingw scope

Commit 773dd01 in qtbase introduced a general mingw platform scope, which
is cleaner and more flexible than matching the spec name.

(see 278152fff for a similar commit in qtbase).

Change-Id: Ib46b9e83f690b0b26933b73764c7d7d4b031d792
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
10 years agoQAudioOutput: Don't guess media role if one has not been provided in setCategory.
Robin Burchell [Thu, 16 Jan 2014 14:28:06 +0000 (15:28 +0100)]
QAudioOutput: Don't guess media role if one has not been provided in setCategory.

Trying to heuristically guess this kind of thing is almost always a bad idea.
Expect the creator of the output to explicitly tell us the category instead
of guessing.

This fixes QAudioOutput not respecting system volume on Sailfish.

Change-Id: If1d05192f513eb54fdfbd1df217286f329b2bfe8
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
10 years agoQSoundEffect: Don't try guess a media role if one has not been provided.
Robin Burchell [Thu, 16 Jan 2014 14:28:02 +0000 (15:28 +0100)]
QSoundEffect: Don't try guess a media role if one has not been provided.

Trying to heuristically guess this kind of thing is almost always a bad idea.
Expect the creator of the output to explicitly tell us the category instead
of guessing.

Change-Id: I5f2988e2456685f3622e0ab136951b1742215f71
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
10 years agoNormalize signal & slot signatures in connection
Thiago Macieira [Sun, 2 Feb 2014 22:07:07 +0000 (14:07 -0800)]
Normalize signal & slot signatures in connection

Profiling shows Qt Creator spends 2% of its load time normalizing

Change-Id: I1a4bef16be79ced35c47da865153ebe1bee22f9c
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
10 years agoEnsure the backend has had its geometry updated.
Roger Maclean [Fri, 31 Jan 2014 19:58:54 +0000 (14:58 -0500)]
Ensure the backend has had its geometry updated.

When trying to play video in an overlay window, the video fails to
be displayed because everything that would cause updateGeometry to be
called on the backend has already occurred prior to the backend having
been created.

Change-Id: Ida3c8feea69b497a18e9f44d7143bed03380d6ae
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
10 years agoDon't mirror the image from the camera unless it has been flipped
Andy Shaw [Fri, 31 Jan 2014 07:23:47 +0000 (08:23 +0100)]
Don't mirror the image from the camera unless it has been flipped

The camera itself can have a mode set that causes the image to be flipped
so instead of always mirroring the image that is taken from the camera we
check for the supported modes first and then check the mode and only
mirror if it is set. Otherwise we assume that it does not need
horizontally flipping but that it needs vertically flipping which seems to
be the standard for cameras on Windows.

[ChangeLog][QtMultimedia][Windows] Fixed the incorrect mirroring of the
image from the camera
Task-number: QTBUG-30365

Change-Id: I166b1f354e8d91c9a6c64f64164d782b52df98d8
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
10 years agoExclude win32 plugins from WinRT build
Maurice Kalinowski [Tue, 28 Jan 2014 11:54:22 +0000 (12:54 +0100)]
Exclude win32 plugins from WinRT build

Change-Id: Icd07ad6805341f763a7abcfc8a24104c5d672ad7
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
10 years agoMove win32 and Alsa audio backends into plugins.
Christian Strømme [Fri, 22 Nov 2013 23:14:15 +0000 (00:14 +0100)]
Move win32 and Alsa audio backends into plugins.

Change-Id: I9835cf5ee97900569f26421a19543b485e933051
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
10 years agoAlsa: fix crash when detecting devices.
Yoann Lopes [Thu, 30 Jan 2014 15:32:53 +0000 (16:32 +0100)]
Alsa: fix crash when detecting devices.

Some old versions of Alsa crash when snd_device_name_hint(-1, ...) is
called. This patch works around the problem by iterating manually over all
the available sound cards.

Change-Id: Ic380a371acc15013d137553ff30d68bed5af664e
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
10 years agoAndroid: add missing information in frames retrieved with QVideoProbe.
Yoann Lopes [Thu, 30 Jan 2014 13:01:55 +0000 (14:01 +0100)]
Android: add missing information in frames retrieved with QVideoProbe.

The number of bytes per line was missing.

Change-Id: I0afbdcfd6d7195b7beb3fd09f4ed262f756be848
Reviewed-by: Denis Kormalev <dkormalev@ics.com>
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
10 years agoMerge "Merge remote-tracking branch 'origin/stable' into dev" into refs/staging/dev
Yoann Lopes [Thu, 30 Jan 2014 13:32:29 +0000 (14:32 +0100)]
Merge "Merge remote-tracking branch 'origin/stable' into dev" into refs/staging/dev

10 years agowhitespace fixes
Oswald Buddenhagen [Fri, 17 Jan 2014 18:27:51 +0000 (19:27 +0100)]
whitespace fixes

remove trailing spaces & expand tabs.

Change-Id: I05ef110abed90f13b47752760ffb4567a11a6a5e
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@digia.com>
10 years agoAndroid: fix crash in QAndroidCaptureSession.
Yoann Lopes [Tue, 21 Jan 2014 15:23:41 +0000 (16:23 +0100)]
Android: fix crash in QAndroidCaptureSession.

Don't try to apply video recording settings until a camera is actually
started.

Change-Id: I5348b91669835b9d776f56a3f49e3f8a11533d15
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
10 years agoFix MSVC-warning about truncation of constant in tst_qaudiobuffer.cpp.
Friedemann Kleint [Fri, 24 Jan 2014 13:53:06 +0000 (14:53 +0100)]
Fix MSVC-warning about truncation of constant in tst_qaudiobuffer.cpp.

Change-Id: If9e239be38f8d15542ab9bf3a74bccf0a43b4e69
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
10 years agoFix MSVC-warnings about unsafe bool operations in tst_qcamera.cpp.
Friedemann Kleint [Fri, 24 Jan 2014 13:49:08 +0000 (14:49 +0100)]
Fix MSVC-warnings about unsafe bool operations in tst_qcamera.cpp.

qglobal.h(501) : warning C4804: '-' : unsafe use of type 'bool' in operation
global/qglobal.h(501) : warning C4800: 'int' : forcing value to bool 'true' or 'false' (performance warning)
tst_qcamera.cpp(507) : see reference to function template instantiation 'T qAbs<bool>(const T &)' being compiled

Change-Id: Ifd467b5536a0d386f592ae339129b3ebfb7b8838
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
10 years agoFix MSVC-warnings about unused variable meta in tst_qdeclarativevideooutput.cpp.
Friedemann Kleint [Fri, 24 Jan 2014 13:44:20 +0000 (14:44 +0100)]
Fix MSVC-warnings about unused variable meta in tst_qdeclarativevideooutput.cpp.

Change-Id: If324fd2e65acb7650b1d8dee4964a2c2bb17f876
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
10 years agoMerge remote-tracking branch 'origin/release' into stable
Frederik Gladhorn [Mon, 27 Jan 2014 17:58:47 +0000 (18:58 +0100)]
Merge remote-tracking branch 'origin/release' into stable

Change-Id: If97b68b56071e241c659ddd231f28e433954d7be

10 years agoMerge remote-tracking branch 'origin/stable' into dev
Frederik Gladhorn [Mon, 27 Jan 2014 17:54:20 +0000 (18:54 +0100)]
Merge remote-tracking branch 'origin/stable' into dev

Change-Id: I83d589c55e8463cce23068dc81096aa66ec596a5

10 years agoFix sending End Of Stream on gst plugin
Daniel Nicoletti [Mon, 27 Jan 2014 13:44:22 +0000 (11:44 -0200)]
Fix sending End Of Stream on gst plugin

When streaming to gst a typefind operation
is performed which jumps around to find which
codec the file provides, this fix the call to
send an EOS before we try to read and not after
which causes confusion to gst.

Task-number: QTBUG-32963
Change-Id: I2658b6a4e960430c8ab422a3bee5e11956663116
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
10 years agoFixes mediaplayer crashes on OSX
tom [Fri, 24 Jan 2014 10:54:43 +0000 (11:54 +0100)]
Fixes mediaplayer crashes on OSX

Fixes the "libqavfmediaplayer.dylib 0x0000000110fa7c8c -[AVFMediaPlayerSessionObserver unloadMedia]" crash on Macs.
The problem was: writing to memory that had already been released. If not sure, one should always check if the objects exist before deleting it.

Solution tested on OSX 10.7, 10.8, 10.9

[ChangeLog][qtmultimedia][avfmediaplayersession]

Task-number: QTBUG-34213
Change-Id: Iac108711851c348e96e73542b4e71653007eeb54
Reviewed-by: Andy Nichols <andy.nichols@digia.com>