platform/upstream/qtmultimedia.git
9 years agoAdd missing documentation for AudioSample::source.
Yoann Lopes [Wed, 18 Mar 2015 17:12:30 +0000 (18:12 +0100)]
Add missing documentation for AudioSample::source.

Change-Id: Iabfb7749bf42413fc19b53b907027caad931092c
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
9 years agoGStreamer: don't use ximagesink in QGstreamerVideoWidget.
Yoann Lopes [Wed, 18 Mar 2015 15:08:56 +0000 (16:08 +0100)]
GStreamer: don't use ximagesink in QGstreamerVideoWidget.

When xvimagesink is not available, we were falling back to ximagesink.
That element doesn't provide some important features: it doesn't scale
frames to the window size and doesn't support brightness, contrast, hue
and saturation adjustments. That kind of makes it useless, at least
on its own. We would need to use at least a 'videoscale' element
together with it to have it working properly.
We're better off letting QVideoWidget fall back to QVideoRendererControl
when xvimagesink is not available.

Change-Id: Ic8c62fbefa3227430e3bae24630c8b3944aabb47
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
9 years agoWMF: report the surface's supported formats in the correct order.
Yoann Lopes [Thu, 12 Mar 2015 14:56:01 +0000 (15:56 +0100)]
WMF: report the surface's supported formats in the correct order.

QAbstractVideoSurface::supportedFormats() returns the formats in
descending order of preference while IMFMediaTypeHandler expects the
list to be in ascending order.

Change-Id: I0ecb5a3b228c0cad78c1a84091e3c3cf272f7ebc
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
9 years agoFix order of QSGVideoNode_RGB's supported formats.
Yoann Lopes [Mon, 16 Mar 2015 14:43:30 +0000 (15:43 +0100)]
Fix order of QSGVideoNode_RGB's supported formats.

RGB565 should not be the first pick. As a matter of fact it should be
the last pick.

Change-Id: I4b96fb02093e70d9c642efd79c48358ec7a664b0
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
9 years agoWMF: fix RGB24 format matching.
Yoann Lopes [Thu, 12 Mar 2015 13:52:52 +0000 (14:52 +0100)]
WMF: fix RGB24 format matching.

MFVideoFormat_RGB24 has a BGR layout and should therefore be matched to
QVideoFrame::Format_BGR24, not Format_RGB24.

Task-number: QTBUG-42323
Change-Id: I1749b575b1738168e3d3c0d055dee10f6d870c0c
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
9 years agoUse proper d_ptr for QPlaylistFileParser.
Yoann Lopes [Wed, 11 Mar 2015 15:29:53 +0000 (16:29 +0100)]
Use proper d_ptr for QPlaylistFileParser.

Task-number: QTBUG-42473
Change-Id: Iff8f14ed6ab99c8e7844b9e43009b82b442f5238
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
9 years agoQPainterVideoSurface: restore original order for the supported formats.
Yoann Lopes [Thu, 12 Mar 2015 15:06:26 +0000 (16:06 +0100)]
QPainterVideoSurface: restore original order for the supported formats.

The formats returned by supportedPixelFormats() are supposed to be in
descending order of preference. Some formats were changed positions
in commit 66ba2197.

Change-Id: Ib52e93ba3554d80fa388a01f0b47fa049ac046ec
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
9 years agoRevert "Alsa: fix crash when detecting devices."
Yoann Lopes [Wed, 11 Mar 2015 13:32:17 +0000 (14:32 +0100)]
Revert "Alsa: fix crash when detecting devices."

This reverts commit 0ab81ef59f35d103ec8174834c4fc2a4dcced453.
The workaround causes software devices not to appear in the list
of available devices. Besides, since the crash is caused by a bug
in older versions of Alsa, the workaround was probably a bad idea
in the first place. People should update Alsa instead.

Task-number: QTBUG-42326
Change-Id: I37923a87180d1c5abc18d52d84f633e14ba46860
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
9 years agoAndroid: fix some MediaPlayer signals not being emitted on first load.
Yoann Lopes [Thu, 26 Feb 2015 15:16:49 +0000 (16:16 +0100)]
Android: fix some MediaPlayer signals not being emitted on first load.

When loading the first media while the video output was not yet ready,
mediaChanged() and mediaStatusChanged() signals were not emitted.
That's because in that particular situation, the backend believed
the delayed loading was a reload of the same media.

Change-Id: If5dfbf383ea2dac065fc26b70640ebfb2c52862d
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
9 years agoCheck for the quick module before adding the videonode plugin
Andy Shaw [Thu, 26 Feb 2015 23:31:59 +0000 (00:31 +0100)]
Check for the quick module before adding the videonode plugin

Change-Id: I050356086f5d82221968016754eb01c1b8f35490
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
9 years agoFixing camera enumeration on hotplug
Libor Tomsik [Tue, 24 Feb 2015 12:51:34 +0000 (13:51 +0100)]
Fixing camera enumeration on hotplug

Emptying camera HW devices buffer when it becomes obsolete (500ms).
Leaving the list filled was causing video cameras to keep
on the list even when the camera was unplugged. Or vice versa, empty
after the camera was plugged into the system.

Change-Id: I3b38a0b327553cbb6e18dd5421cdde3ded1b7895
Reviewed-by: Yoann Lopes <yoann.lopes@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 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 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 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 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 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 agoBump version
Oswald Buddenhagen [Fri, 16 Jan 2015 20:06:40 +0000 (21:06 +0100)]
Bump version

Change-Id: I29a6579deefb4ca80bb014c43ee34697fa89bd47

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 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 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.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 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 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.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 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 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 agoGStreamer: fix QMediaRecorder::duration() when recording with a camera v5.3.99+beta1
Yoann Lopes [Thu, 2 Oct 2014 12:21:20 +0000 (14:21 +0200)]
GStreamer: fix QMediaRecorder::duration() when recording with a camera

To get the recording duration, we were using the camerabin's position,
which represents the time since it was started, not the time it's been
recording to a file.
We now retrieve the camerabin's filesink position.

Change-Id: I68eeb25d1718666288655d22deea23e25de73b90
Reviewed-by: Andrew den Exter <andrew.den.exter@qinetic.com.au>
10 years agoAVFoundation: fix media player video rendering in QML.
Yoann Lopes [Tue, 30 Sep 2014 14:41:25 +0000 (16:41 +0200)]
AVFoundation: fix media player video rendering in QML.

The AVPlayerLayer was set on the QVideoRendererControl before its
geometry was updated, causing the renderer control to display frames
with an invalid size.

Change-Id: I90e18dce69d4b48a3d7932d44a7eab4fd443f1fb
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
10 years agoQNX: Fix resetting video surface
Bernd Weimer [Wed, 24 Sep 2014 13:43:46 +0000 (15:43 +0200)]
QNX: Fix resetting video surface

If video surface object is set to 0, it must not be accessed to set a
property on it.

Task-number: QTBUG-40746
Change-Id: I1de0e5495918d3ea06706412fab15bf1af012f36
Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
10 years agoWMF: Use media source only when it is initialized.
David Schulz [Thu, 25 Sep 2014 05:18:13 +0000 (07:18 +0200)]
WMF: Use media source only when it is initialized.

Change-Id: I0efcf6139d0b81194cf25383025f080f8656728c
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
10 years agoWMF: Fix null ptr derefernce in MFPlayerSession.
David Schulz [Thu, 25 Sep 2014 05:15:25 +0000 (07:15 +0200)]
WMF: Fix null ptr derefernce in MFPlayerSession.

Checking the sender of the mediaSourceReady signal to prevent accessing
the incorrect source resolver.

When the source resolver has finished the asynchronous operation and
the source resolver gets recreated in the player at the same time in a
different thread the signal mediaSourceReady still gets emitted from the
old source resolver.

The player assumes that the signal was emitted from the current source
resolver and accesses the unresolved media source in the
handleMediaSourceReady slot.

Task-number: QTBUG-39980
Change-Id: Ic52f6918995aac250048d91f89c520cfea111bd0
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
10 years agoAVFoundation: fix build with iOS 8.0 SDK.
Yoann Lopes [Mon, 29 Sep 2014 15:46:47 +0000 (17:46 +0200)]
AVFoundation: fix build with iOS 8.0 SDK.

Change-Id: I9d9b97ad88631ba12a289f7575ca53386e592bd1
Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
10 years agoUpdated snapshots for qmlvideo example documentation
Tomi Korpipää [Fri, 26 Sep 2014 10:27:55 +0000 (13:27 +0300)]
Updated snapshots for qmlvideo example documentation

Task-number: QTBUG-36287
Change-Id: I9da63560ba92a572d6d3943cfdade0b609469ace
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
10 years agoMerge "Merge remote-tracking branch 'origin/5.3' into 5.4" into refs/staging/5.4
Sergio Ahumada [Fri, 26 Sep 2014 13:44:56 +0000 (15:44 +0200)]
Merge "Merge remote-tracking branch 'origin/5.3' into 5.4" into refs/staging/5.4

10 years agoMerge remote-tracking branch 'origin/5.3' into 5.4
Sergio Ahumada [Fri, 26 Sep 2014 13:28:44 +0000 (15:28 +0200)]
Merge remote-tracking branch 'origin/5.3' into 5.4

Conflicts:
.qmake.conf

Change-Id: Iad73368a22c6d4662188e6f357a265d0c26756d0

10 years agoGStreamer: fix artist-related metadata keys.
Yoann Lopes [Mon, 22 Sep 2014 13:06:14 +0000 (15:06 +0200)]
GStreamer: fix artist-related metadata keys.

QMediaMetaData::AlbumArtist now maps to GST_TAG_ALBUM_ARTIST and
QMediaMetaData::ContributingArtist to GST_TAG_ARTIST.

Change-Id: Ifa2cb90ee8ae09beaee572ad113c05776e699432
Reviewed-by: Andrew den Exter <andrew.den.exter@qinetic.com.au>
10 years agoGStreamer: fix QMediaPlayer metadata signals.
Yoann Lopes [Mon, 22 Sep 2014 12:03:34 +0000 (14:03 +0200)]
GStreamer: fix QMediaPlayer metadata signals.

- metaDataAvailableChanged was never emitted
- metaDataChanged was not emitted when clearing the current media

Change-Id: Ide05056450171a87aeb018be7e0bdea136341946
Reviewed-by: Andrew den Exter <andrew.den.exter@qinetic.com.au>
10 years agoAdd metadata test for qmediaplayerbackend auto-test.
Yoann Lopes [Fri, 19 Sep 2014 10:01:08 +0000 (12:01 +0200)]
Add metadata test for qmediaplayerbackend auto-test.

Change-Id: I419496293b11b6a941af08e9709595458b7ca423
Reviewed-by: Andrew den Exter <andrew.den.exter@qinetic.com.au>
10 years agoAndroid: fix some problems with the media player.
Yoann Lopes [Fri, 19 Sep 2014 07:53:53 +0000 (09:53 +0200)]
Android: fix some problems with the media player.

- Correctly emit positionChanged signal. One of the problems with
  this was that QMediaPlayer automatically sends periodic
  position updates while playing a media. There's no need to have
  the same logic in the backend.
- Seeking after reaching the end of the media now correctly works

Auto tests included.

Change-Id: I6d5ecbae6e05f94a8aac1a0834cf57427adf219b
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
10 years agoImprove audiorecorder example.
Yoann Lopes [Wed, 24 Sep 2014 14:40:21 +0000 (16:40 +0200)]
Improve audiorecorder example.

- Show actual recording location
- Update control buttons depending on the recorder state instead of
  the status
- Create audio levels using the actual audio format from the audio
  buffers. The format from the QMediaRecorder might not always contain
  the value actually used.

Task-number: QTBUG-36154
Change-Id: I418b4472b0d984f47efb1a1813da6ef440ba9a40
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
10 years agoUse QCameraInfo in camera example.
Yoann Lopes [Thu, 25 Sep 2014 15:10:08 +0000 (17:10 +0200)]
Use QCameraInfo in camera example.

To replace QCamera::availableDevices(), which is deprecated since 5.3.

Change-Id: I0b1bd6286ec78d6d26ce309d224369989d4a5063
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
10 years agoQMLVideo Example visual update
Tomi Korpipää [Thu, 25 Sep 2014 09:47:01 +0000 (12:47 +0300)]
QMLVideo Example visual update

Task-number: QTBUG-36287
Change-Id: I797a995c2ccd6f6fec40fbf50f93e297ae15a9b1
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
10 years agoRemove QuickTime backend.
Yoann Lopes [Wed, 24 Sep 2014 16:26:11 +0000 (18:26 +0200)]
Remove QuickTime backend.

The backend was kept only for Mac OS X 10.6 support. AVFoundation is
used in 10.7 and later. Following the 10.6 deprecation plan, the code
is now being removed for Qt 5.4.

Change-Id: I513d00adda35f6012dda548b8d824d158efffb16
Reviewed-by: Andy Nichols <andy.nichols@digia.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
10 years agoAndroid: fix QMediaPlayer's state and mediaStatus signals.
Yoann Lopes [Tue, 16 Sep 2014 15:30:27 +0000 (17:30 +0200)]
Android: fix QMediaPlayer's state and mediaStatus signals.

Emit signals only after both properties are written to avoid having
incoherent values in signal handlers.

Task-number: QTBUG-40314
Change-Id: I6c8445e61cccf1a9803647329c4fa1f0e452f56d
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
10 years agoWMF: fix crash on media player destruction.
Yoann Lopes [Tue, 23 Sep 2014 12:46:22 +0000 (14:46 +0200)]
WMF: fix crash on media player destruction.

A race condition could cause a frame to be presented even after the
QAbstractVideoSurface was deleted. We now check that the surface is
valid before presenting a frame.

Task-number: QTBUG-41158
Change-Id: If593469a8267583e499e781336af38d3fbf318fd
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
10 years agoWMF: fix video rendering with ANGLE.
Yoann Lopes [Tue, 23 Sep 2014 14:47:17 +0000 (16:47 +0200)]
WMF: fix video rendering with ANGLE.

The format of the offscreen surface used for video rendering should be
compatible with the EGL config.

Change-Id: Ic016245ce80c2483771e620c3eed345262d03c44
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
10 years agoMake the multimedia examples less verbose
Alex Blasche [Thu, 18 Sep 2014 09:33:46 +0000 (11:33 +0200)]
Make the multimedia examples less verbose

Important warnings such as missing services are still printed though.

Task-number: QTBUG-31080
Change-Id: I96fd3837c4edc58c61b97bf950b7cab05ceed014
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
10 years agoRemove QtSystemInfo dependency from Multimedia examples
Alex Blasche [Thu, 18 Sep 2014 09:06:04 +0000 (11:06 +0200)]
Remove QtSystemInfo dependency from Multimedia examples

QtSystemInfo is not officially supported in Qt5 and its QML API is
currently broken. Inhibition of the screensaver is not essential
for the example anyway.

Task-number: QTBUG-31080
Change-Id: Ia2e7d8de3e2044e11e1681907e61a7207489ad1b
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
10 years agoRevert "QMediaNetworkPlaylistProvider: Upon error parsing, stop parsing."
Yoann Lopes [Tue, 16 Sep 2014 14:28:12 +0000 (16:28 +0200)]
Revert "QMediaNetworkPlaylistProvider: Upon error parsing, stop parsing."

This reverts commit 0ed18d846c0b425b0c50a2fefd7cc0fc148832c2.
The same patch was submitted in both 5.3 and 5.4 branches. It should
have been pushed only to 5.3.

Change-Id: I9e2974886190dfb2e5def5bc325c58f6e7783f55
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
10 years agoEnsure pre-roll frames are displayed when gstreamer backend is paused.
Andrew den Exter [Mon, 11 Aug 2014 06:51:36 +0000 (16:51 +1000)]
Ensure pre-roll frames are displayed when gstreamer backend is paused.

Perform a seek before transitioning from the stopped state to paused or
playing to force the pipeline to resupply the video sink with any
pre-roll buffer it may have previously ignored during loading.  And
don't assume showPrerollFrames to be true if the current state is not
stopped as the policy handling may have prevented an effectual state
change.

Change-Id: I288a70bc4da32f3534eab4b14702ca8f8fdb4222
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
10 years agoOpenSL ES: Be less rigid about tearing down the output device.
Christian Strømme [Wed, 10 Sep 2014 09:52:28 +0000 (11:52 +0200)]
OpenSL ES: Be less rigid about tearing down the output device.

We where very strict about tearing down the audio device. While this is
a good strategy to avoid unnecessary resource usage, it also causes
excessive re-allocations, e.g., when transiting from start to stop and
back again. This can increase latency, especially in case where a short
clip is re-played at a high frequency.
This change also decrease the chance of the player ending up in some
unknown state where it drops audio clips without any warning.

Task-number: QTBUG-40864
Change-Id: I1afad4af0622983f0f0c221d91cf794585d8cad2
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
10 years agoFixed avfmediaplayersession.mm for OSX 10.10 Yosemite.
Jens Cornelis [Fri, 5 Sep 2014 09:13:16 +0000 (11:13 +0200)]
Fixed avfmediaplayersession.mm for OSX 10.10 Yosemite.

Implicit cast caused build to fail. Explicit cast builds fine.

Task-number: QTBUG-41136
Change-Id: I0147c26a0f8b8198d6ed9944311547b81a50bccb
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
10 years agoRemove unused includes
Christian Strømme [Wed, 10 Sep 2014 08:49:08 +0000 (10:49 +0200)]
Remove unused includes

Change-Id: Ibbce6e9135649d5dce0522320197dbbd0a92b3b9
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
10 years agoWMF: fix initializing of media player's volume.
Nodir Temirkhodjaev [Sat, 30 Aug 2014 11:41:30 +0000 (16:41 +0500)]
WMF: fix initializing of media player's volume.

According to the docs, MESessionTopologyStatus with status == MF_TOPOSTATUS_READY should be the correct place for the GetService call.

Change-Id: I7fdbedbe43b2191b35b95c7fd9c86940f58daff7
Reviewed-by: Wouter Huysentruit <wouter_huysentruit@hotmail.com>
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
10 years agoImplement encoder settings in camerabin backend.
Andrew den Exter [Thu, 17 Jul 2014 06:34:30 +0000 (06:34 +0000)]
Implement encoder settings in camerabin backend.

This is not comprehensive since different encoders have different names
and representations for many settings, but it should cover bit rate for
most encoders, and quality and encodingMode for a number of common
encoders.

Change-Id: I0ba4e70c2f234e0deaaa02bdecc0f5198122c1e9
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
10 years agoWMF: fix memory leaks.
Nodir Temirkhodjaev [Fri, 5 Sep 2014 11:29:41 +0000 (16:29 +0500)]
WMF: fix memory leaks.

Release requested interfaces.

Task-number: QTBUG-32481
Change-Id: I846981f6a7a7ea77588b9322fc41e05e583bdb15
Reviewed-by: Wouter Huysentruit <wouter_huysentruit@hotmail.com>
Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
Reviewed-by: Jeff Tranter <jtranter@ics.com>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
10 years agoAdd necessary includes that were indirect
Thiago Macieira [Thu, 4 Sep 2014 00:41:02 +0000 (17:41 -0700)]
Add necessary includes that were indirect

qstringlist.h no longer includes qdatastream.h

Change-Id: Iabc231741ab0d8c8edbb4f77a4c6fe45c6a98896
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
10 years agoMake PLS parser more permissive.
Yoann Lopes [Thu, 28 Aug 2014 14:00:15 +0000 (16:00 +0200)]
Make PLS parser more permissive.

The PLS format is not clearly specified, some rules are just assumed
and files don't always respect them.
We now only look for 'File' entries, since that's the only thing we
actually use. We ignore the Version, NumberOfEntries, Title, Length
and any other unrecognized tags.

Task-number: QTBUG-40515
Change-Id: I9c176b7b68fd1441abbd50364f88994ad5d6236f
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
10 years agoWMF: fix start time of QAudioProbe's buffers.
Yoann Lopes [Tue, 9 Sep 2014 12:59:06 +0000 (14:59 +0200)]
WMF: fix start time of QAudioProbe's buffers.

Task-number: QTBUG-40954
Change-Id: Icd1d144dcff3a3191432722da44a263ca286dbb6
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
10 years agoFix URL handling in PLS parser.
Yoann Lopes [Wed, 27 Aug 2014 14:25:40 +0000 (16:25 +0200)]
Fix URL handling in PLS parser.

Make sure relative paths are resolved to a full path.

Task-number: QTBUG-40515
Change-Id: Ideb83fc3a3c4a74c84917a22e3c30162d7b6158a
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
10 years agoFix V4L usage.
Yoann Lopes [Tue, 9 Sep 2014 12:13:20 +0000 (14:13 +0200)]
Fix V4L usage.

ff527de0 was submitted to 5.3 while cddbe873 was submitted to 5.4.
The former's behavior was not preserved when 5.3 got merged into 5.4.

Change-Id: I7435ea30634001ae6e87c316eb8a8ab6f5e988e3
Reviewed-by: Lisandro Damián Nicanor Pérez Meyer <perezmeyer@gmail.com>
Reviewed-by: Andrew den Exter <andrew.den.exter@qinetic.com.au>
10 years agoFix build with QT_OPENGL_DYNAMIC
Allan Sandfeld Jensen [Mon, 8 Sep 2014 15:07:51 +0000 (17:07 +0200)]
Fix build with QT_OPENGL_DYNAMIC

Change-Id: I4375a808170f3e4888101fea7a833399061a8935
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
10 years agoQMediaNetworkPlaylistProvider: Upon error parsing, stop parsing.
Andres Gomez [Wed, 30 Jul 2014 14:34:16 +0000 (17:34 +0300)]
QMediaNetworkPlaylistProvider: Upon error parsing, stop parsing.

When an error is found parsing a playlist, stop
parsing. This will also prevent the emission of
the "loaded" signal when the parser finishes.

Task-number: QTBUG-40513
Change-Id: Ia814864d0d546806219993f0b727761d5d4e7903
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
10 years agoFix integer overflow in several audio plugins.
Yoann Lopes [Wed, 3 Sep 2014 12:45:50 +0000 (14:45 +0200)]
Fix integer overflow in several audio plugins.

Task-number: QTBUG-40804
Change-Id: If006cb7db319bb6fda4ce7eb4f907e897b5d9efa
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
10 years agoANGLE is never available on WinCE
Laszlo Agocs [Tue, 9 Sep 2014 09:48:46 +0000 (11:48 +0200)]
ANGLE is never available on WinCE

Change-Id: I853774af533d7f4b37b4789344e531d2688f91f5
Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
10 years agoQNX: Fix end of media notification
Bernd Weimer [Wed, 3 Sep 2014 11:46:36 +0000 (13:46 +0200)]
QNX: Fix end of media notification

When auto-play is on, EndOfMedia would not be emitted. This is due to
a workaround for mmrenderer, that wrongly ignored stop events.
Once media is played stop events will always have to be processed.

Change-Id: I1cfd665bb06638ee3c86807aecc51e78f9baa938
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
10 years agoMerge "Merge remote-tracking branch 'origin/5.3' into 5.4" into refs/staging/5.4
Yoann Lopes [Mon, 1 Sep 2014 12:19:53 +0000 (14:19 +0200)]
Merge "Merge remote-tracking branch 'origin/5.3' into 5.4" into refs/staging/5.4