platform/upstream/qtmultimedia.git
9 years agoAdd AVF camera utilities - general aux. functions/classes
Timur Pocheptsov [Fri, 20 Feb 2015 08:43:39 +0000 (09:43 +0100)]
Add AVF camera utilities - general aux. functions/classes

Move configuration lock class into avfutility.h + add several standalone functions
to work with  AVCaptureDeviceFormat/AVCaptureDevice etc. - utility functions that are not
specific to any class.

Change-Id: Idba544248772a3b2a4e00dddb377b1c0e62b8085
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
9 years agoDirectShow: implemented QCameraViewfinderSettingsControl2.
Yoann Lopes [Fri, 19 Dec 2014 19:08:58 +0000 (20:08 +0100)]
DirectShow: implemented QCameraViewfinderSettingsControl2.

Change-Id: I42ed49676e2fbc7207d8fe4579ad1fc0d62df138
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
9 years agoios: Enable volume and mute functionality
Frank Osterfeld [Tue, 24 Feb 2015 21:40:55 +0000 (22:40 +0100)]
ios: Enable volume and mute functionality

AVPlayer::setVolume and setMute also exist on iOS, so no need to ifdef
them to be OS X-only. As they require iOS 7.0, add runtime checks to
ensure that the methods exist.

Task-number: QTBUG-39240
Change-Id: I10810705cef8e5d8c18e4c79a15fa06425ea57f9
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
Reviewed-by: James Turner <james.turner@kdab.com>
9 years agoios: Do not leak texture cache objects
Frank Osterfeld [Sun, 22 Feb 2015 12:15:03 +0000 (13:15 +0100)]
ios: Do not leak texture cache objects

Do not recreate m_textureCache if it already exists. This changes the
memory allocation behavior of a simple iOS example program from
linearly increasing to constant over time.

Change-Id: I6ff13b586c653fb7b4cadfa9f4ebf985b07ee455
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
9 years agoMerge remote-tracking branch 'origin/5.4' into 5.5
Frederik Gladhorn [Tue, 24 Feb 2015 16:38:46 +0000 (17:38 +0100)]
Merge remote-tracking branch 'origin/5.4' into 5.5

Conflicts:
qtmultimedia.pro
src/gsttools/qgstreamervideowidget.cpp
src/plugins/gstreamer/camerabin/camerabinservice.cpp

Change-Id: I883f20dc17924ab42514a1aa00d16675a0f13d99

9 years agoAdd Linux and AMD support to the OpenCL filter example
Laszlo Agocs [Mon, 23 Feb 2015 13:50:11 +0000 (14:50 +0100)]
Add Linux and AMD support to the OpenCL filter example

Change-Id: I1ea91f93677c53322c3867db6069e4362c58cebd
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
9 years agoMerge dev into 5.5
Oswald Buddenhagen [Tue, 24 Feb 2015 10:02:24 +0000 (11:02 +0100)]
Merge dev into 5.5

Change-Id: I715a549b4cc10220a6e3b48799fdc38865a9345e

9 years agoFix some qdoc-warnings.
Friedemann Kleint [Fri, 20 Feb 2015 13:35:55 +0000 (14:35 +0100)]
Fix some qdoc-warnings.

qtmultimedia/src/multimedia/qmediaserviceprovider.cpp:850: warning: Cannot find 'defaultDevice(...)' in '\fn' QMediaServiceSupportedDevicesInterface::defaultDevice(const QByteArray &service) const
qtmultimedia/src/multimedia/qmediaserviceprovider.cpp:850: warning: Cannot find 'defaultDevice(...)' in '\fn' QByteArray QMediaServiceSupportedDevicesInterface::defaultDevice(const QByteArray &service) const
qtmultimedia/src/multimedia/video/qabstractvideofilter.cpp:261: warning: Undocumented parameter 'parent' in QAbstractVideoFilter::QAbstractVideoFilter()

Change-Id: I72bfc1dc7697cd1323cb7aad16539932ace9d8ea
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@theqtcompany.com>
9 years agoMerge "Merge remote-tracking branch 'origin/5.4' into dev" into refs/staging/dev
Sergio Ahumada [Sun, 22 Feb 2015 22:21:39 +0000 (22:21 +0000)]
Merge "Merge remote-tracking branch 'origin/5.4' into dev" into refs/staging/dev

9 years agoRemove BlackBerry PlayBook support.
Rafael Roquetto [Thu, 12 Feb 2015 10:04:11 +0000 (08:04 -0200)]
Remove BlackBerry PlayBook support.

Change-Id: I21f9c21bd3badd30f3a989ce3412c9ad03f5f21d
Reviewed-by: Bernd Weimer <bernd.weimer@pelagicore.com>
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
9 years agoGStreamer: some improvements with the camerabin's capture settings.
Yoann Lopes [Thu, 5 Feb 2015 15:37:58 +0000 (16:37 +0100)]
GStreamer: some improvements with the camerabin's capture settings.

- Don't pretend we support changing the image or video capture
  settings while the camera is active. The pipeline needs to be
  restarted in order to renegotiate caps.
- Improved retrieving the supported capture resolutions and frame
  rates when using wrappercamerabinsrc. We now always get the
  supported values directly from the video source.

Change-Id: I107193288e370af105a25d16568a8f5a76022ada
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
9 years agoGStreamer: improve camerabin audio settings checking.
Yoann Lopes [Thu, 5 Feb 2015 15:34:27 +0000 (16:34 +0100)]
GStreamer: improve camerabin audio settings checking.

Don't try setting a sample rate or a channel count equal to 0.

Change-Id: Ib2e1728f0d9af09df9c4d3fd1322b5cb174a2981
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
9 years agoGStreamer camerabin: don't recreate camera source on device change.
Yoann Lopes [Thu, 29 Jan 2015 15:17:21 +0000 (16:17 +0100)]
GStreamer camerabin: don't recreate camera source on device change.

Change-Id: If62573b11c8e3112d386d93de9a504f49965d597
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
9 years agoGStreamer: remove unused function and enum.
Yoann Lopes [Thu, 29 Jan 2015 11:35:40 +0000 (12:35 +0100)]
GStreamer: remove unused function and enum.

Change-Id: I67b329784d94e60b94c10d4a8942d02b050e0b2c
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
9 years agoGStreamer: runtime check for controls that require GstPhotography.
Yoann Lopes [Thu, 29 Jan 2015 11:24:45 +0000 (12:24 +0100)]
GStreamer: runtime check for controls that require GstPhotography.

Exposure, Flash, Focus and Locks controls were always initialized,
even when the GstPhotography interface was not available (on desktop
for example), causing some warnings and fooling the user in believing
that these features were available.
These controls are now lazily initialized and only when
GstPhotography is available.

The zoom control is not compile-checked anymore since it doesn't
actually require GstPhotography.

Change-Id: I5e8315d796dd920c9c29ccfa4155707f5f0fd7dc
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
9 years agoGStreamer 1.0: fix some problems with QGstVideoRendererSink.
Yoann Lopes [Wed, 28 Jan 2015 14:17:57 +0000 (15:17 +0100)]
GStreamer 1.0: fix some problems with QGstVideoRendererSink.

- Correctly free resources on deletion.
- Correctly stop the sink. We were stopping only when null caps
  were passed to set_caps() but that doesn't seem to always happen.
  Implement GstBaseSink.stop() which is always and consistently
  called by GStreamer.
- Remove pre-roll support (as done previously for 0.10, see
  commit 3b20608f).

Change-Id: I4c5808938f244f4f8a35e121a3a4a862588b752d
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
9 years agoGStreamer: implemented QCameraViewfinderSettingsControl2.
Yoann Lopes [Mon, 19 Jan 2015 13:20:53 +0000 (14:20 +0100)]
GStreamer: implemented QCameraViewfinderSettingsControl2.

Change-Id: I4436e39c152f6c251792c1504d4a7b57db7b9d9a
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
9 years agoGStreamer 1.0: fix frame rate retrieved with QGstUtils::formatFromCaps.
Yoann Lopes [Mon, 26 Jan 2015 12:29:00 +0000 (13:29 +0100)]
GStreamer 1.0: fix frame rate retrieved with QGstUtils::formatFromCaps.

Change-Id: I88e8416e50440bbd14b34a8b2b3b262b5c8401ab
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
9 years agoGStreamer: fix camerabin state and status changes.
Yoann Lopes [Wed, 21 Jan 2015 13:11:42 +0000 (14:11 +0100)]
GStreamer: fix camerabin state and status changes.

Not all status changes where reported and setting the QCamera
to LoadedState was not actually loading anything.

State and status changes have been refactored.
Camera status is now reported directly by the camera session.
Setting the camera state to LoadedState now sets the camerabin to
GST_STATE_READY, that allows to query for camera capabilities without
having to start the camera (and have a valid viewfinder).

Change-Id: I249b1ad32690679ff34a427410bc709ed3ab461c
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
9 years agoGStreamer: improved logic for window and widget controls usage.
Yoann Lopes [Wed, 11 Feb 2015 11:40:10 +0000 (12:40 +0100)]
GStreamer: improved logic for window and widget controls usage.

Provide these controls only when the xvimagesink gstreamer element is
available. This allows QVideoWidget to fallback to QVideoRendererControl
when xvimagesink is not available.

Task-number: QTBUG-41618
Change-Id: I59f90ea8857c7ec0ffa08be9804e5458d95b79c4
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
9 years agoMerge remote-tracking branch 'origin/5.5' into dev
Sergio Ahumada [Tue, 17 Feb 2015 15:12:14 +0000 (16:12 +0100)]
Merge remote-tracking branch 'origin/5.5' into dev

Change-Id: I89bfde0a1618ebf3b34948c1c1f74c2cbf5d8abf

9 years agoFix BSD license headers
Sergio Ahumada [Tue, 17 Feb 2015 13:14:26 +0000 (14:14 +0100)]
Fix BSD license headers

Change-Id: I639ed933b789393fa50630af133e51abe3d7fae3
Reviewed-by: Jani Heikkinen <jani.heikkinen@theqtcompany.com>
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
9 years agoCompile Alsa and PulseAudio plugins only when enabled by configure.
Yoann Lopes [Fri, 13 Feb 2015 16:20:03 +0000 (17:20 +0100)]
Compile Alsa and PulseAudio plugins only when enabled by configure.

They are enabled by default, this simply makes sure -no-alsa and
-no-pulseaudio work.

Change-Id: I8e921381363064bb65b414152eab27c08a551dc4
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
9 years agoUse configured GStreamer version.
Yoann Lopes [Fri, 13 Feb 2015 15:51:34 +0000 (16:51 +0100)]
Use configured GStreamer version.

The gstreamer version detected or set by the configure script can be
overridden by passing GST_VERSION=<version> to qmake qtmultimedia.pro.

Change-Id: I6f2eac3705d3d6fe0ec8e79042017add6751ee8c
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
9 years agoMerge remote-tracking branch 'origin/5.4' into dev
Frederik Gladhorn [Fri, 13 Feb 2015 12:10:48 +0000 (13:10 +0100)]
Merge remote-tracking branch 'origin/5.4' into dev

Change-Id: I5575a4ba13212c9bfe73a3de3ef17c6528beafc3

9 years agoUpdate copyright headers
Antti Kokko [Thu, 12 Feb 2015 06:47:32 +0000 (08:47 +0200)]
Update copyright headers

Qt copyrights are now in The Qt Company, so we could update the source
code headers accordingly. In the same go we should also fix the links to
point to qt.io.

Change-Id: I1c6faa4f59f8eca54f01ef20941fa60161dd7872
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
9 years agoAndroid: fix adjusting camera viewfinder resolution.
Yoann Lopes [Mon, 9 Feb 2015 16:37:10 +0000 (17:37 +0100)]
Android: fix adjusting camera viewfinder resolution.

The viewfinder resolution must be in the same aspect ratio as the
image capture resolution. When adjusting the viewfinder resolution to
comply with that restriction, we assumed that the ratios had to be
exactly equal. Though, in practice, there can be a small difference.
For example for resolutions 2592x1952 (ratio=1.3278) and resolution
640x480 (ratio=1.3333).

Task-number: QTBUG-37525
Change-Id: Ia5a6dd3a4a6d901b24bf74f8aa4e34bffe61f89b
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
9 years agoFix some typos
Sergio Ahumada [Wed, 11 Feb 2015 09:05:21 +0000 (10:05 +0100)]
Fix some typos

Change-Id: Iaf8f50741d3103480668b4a654a202d8a363bc45
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
9 years agoMerge "Merge remote-tracking branch 'origin/5.4.1' into 5.4" into refs/staging/5.4
Frederik Gladhorn [Tue, 10 Feb 2015 21:28:00 +0000 (21:28 +0000)]
Merge "Merge remote-tracking branch 'origin/5.4.1' into 5.4" into refs/staging/5.4

9 years agobic: Add 5.{1,2,3,4}.0 bic data for linux-gcc-amd64
Sergio Ahumada [Wed, 4 Feb 2015 14:47:38 +0000 (15:47 +0100)]
bic: Add 5.{1,2,3,4}.0 bic data for linux-gcc-amd64

Remove the ia32 data since there are no linux x86 machines in
the CI system (which makes the data useless from an automated
testing point of view) and most people use x64 these days anyway.

Change-Id: Ib62195d0b992a52d3a87f460283b1f2813f0e5eb
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
9 years agoClarify documentation for QImageCapture's 'ready' property.
Yoann Lopes [Tue, 10 Feb 2015 10:44:58 +0000 (11:44 +0100)]
Clarify documentation for QImageCapture's 'ready' property.

Unlike what was described in the documentation, it's not permissible to
call capture() while 'ready' or isReadyForCapture() is false. All
backends emit an error in that case.
Updated the documentation to reflect that behavior.

Change-Id: Icb326e65376b65eadd4c68b67e0ee30beddf1a04
Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com>
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
9 years agoEncode urls passed to media player properly
Joni Poikelin [Tue, 10 Feb 2015 08:02:20 +0000 (10:02 +0200)]
Encode urls passed to media player properly

Task-number: QTBUG-44383
Change-Id: I2c63d5530ad76474ccad8ad69493419dd46032fa
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
9 years agoMerge remote-tracking branch 'origin/5.4.1' into 5.4
Frederik Gladhorn [Tue, 10 Feb 2015 09:34:52 +0000 (10:34 +0100)]
Merge remote-tracking branch 'origin/5.4.1' into 5.4

Change-Id: I4167d268505cbc0b7b57888928670ae05302f4cb

9 years agoReplace blog.qt.digia.com with blog.qt.io
Sergio Ahumada [Fri, 6 Feb 2015 12:46:44 +0000 (13:46 +0100)]
Replace blog.qt.digia.com with blog.qt.io

Change-Id: I2c0a3ba90c3343b362cd756584979f1b08405d34
Reviewed-by: Tero Kojo <tero.kojo@theqtcompany.com>
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
9 years agoCamera zoom control - version for the AVFoundation plugin
Timur Pocheptsov [Fri, 19 Dec 2014 09:54:31 +0000 (10:54 +0100)]
Camera zoom control - version for the AVFoundation plugin

AVFCameraZoomControl for AVFoundation plugin (videoZoomFactor in
AVCaptureDeviceFormat). iOS only.

Change-Id: I585b8df4c2a477971ada7bd81fabbd44f2371d98
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
9 years agoAVFCameraExposureControl - exposure control for iOS
Timur Pocheptsov [Wed, 14 Jan 2015 11:18:53 +0000 (12:18 +0100)]
AVFCameraExposureControl - exposure control for iOS

Exposure control, version for AVFoundation plugin (this code is using
quite a new API, iOS >=8 only).

Change-Id: I6871a758e8dfb98ab46b66d91a44142163e0bb44
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
9 years agoAVFCameraFocusControl - focus control for iOS / OS X
Timur Pocheptsov [Tue, 13 Jan 2015 16:32:27 +0000 (17:32 +0100)]
AVFCameraFocusControl - focus control for iOS / OS X

Camera focus control for AVFoundation plugin (iOS/OS X).

Change-Id: I0a79e7057ecbb66413debb8eac0f48ff679fc7ba
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
9 years agodirectshow: Fix plugging/unplugging a second camera
Sergio Martins [Wed, 4 Feb 2015 16:28:21 +0000 (16:28 +0000)]
directshow: Fix plugging/unplugging a second camera

When having more than 1 camera (like one laptop integrated webcam
and a separate one) you had to restart the application for QCameraInfo::availableCameras()
to work.

Change-Id: I47cfa928cfd9500524b81a4bf8ec5ebff0b79879
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
9 years agoFix memory leak in QWindowsAudioDeviceInfo::availableDevices().
Friedemann Kleint [Thu, 5 Feb 2015 12:57:59 +0000 (13:57 +0100)]
Fix memory leak in  QWindowsAudioDeviceInfo::availableDevices().

Task-number: QTBUG-44305
Change-Id: I8c5afd6d5c77ef1ef81c3b752c6246dc50406794
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
9 years agoCamera: update viewfinder settings on Loaded status.
Yoann Lopes [Wed, 21 Jan 2015 13:09:08 +0000 (14:09 +0100)]
Camera: update viewfinder settings on Loaded status.

Change-Id: I9a341c7500b09d39554118689e6e83cd1b798e39
Reviewed-by: Andrew den Exter <andrew.den.exter@qinetic.com.au>
9 years agoAdd the library prefix to QObject in public header
Sergio Ahumada [Tue, 3 Feb 2015 20:07:04 +0000 (21:07 +0100)]
Add the library prefix to QObject in public header

Change-Id: I3add728003f4199fe7adec364487cc9b60a8c4cf
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
9 years agoiOS video frame render implementation.
James Turner [Mon, 12 Jan 2015 13:51:25 +0000 (13:51 +0000)]
iOS video frame render implementation.

Uses CVTextureCache, iOS only for now, OS-X code could be ported
but will need further work to support TEXTURE_RECTANGLE in the
QVideoNode classes.

When we can’t share a context, falls back to an offscreen window,
FBO rendering and grabbing a QImage.

Change-Id: I23b831fdcc63aeb1b67b7741d8d56779470240d3
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
9 years agoAdd video filtering support to VideoOutput
Laszlo Agocs [Thu, 8 Jan 2015 13:32:41 +0000 (14:32 +0100)]
Add video filtering support to VideoOutput

Add the QAbstractVideoFilter base class and integrate it with VideoOutput.

This can be used to perform arbitrary filtering or image processing
on the frames of a video stream of a VideoOutput element right before
the OpenGL texture is provided to the scenegraph by the video node.

This opens up the possibility to integrate computer vision
frameworks or accelerated image processing with Qt Quick applications
that display video streams using Qt Multimedia.

Conceptually it is somewhat similar to QVideoProbe, this
approach however allows modifying the frame, in real time
with tight integration to the scenegraph node, and targets
Qt Quick meaning setting up the filter and processing the results
of the computations happen completely in QML.

[ChangeLog] Added QAbstractVideoFilter that serves as a base class for QML
video filtering elements that integrate compute, vision, and image processing
frameworks with VideoOutput.

Change-Id: Ice1483f8c2daec5a43536978627a7bbb64549480
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
9 years agoEnsure the system libraries are linked when -opengl dynamic is used v5.4.1
Andy Shaw [Mon, 2 Feb 2015 09:00:06 +0000 (10:00 +0100)]
Ensure the system libraries are linked when -opengl dynamic is used

Task-number: QTBUG-43211
Change-Id: Id543c74233f547c61164b9d32a5f6a3f6d1bc1b3
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
9 years agoAdded 5.4.1 change file.
Yoann Lopes [Fri, 30 Jan 2015 13:10:00 +0000 (14:10 +0100)]
Added 5.4.1 change file.

Change-Id: Icde0e9aadb47dbf5a0b0bb22258b66b13cd5c75c
Reviewed-by: Jani Heikkinen <jani.heikkinen@theqtcompany.com>
9 years agoFix no-opengl pixel format check (reenables Format_RGB24)
Peter Seiderer [Wed, 28 Jan 2015 19:25:35 +0000 (20:25 +0100)]
Fix no-opengl pixel format check (reenables Format_RGB24)

Disable Format_RGB24 only in case of QOpenGLContext::LibGLES by
moving the no-opengl endif after the check against Format_RGB24.

Change-Id: I389ae2bb32dc8b2c55ec801f52d820620630b1c0
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
9 years agoMerge "Merge remote-tracking branch 'origin/5.4' into dev" into refs/staging/dev
Yoann Lopes [Fri, 23 Jan 2015 11:22:50 +0000 (12:22 +0100)]
Merge "Merge remote-tracking branch 'origin/5.4' into dev" into refs/staging/dev

9 years agoFix initialization order
Laszlo Agocs [Fri, 16 Jan 2015 12:43:35 +0000 (13:43 +0100)]
Fix initialization order

Avoid the following warning:

In file included from qgstreamerplayersession.cpp:34:0:
qgstreamerplayersession.h: In constructor ‘QGstreamerPlayerSession::QGstreamerPlayerSession(QObject*)’:
qgstreamerplayersession.h:203:10: warning: ‘QGstreamerPlayerSession::m_usingColorspaceElement’ will be initialized after [-Wreorder]
     bool m_usingColorspaceElement;
          ^
qgstreamerplayersession.h:197:17: warning:   ‘GstElement* QGstreamerPlayerSession::m_videoSink’ [-Wreorder]
     GstElement* m_videoSink;
                 ^
qgstreamerplayersession.cpp:107:1: warning:   when initialized here [-Wreorder]
 QGstreamerPlayerSession::QGstreamerPlayerSession(QObject *parent)
 ^

Change-Id: Ic4dfe6ead19db8d581cc7de622f478e63524715b
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
9 years agoMerge remote-tracking branch 'origin/5.4' into dev
Yoann Lopes [Mon, 19 Jan 2015 13:35:33 +0000 (14:35 +0100)]
Merge remote-tracking branch 'origin/5.4' into dev

Conflicts:
.qmake.conf
src/plugins/gstreamer/camerabin/camerabinsession.cpp

Change-Id: I66a6f3efc5391013934b6b321073c31f25e1de26

9 years agoBump version
Oswald Buddenhagen [Fri, 16 Jan 2015 20:06:40 +0000 (21:06 +0100)]
Bump version

Change-Id: I29a6579deefb4ca80bb014c43ee34697fa89bd47

9 years agoRename camera classes to avoid name clash.
James Turner [Mon, 12 Jan 2015 17:15:28 +0000 (17:15 +0000)]
Rename camera classes to avoid name clash.

Change-Id: I08fe8f7e75bdbf2c4975863642072061741b5bc6
Reviewed-by: Filipe Azevedo <filipe.azevedo@kdab.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
9 years agoNew camera viewfinder settings API.
Yoann Lopes [Fri, 12 Dec 2014 11:00:06 +0000 (12:00 +0100)]
New camera viewfinder settings API.

There already was a control interface for the viewfinder settings
but no real public C++ API and a partial QML API.

This patch adds a new C++ API and improves the QML API.

Supported viewfinder settings are resolution, minimumFrameRate,
maximumFrameRate and pixelFormat. The camera can be queried for
the supported values for each of these settings.

A new control interface was created to match the new API.

Change-Id: I289fea038fe46277a5516c956a64280da09ed985
Reviewed-by: Andrew den Exter <andrew.den.exter@qinetic.com.au>
9 years agoAdd resolution and fps on mfw_v4lsrc
Laszlo Agocs [Thu, 8 Jan 2015 13:10:20 +0000 (14:10 +0100)]
Add resolution and fps on mfw_v4lsrc

Add support for changing resolution and frame rate with mfw_v4lsrc.
This is essential for embedded applications that are not happy with
the default VGA@30.

This makes constructs like the following functional on devices like
i.MX6 with MIPI cameras:

Camera { viewfinder { resolution: "320x240"; maximumFrameRate: 15 } }

Change-Id: Ia297afdb5ca51c6e55ad45dce37fdab7da3a5cfb
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
9 years agoMigrate to categorized logging in Quick 2 video output
Laszlo Agocs [Fri, 19 Dec 2014 13:38:18 +0000 (14:38 +0100)]
Migrate to categorized logging in Quick 2 video output

Enable qt.multimedia.video to get the logs. Also enhance the printing
when creating the video node implementation. It is essential to have
an easy way to figure out what handle and formats the node in use
supports.

Change-Id: Idf3a9f076ba03b5e613c19f2347204c841850b45
Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
9 years agoSupport byte ordered QImage formats in pixelFormatFromImageFormat
Laszlo Agocs [Fri, 19 Dec 2014 11:19:04 +0000 (12:19 +0100)]
Support byte ordered QImage formats in pixelFormatFromImageFormat

For QVideoFrame purposes they are equivalent.

Change-Id: I776c60aa8ca848e58499bbd0c1fc25c457d46ef6
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
9 years agoAVFImageCaptureControl - invalid connection
Timur Pocheptsov [Tue, 9 Dec 2014 19:10:08 +0000 (20:10 +0100)]
AVFImageCaptureControl - invalid connection

AVCaptureConnection from AVCaptureStillImageOutput becomes invalid
as we remove/add AVCaptureDevice.

Change-Id: I698ffcc0b91b76cd5d7c25e4b244eaa0aa459159
Task-number: QTBUG-42035
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
9 years agoAdd missing includes for QDataStream/QIODevice.
Friedemann Kleint [Wed, 7 Jan 2015 08:21:10 +0000 (09:21 +0100)]
Add missing includes for QDataStream/QIODevice.

After qtbase/90e7cc172a7521396bb2d49720ee4ceb9a9390b3,
QStringList no longer includes QDataStream.

Change-Id: Ibe3e1e6542e1b592adaabe3f8ffd3268efaf289b
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
9 years agoSupport YUV420P in the i.MX6 video node
Laszlo Agocs [Mon, 5 Jan 2015 14:43:51 +0000 (15:43 +0100)]
Support YUV420P in the i.MX6 video node

Camera input is often in this format. Until now the lack of GL_VIV_I420 (which
was presumably missing in older versions of the extension?) in the format list
resulted in falling back to the built-in i420 node instead of the zero-copy imx6
one. This is now corrected by adding the correct format mapping.

Change-Id: I6e891bb3bb07d64ccd5b2d170b052f677c8bd19c
Reviewed-by: aavit <eirik.aavitsland@theqtcompany.com>
9 years agoMerge "Merge remote-tracking branch 'origin/5.4' into dev" into refs/staging/dev
Frederik Gladhorn [Mon, 29 Dec 2014 15:17:38 +0000 (16:17 +0100)]
Merge "Merge remote-tracking branch 'origin/5.4' into dev" into refs/staging/dev

9 years agoFix some typos in strings.
Dmitry Shachnev [Tue, 23 Dec 2014 12:21:13 +0000 (15:21 +0300)]
Fix some typos in strings.

s/Endianess/Endianness/
s/changable/changeable/

Change-Id: I91a43ff6e6143f2d3fc0a93aa8bbf34a415eea90
Reviewed-by: Andrew Knight <qt@panimo.net>
9 years agoFix: static linking on Linux with both PulseAudio and Alsa plugins
Gabriel Hege [Mon, 22 Dec 2014 12:17:42 +0000 (13:17 +0100)]
Fix: static linking on Linux with both PulseAudio and Alsa plugins

Fixed multiply defined symbols when linking statically with both
PulseAudio and Alsa plugins enabled:
The private classes In/OutputPrivate had identical names and have been
renamed.

Change-Id: I9415beeeed9fb0e14ead3f0ab906f343b3934341
Task-number: QTBUG-43514
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
9 years agoremove unnecessary LICENSE.GPLv2
Jani Heikkinen [Tue, 7 Oct 2014 10:12:05 +0000 (13:12 +0300)]
remove unnecessary LICENSE.GPLv2

Change-Id: Ic2be97ac71f2dbf48925b2ee7fb4ab291c7573c7
Reviewed-by: Iikka Eklund <iikka.eklund@theqtcompany.com>
9 years agoMerge remote-tracking branch 'origin/5.4' into dev
Frederik Gladhorn [Wed, 17 Dec 2014 15:53:41 +0000 (16:53 +0100)]
Merge remote-tracking branch 'origin/5.4' into dev

Conflicts:
.qmake.conf

Change-Id: I31e377cdccf8bf5c1ea8143faf2001ac99608c27

9 years agoMerge remote-tracking branch 'origin/5.4.0' into 5.4
Frederik Gladhorn [Wed, 17 Dec 2014 11:59:05 +0000 (12:59 +0100)]
Merge remote-tracking branch 'origin/5.4.0' into 5.4

Change-Id: Ice62a75ba6ff094e22e8affbecf26f4d3bf2f282

9 years agoBump version
Oswald Buddenhagen [Fri, 12 Dec 2014 12:48:26 +0000 (13:48 +0100)]
Bump version

Change-Id: I7e93575a6e3767485e2a5430312e87527b2c9b2d

9 years agowinrt: Add missing QAbstractVideoSurface::stop() call.
Andrew Knight [Thu, 11 Dec 2014 08:52:18 +0000 (10:52 +0200)]
winrt: Add missing QAbstractVideoSurface::stop() call.

This was preventing the surface from restarting with a different format.

Change-Id: I1f86ddb1b16618f167183c7e2fcb32658df578f3
Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
9 years agowinrt: Fix encoding properties
Andrew Knight [Fri, 5 Dec 2014 08:26:32 +0000 (10:26 +0200)]
winrt: Fix encoding properties

These should match the capture mode. Additionally, there was a semantic
error preventing the encoding properties from being properly selected.
This fixes a bug in which the viewfinder was receiving frames too large
for display as an OpenGL texture.

Task-number: QTBUG-41065
Change-Id: Ia82c8f44bba1692a219edc5f9d78fc76c3d8a4ba
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@theqtcompany.com>
9 years agowinrt: Fix camera auto rotation
Andrew Knight [Thu, 11 Dec 2014 07:48:52 +0000 (09:48 +0200)]
winrt: Fix camera auto rotation

There is no Windows Runtime API to find the camera sensor rotation, so
assume that phones always have a camera mounting of 270 degrees. Tablet
and webcams remain mounted at the default (0 degrees). As the frame is not
flipped automatically by the system, the scan line direction is set to
BottomToTop for front-facing cameras to achieve compatibility with
other platforms.

Task-number: QTBUG-41066
Change-Id: Icf17ecd4aca9fa9d5b24d94e5b21b63ee6f21f28
Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
9 years agoMake it compile with no-opengl
Laszlo Agocs [Tue, 9 Dec 2014 14:34:10 +0000 (15:34 +0100)]
Make it compile with no-opengl

Change-Id: I71358bb1268e5b28b66b1817a3ec0cd98459cfd2
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
9 years agoRemove private API use from video orientation handler
Andrew Knight [Thu, 4 Dec 2014 10:53:57 +0000 (12:53 +0200)]
Remove private API use from video orientation handler

The QPA header isn't needed anymore, as nativeOrientation was added as
a QScreen property in 5.2.

Change-Id: I7cd00feae769175fd0c4be65b503e74ee910814a
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
9 years agoGStreamer: better camera device name logic.
Yoann Lopes [Thu, 4 Dec 2014 13:45:43 +0000 (14:45 +0100)]
GStreamer: better camera device name logic.

Use the device ID for QCameraInfo::description() when the driver
doesn't provide any display name.

Change-Id: Iff1f17187ecb52262412f85db04d7108fae71717
Reviewed-by: Andrew den Exter <andrew.den.exter@qinetic.com.au>
9 years agoDisable warning about QObject::event being hidden
Thiago Macieira [Sun, 23 Nov 2014 15:30:21 +0000 (07:30 -0800)]
Disable warning about QObject::event being hidden

Found by Clang 3.6:
qdeclarativemediametadata_p.h:292:14: warning: 'QDeclarativeMediaMetaData::event' hides overloaded virtual function [-Woverloaded-virtual]
qobject.h:116:18: note: hidden overloaded virtual function 'QObject::event' declared here: different number of parameters (1 vs 0)

Change-Id: I4324c984649738c9625cc3eb9dddea6e2abf46a9
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
9 years agoAdded 5.4.0 change file. v5.4.0
Yoann Lopes [Wed, 3 Dec 2014 17:44:55 +0000 (18:44 +0100)]
Added 5.4.0 change file.

Change-Id: I623b42d5f4f565ee7cf2d064e52609a99636bd6a
Reviewed-by: Jani Heikkinen <jani.heikkinen@theqtcompany.com>
9 years agoOpenSL ES: volume support for QAudioInput.
Yoann Lopes [Wed, 3 Dec 2014 15:28:48 +0000 (16:28 +0100)]
OpenSL ES: volume support for QAudioInput.

The OpenSL volume interface is not available for audio inputs on
Android so we apply the volume ourselves on the PCM data.

Task-number: QTBUG-42159
Change-Id: If43d8aa576bc70a925681f0db1ca8b40e71f7b29
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
9 years agoFix VideoOutput autoOrientation when switching cameras.
Yoann Lopes [Wed, 3 Dec 2014 12:10:34 +0000 (13:10 +0100)]
Fix VideoOutput autoOrientation when switching cameras.

The VideoOutput's camera info was not updated when switching cameras.

Change-Id: I23537ce98b08009898eaa26ef14d5b9a746ab5f7
Reviewed-by: Andrew Knight <andrew.knight@theqtcompany.com>
9 years agoAdd additional exposure modes to QCameraExposure.
Andrew den Exter [Mon, 30 Jun 2014 05:59:10 +0000 (05:59 +0000)]
Add additional exposure modes to QCameraExposure.

[ChangeLog][GStreamer][Android] Camera exposure mode extended to support
Action, Landscape, NightPortrait, Theatre, Sunset, SteadyPhoto,
Fireworks, Party, Candlelight, and Barcode modes.

Change-Id: I13d4bb042d27c0bd2ffcd369882b56bbabc84335
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
9 years agoAdd a color filter property to QCameraImageProcessing.
Andrew den Exter [Wed, 9 Jul 2014 03:38:25 +0000 (13:38 +1000)]
Add a color filter property to QCameraImageProcessing.

[ChangeLog] New color filter property for QCameraImageProcessing.

Change-Id: I999e349e3e4f284b533fa62ba50903fbd21cb400
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
9 years agoAdd support for face detection focus point mode to camerabin backend.
Andrew den Exter [Tue, 15 Jul 2014 02:18:11 +0000 (02:18 +0000)]
Add support for face detection focus point mode to camerabin backend.

[ChangeLog][GStreamer] Implemented the face detection focus point mode
in the gstreamer camerabin backend.

Change-Id: Ia582d2fb5e74d5b438aa0038224c5e20e597d53e
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
9 years agoImplement exposure and whitebalance lock for gstreamer camera.
Andrew den Exter [Mon, 24 Nov 2014 23:22:23 +0000 (09:22 +1000)]
Implement exposure and whitebalance lock for gstreamer camera.

Change-Id: I58277d69c18ad2e31cad719a2dd6361c0c2d7e98
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
9 years agoAllow supported camera locks to change after initialization.
Andrew den Exter [Mon, 24 Nov 2014 23:18:32 +0000 (09:18 +1000)]
Allow supported camera locks to change after initialization.

A camera backend may not be able to report which locks it supports
until after it is loaded, so query support on demand instead of caching
the value available at construction time.

Change-Id: I56fb1adee980ebc2fa893da3c983a6dce26329c0
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
9 years agoGStreamer: port to 1.0.
Yoann Lopes [Thu, 20 Nov 2014 16:54:18 +0000 (17:54 +0100)]
GStreamer: port to 1.0.

0.10 is still used by default.
To enable GStreamer 1.0, pass GST_VERSION=1.0 to qmake
for qtmultimedia.pro.

Contributions from:
Andrew den Exter <andrew.den.exter@qinetic.com.au>
Ilya Smelykh <ilya@videoexpertsgroup.com>
Jim Hodapp <jim.hodapp@canonical.com>
Sergio Schvezov <sergio.schvezov@canonical.com>

Change-Id: I72a46d1170a8794a149bdb5e20767afcc5b7587c
Reviewed-by: Andrew den Exter <andrew.den.exter@qinetic.com.au>
9 years agoMerge remote-tracking branch 'origin/5.4' into dev
Yoann Lopes [Thu, 27 Nov 2014 13:44:33 +0000 (14:44 +0100)]
Merge remote-tracking branch 'origin/5.4' into dev

Change-Id: Iaa608643f6626ed074a9fd374555cc5bc84659d5

9 years agoRemove unused private members
Thiago Macieira [Sun, 23 Nov 2014 15:23:50 +0000 (07:23 -0800)]
Remove unused private members

One is not used, the others are not even initialized, so don't use the
memory.

qsoundeffect_pulse_p.h:172:20: warning: private field 'm_resourceStatus' is not used [-Wunused-private-field]
qvideowidget_p.h:211:25: warning: private field 'm_aspectRatioMode' is not used [-Wunused-private-field]
qalsaaudioinput.h:156:22: warning: private field 'timestamp' is not used [-Wunused-private-field]
qalsaaudiooutput.h:135:22: warning: private field 'timestamp' is not used [-Wunused-private-field]

Change-Id: I7c9f50d57c4d29ee0dfd7dc086771d721cdb5b05
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
9 years agoFix Clang warning about comparison of different signs
Thiago Macieira [Sun, 23 Nov 2014 15:34:58 +0000 (07:34 -0800)]
Fix Clang warning about comparison of different signs

Commit 4d35f66acf90e64e6c174bee9d809713d07fcd7e changed from -1 to ~0 because
ICC complained, but Clang still sees ~0 as int. So force to unsigned.

qgstappsrc.cpp:144:31: warning: comparison of integers of different signs: 'unsigned int' and 'int' [-Wsign-compare]

Change-Id: I6b0fdf8dc5df157d8e184f22dba44660e60ca3b2
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
9 years agoMerge remote-tracking branch 'origin/5.4' into dev
Frederik Gladhorn [Fri, 21 Nov 2014 15:12:44 +0000 (16:12 +0100)]
Merge remote-tracking branch 'origin/5.4' into dev

Change-Id: Id87e56ccfc9f33f98c3d06991f6fe9c14d38fbac

9 years agoMerge remote-tracking branch 'origin/5.4.0' into 5.4
Frederik Gladhorn [Fri, 21 Nov 2014 12:45:17 +0000 (13:45 +0100)]
Merge remote-tracking branch 'origin/5.4.0' into 5.4

Change-Id: Iec2c793710c95919975aa3c03144d915ca5fa84f

9 years agoFix bogus videonode plugin handling
Laszlo Agocs [Tue, 18 Nov 2014 13:07:34 +0000 (14:07 +0100)]
Fix bogus videonode plugin handling

Each plugin must provide its own unique key. Otherwise we will only ever
see one single plugin.

Right now running on i.MX6 is often broken because the imx6 videonode plugin is
not picked up since only the egl one is seen by the system. With the fix both plugins
provide their own unique key so both become visible.

Additionally, introduce a QT_VIDEONODE environment variable. This is useful to specify
which plugin to use. This is necessary in case multiple custom videonode plugins support
the same formats.

Change-Id: Iaa1988f8436dcb938cb9a95e2e0d68a4e92e113c
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
9 years agoWinRT: Fix compilation after ANGLE update
Maurice Kalinowski [Mon, 17 Nov 2014 12:51:17 +0000 (13:51 +0100)]
WinRT: Fix compilation after ANGLE update

Header inclusion is not needed, hence remove it for WinRT.

Change-Id: I8117439849143975cad3dc14e36118b8da4621de
Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
10 years agoCheck whether current context can be obtained when deleting textures.
Friedemann Kleint [Thu, 6 Nov 2014 15:24:57 +0000 (16:24 +0100)]
Check whether current context can be obtained when deleting textures.

Add a warning in that case.

Task-number: QTBUG-41966
Change-Id: I491ee9e13c9504040ab789951656983a736d9203
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
10 years agoOpenSL ES: improve buffer logic
Christian Strømme [Thu, 30 Oct 2014 17:29:38 +0000 (18:29 +0100)]
OpenSL ES: improve buffer logic

Don't use relaxed load and stores, we need to be stricter to avoid
problems with high frequency re-fills of the buffer. If we don't enforce
ordering we might end-up spending more time trying to acquire an open
slot in the buffer. Updating processes bytes is also moved off the
"OpenSL" thread.

Added some comments for improved readability.

Change-Id: Ie27965fc6bf4b8394081ae6419f4933522ada98e
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
10 years agoOpenSL ES: Don't store or return the adjusted volume level.
Christian Strømme [Fri, 31 Oct 2014 12:47:19 +0000 (13:47 +0100)]
OpenSL ES: Don't store or return the adjusted volume level.

According to our own docs we should always return 1.0 (MAX) volume level
if the device doesn't support setting the volume, which is the case
for OpenSL ES on Android.

Task-number: QTBUG-42159
Change-Id: I9144e9e2cd84cc80633c68c5d6fa32b8dbd0fcd5
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
10 years agoDoc: Added the missing screenshot image
Venugopal Shivashankar [Thu, 30 Oct 2014 18:57:30 +0000 (19:57 +0100)]
Doc: Added the missing screenshot image

Change-Id: Ifcef698bd735b7fe7e5f4a92984be07a01f283fb
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
10 years agoWMF plugin: Initialize member variable m_stateDirty.
Friedemann Kleint [Wed, 29 Oct 2014 09:00:56 +0000 (10:00 +0100)]
WMF plugin: Initialize member variable m_stateDirty.

Fix purify warning:
[W] UMR: Uninitialized memory read in MFPlayerControl::refreshState(void) {1 occurrence}

Task-number: QTBUG-41966
Change-Id: I1416f906dcc8c31a528ab7f09a258873fcfe9d1e
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
10 years agoAdd QT_GSTREAMER_CAMERABIN_VIDEOSRC environment variable.
Yoann Lopes [Fri, 17 Oct 2014 14:51:23 +0000 (16:51 +0200)]
Add QT_GSTREAMER_CAMERABIN_VIDEOSRC environment variable.

It can be used to set which video source element should be used by
the camerabin.

Change-Id: I8d1cd8c4ba6fe5a89817699f645b0997e713aaca
Reviewed-by: Samuli Piippo <samuli.piippo@digia.com>
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
10 years agoMerge remote-tracking branch 'origin/5.4' into dev
Frederik Gladhorn [Mon, 27 Oct 2014 11:48:45 +0000 (12:48 +0100)]
Merge remote-tracking branch 'origin/5.4' into dev

Change-Id: I82a85963aa1cc6e0a2cf7a49c039c117948cbeab

10 years agoDoc: Updated the \brief statements
Venu [Fri, 17 Oct 2014 14:25:41 +0000 (16:25 +0200)]
Doc: Updated the \brief statements

Most of them were unnecessarily long.

Change-Id: I8942254c2211adb268e399056435e6acc940616f
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
10 years agoMerge remote-tracking branch 'origin/5.4' into dev
Frederik Gladhorn [Mon, 20 Oct 2014 17:13:18 +0000 (19:13 +0200)]
Merge remote-tracking branch 'origin/5.4' into dev

Change-Id: Ie44084828edf50050c695ac4dcc1cb532651499c

10 years agoAndroid: Use the new findClass() method.
Christian Strømme [Mon, 29 Sep 2014 14:18:49 +0000 (16:18 +0200)]
Android: Use the new findClass() method.

Avoid local caching.

Change-Id: I1e30896da664c5a45c38c09412c16cb8ff70c5c7
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
10 years agoMerge remote-tracking branch 'origin/5.3' into 5.4
Frederik Gladhorn [Tue, 14 Oct 2014 12:05:02 +0000 (14:05 +0200)]
Merge remote-tracking branch 'origin/5.3' into 5.4

Change-Id: I716fd3acb69e424047691069cd4a781f656d0487

10 years agoMerge remote-tracking branch 'origin/5.4' into dev
Frederik Gladhorn [Thu, 9 Oct 2014 16:04:44 +0000 (18:04 +0200)]
Merge remote-tracking branch 'origin/5.4' into dev

Change-Id: I8b9177d90afac8b834d333efc6c22b6b35dceaf8