platform/upstream/qtmultimedia.git
9 years agoFix texture unit bug in the YUV video node.
Yoann Lopes [Mon, 11 May 2015 16:33:05 +0000 (18:33 +0200)]
Fix texture unit bug in the YUV video node.

fe13f5bb introduced a bug which could leave the active texture unit set
to GL_TEXTURE1 or GL_TEXTURE2. When the material is done updating its
state, it needs to make sure the active texture unit is reset to 0
since other materials might assume that's the current value.

Change-Id: I64a6a0cd9fcecdf0fa483909193f70045ff0e9fe
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
9 years agoOSX/iOS: Fix volume and mute
Frank Osterfeld [Thu, 7 May 2015 10:56:27 +0000 (12:56 +0200)]
OSX/iOS: Fix volume and mute

My last fix for iOS (4e07ff99) introduced this regression of passing
the outdated value to the native player object.

Change-Id: I01b0df8c7a0fe1382ef73b55d288a40daf024e3d
Reviewed-by: James Turner <james.turner@kdab.com>
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
9 years agoUpdate license header in qmlvideofx example.
Yoann Lopes [Tue, 5 May 2015 11:30:41 +0000 (13:30 +0200)]
Update license header in qmlvideofx example.

Change-Id: Icb525176a8f00cc1a7414e68a7452452d1ef3da0
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
9 years agoMerge remote-tracking branch 'origin/5.4' into 5.5
Yoann Lopes [Tue, 5 May 2015 09:48:21 +0000 (11:48 +0200)]
Merge remote-tracking branch 'origin/5.4' into 5.5

Conflicts:
.qmake.conf
src/plugins/avfoundation/camera/avfcamerasession.h
src/plugins/avfoundation/camera/avfcamerasession.mm

Change-Id: Ib2e25d907a7069591920d2f69e007f314cc0fd85

9 years agoMerge remote-tracking branch 'origin/5.4.2' into 5.4
Yoann Lopes [Mon, 4 May 2015 12:50:46 +0000 (14:50 +0200)]
Merge remote-tracking branch 'origin/5.4.2' into 5.4

Change-Id: Ib16e45133bcf4e4d88944df97be6a2f8a3c77135

9 years agoAndroid: Don't delete the media recorder object twice.
Christian Strømme [Mon, 27 Apr 2015 14:24:18 +0000 (16:24 +0200)]
Android: Don't delete the media recorder object twice.

In QAndroidCaptureSession::stop() we call restartViewFinder() which
eventually calls QAndroidCaptureSession::stop() again, but this time
the media recorder object is already released.

Task-number: QTBUG-45637
Change-Id: I943c423398a99d98ccda1063fc16e47cba470deb
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
9 years agoMinor refactor of built-in QSGVideoNodes.
Yoann Lopes [Tue, 28 Apr 2015 16:35:38 +0000 (18:35 +0200)]
Minor refactor of built-in QSGVideoNodes.

- Load shader source from resource files.
- Correctly report material types: each material can use different
  shaders depending on the video pixel format but it was reporting
  a unique material type. This was causing the node to keep using
  the same shader even if its pixel format changed.

Change-Id: Ib903ecd6e7dd1dd56d7cefe255ab7049933df17d
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
9 years agoAdded 5.4.2 change file.
Yoann Lopes [Thu, 23 Apr 2015 12:52:55 +0000 (14:52 +0200)]
Added 5.4.2 change file.

Change-Id: Ib9d829e92343d5230875c37bee7b2bf912b1d304
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
9 years agoAVFoundation: fix microphone permission when using the camera.
Yoann Lopes [Tue, 21 Apr 2015 16:07:19 +0000 (18:07 +0200)]
AVFoundation: fix microphone permission when using the camera.

The microphone permission was always requested when using the camera,
even when not actually using the microphone, which can only happen when
recording a video. The permission request is triggered by adding an
audio AVCaptureDeviceInput to the AVCaptureSession, which was done when
setting the camera to LoadedState. This is now done when setting the
camera mode to CaptureVideo.

Task-number: QTBUG-45659
Change-Id: I3692797128cfb70ba5ccbc7a36b6955471039e80
Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com>
9 years agoAVFoundation: correctly detect the default audio capture device.
Yoann Lopes [Tue, 21 Apr 2015 16:49:29 +0000 (18:49 +0200)]
AVFoundation: correctly detect the default audio capture device.

Use AVCaptureDevice::defaultDeviceWithMediaType instead of the first
device in the list of available devices.

Change-Id: I436921f99280a28d7158d345cd977a874cfb8968
Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com>
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
9 years agowinrt: fix camera sample queue thread safety
Peng Wu [Wed, 22 Apr 2015 09:42:38 +0000 (12:42 +0300)]
winrt: fix camera sample queue thread safety

Replace sample buffer QVector with C array to avoid reallocations. The
resource needs to be protected, so use atomic indexes to prevent writing
into the same array element that is being read.

Task-number: QTBUG-45667
Change-Id: Ifd30dd128765ea4794fe8614f25ef596bba891ee
Reviewed-by: Andrew Knight <qt@panimo.net>
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@theqtcompany.com>
9 years agoRemove warning about missing qmake variable on Android.
Christian Strømme [Fri, 17 Apr 2015 10:36:48 +0000 (12:36 +0200)]
Remove warning about missing qmake variable on Android.

gstreamer on Android is not supported, so we don't need to check for it.

Change-Id: I7ccde2b9878f9f435828195a5ac1b76a9a6985d1
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
9 years agoBump version
Oswald Buddenhagen [Mon, 20 Apr 2015 10:28:05 +0000 (12:28 +0200)]
Bump version

Change-Id: I8c772e6048ed08abf98c0aef4b731653b3957ba4

9 years agoRestore ContentCamera.qml
Christian Strømme [Thu, 16 Apr 2015 13:00:30 +0000 (15:00 +0200)]
Restore ContentCamera.qml

The file was removed in 5c3a5cf8106e1b873924b296c792448c33ee4df1 but
left the description, documentation and parts of the functionality
unchanged. This change adds the camera functionality back into the
example.

Change-Id: I3bfdd95f8322796d446c571a4e074ce98e5443dd
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
9 years agowinrt: fix camera preview on Lumia 630
Peng Wu [Wed, 15 Apr 2015 14:55:49 +0000 (17:55 +0300)]
winrt: fix camera preview on Lumia 630

Certain devices give black frames when blitting to the target texture for
image preview. However, a workaround has been found that simply mapping
the buffer forces the frames to be rendered properly. As this degrades
performance on devices with hardware buffers, a blacklist is introduced
to specify which devices require this workaround.

Task-number: QTBUG-44838
Change-Id: I137a1dc4e5126e7cf9ee00cb2d7e7722bf917efa
Reviewed-by: Andrew Knight <qt@panimo.net>
9 years agoUpdate plugins.qmltypes
Yoann Lopes [Wed, 15 Apr 2015 11:39:17 +0000 (13:39 +0200)]
Update plugins.qmltypes

Change-Id: Iaa05756066c8040fe110707eee6b7d71b2a1aa84
Task-number: QTBUG-44300
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
9 years ago[QSoundBuffer] Replace isReady() with state() states
Konstantin Ritt [Tue, 14 Apr 2015 05:32:14 +0000 (09:32 +0400)]
[QSoundBuffer] Replace isReady() with state() states

The two-state "isReady" is not enough for checking if loading was
already requested.
This also makes it abvious we're accepting load() after error.

Change-Id: I8181f99e8b36be484ec791862941b5b2ec78eb1f
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
9 years agoUpdate copyright headers
Liang Qi [Wed, 15 Apr 2015 08:33:16 +0000 (10:33 +0200)]
Update copyright headers

Just do bbfccc713546f9e7341fbe1af7482cafbdc4ea25 for new added files.

Change-Id: Ibbcd515d5e7577a8a3b33163094f9153072c8846
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
9 years agoMerge remote-tracking branch 'origin/5.4' into 5.5
Liang Qi [Wed, 15 Apr 2015 07:26:14 +0000 (09:26 +0200)]
Merge remote-tracking branch 'origin/5.4' into 5.5

Conflicts:
src/multimedia/playback/playlistfileparser.cpp
src/plugins/windowsaudio/qwindowsaudiodeviceinfo.cpp

Change-Id: I52950def2b8283ae15797d05d4ead6a1256eba19

9 years agoDirectShow: correctly update camera list.
Yoann Lopes [Thu, 9 Apr 2015 14:09:39 +0000 (16:09 +0200)]
DirectShow: correctly update camera list.

8923c0ff fixed the list not being updated after plugging/unplugging a
camera from the system. However, it was only a partial fix affecting
only QCameraInfo::availableCameras(). DSVideoDeviceControl was still
internally keeping a list of cameras that was never updated, causing
the QCamera constructor to not take into account new or removed
cameras.

Change-Id: Ie5e79c46002017b1e85bfc53c6391a2a747361a0
Task-number: QTBUG-39708
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
9 years agoWindowsAudio: improve supported formats detection.
Yoann Lopes [Fri, 13 Mar 2015 15:25:15 +0000 (16:25 +0100)]
WindowsAudio: improve supported formats detection.

QAudioDeviceInfo::isFormatSupported() now tries to open the device with
that format to theck if it is supported. We were before simply checking
that its parameters were included in the list of supported values,
which might be incomplete.

In addition, since the Windows API to check device capabilities is quite
limited, we now test additional common formats and add them to the
supported formats if the device can open them.

Task-number: QTBUG-42648
Change-Id: Idd0affbd6d91d4fd027a6a4c86c2f3fe008a118f
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
9 years agoFix incorrect signal/slot connection in QDeclarativeTorch.
Yoann Lopes [Wed, 8 Apr 2015 13:08:53 +0000 (15:08 +0200)]
Fix incorrect signal/slot connection in QDeclarativeTorch.

Change-Id: Id8cb716e25a2c08111f99112fbf319fb8331d64d
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
9 years agoWMF: fix reported sample type of 8-bit audio formats.
Yoann Lopes [Tue, 14 Apr 2015 11:42:46 +0000 (13:42 +0200)]
WMF: fix reported sample type of 8-bit audio formats.

Always report 8-bit PCM data as unsigned integer. Even though there's
no API to actually know that, it's standard on Windows. 8-bit is
unsigned and 16-bit is signed.

Task-number: QTBUG-45540
Change-Id: I4a3c09084de688ea7afc3bc147508184fb582224
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
9 years agoCoreAudio: fix crash on iOS 5.
Yoann Lopes [Fri, 10 Apr 2015 15:38:23 +0000 (17:38 +0200)]
CoreAudio: fix crash on iOS 5.

The plugin was using some iOS 6 APIs, even though we're supposed to
support iOS 5.
Add version checks for all these APIs.

Task-number: QTBUG-44790
Change-Id: I9268963b7d3601222451ce0c948c2d024d37c86f
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
9 years agoCamera flash control - version for iOS/OS X
Timur Pocheptsov [Tue, 31 Mar 2015 07:20:50 +0000 (09:20 +0200)]
Camera flash control - version for iOS/OS X

AVCaptureDevice has API to work with camera flash on both iOS and OS X
(quite limited on OS X though) - so camera flash control can be implemented
in AVFoundation plugin.

Task-number: QTBUG-37996
Change-Id: Ie9aaed09a709e7d09ccc1cedded93a69fea93975
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
9 years ago[QtAudioEngine] Fix C&P typo in the SoundInstance docs
Konstantin Ritt [Mon, 13 Apr 2015 12:38:58 +0000 (16:38 +0400)]
[QtAudioEngine] Fix C&P typo in the SoundInstance docs

Change-Id: Iffe26a13f58c1e4cffe81099d5f0ef204f582999
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
9 years ago[QDeclarativeSound] Pass QString by const-ref
Konstantin Ritt [Sun, 12 Apr 2015 08:24:01 +0000 (12:24 +0400)]
[QDeclarativeSound] Pass QString by const-ref

Change-Id: Ic600e62420c2e3ccc66f037e0fe44374e505c0d1
Reviewed-by: Sérgio Martins <sergio.martins@kdab.com>
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
9 years ago[AudioEngine] Minor code clean-up
Konstantin Ritt [Sat, 11 Apr 2015 19:35:49 +0000 (23:35 +0400)]
[AudioEngine] Minor code clean-up

Move StaticSoundBufferAL declaration to .h file and replace
inherits("StaticSoundBufferAL") check with qobject_cast.

Change-Id: Icedc2796cf31b3a92335112a77cac24a5a34ac15
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
9 years ago[AudioEngine] Do not crash on destruction after sample loading error
Konstantin Ritt [Sat, 11 Apr 2015 19:17:18 +0000 (23:17 +0400)]
[AudioEngine] Do not crash on destruction after sample loading error

m_sampleLoader must be destroyed AFTER releasing the buffers it holds.
Also properly release sample on error and be safer
while destroying the buffer.

Change-Id: I5e39c6c815b8760f72cc5fdc61fad020d3cd1cc1
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
9 years ago[AudioEngine] Minor improvement to the docu snippets
Konstantin Ritt [Sat, 11 Apr 2015 15:51:01 +0000 (19:51 +0400)]
[AudioEngine] Minor improvement to the docu snippets

Without mentioning the playType property, it is unclear for the user
not familiar with AudioEngine why there are several PlayVariation-s
binded to a single Sound element.
Also fix a simply typo.

Change-Id: Ie6b4bff759318c70c94e75797cc6991cb9b918ca
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
9 years ago[DirectShow] Fix potential memory access violation
Konstantin Ritt [Sat, 11 Apr 2015 15:33:55 +0000 (19:33 +0400)]
[DirectShow] Fix potential memory access violation

Change-Id: I5da495d255e6fdd3a70c1ed486afb61f157c923e
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
9 years ago[DirectShow] Fix potention undefined behavior on destruction
Konstantin Ritt [Sat, 11 Apr 2015 15:33:20 +0000 (19:33 +0400)]
[DirectShow] Fix potention undefined behavior on destruction

The exact warning is:
> deleting object of polymorphic class type which has non-virtual
  destructor might cause undefined behavior

Change-Id: I8f259def3f1f7f776fb31ace9dfcc7145426f5c0
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
9 years agoMade audio output example easier to understand. No real code changes
d3fault [Sat, 14 Mar 2015 01:38:37 +0000 (18:38 -0700)]
Made audio output example easier to understand. No real code changes

Maybe it's just me, but every time I try to read the "toggleMode" method
in the audio output example, I get confused on whether I'm switching to/
from push/pull mode, and even what pushing and pulling entails. The name
of the push timer also seemed backwards (which added to the confusion).

Change-Id: I5ff7d18f72490c22b91a948ad7513b402a01c5e4
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
9 years agoAVFoundation: fix QCameraInfo::availableCameras() on OS X.
Yoann Lopes [Thu, 9 Apr 2015 13:14:36 +0000 (15:14 +0200)]
AVFoundation: fix QCameraInfo::availableCameras() on OS X.

Cameras can be dynamically added or removed on OS X. Make sure
the cache is updated often enough so QCameraInfo::availableCameras()
return an up to date list.

Task-number: QTBUG-39708
Change-Id: Id806d52278e1a29163fcc6707da7f86c0f3e7c0d
Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com>
9 years agoFix tr()-context of message in QMediaPlayerPrivate.
Friedemann Kleint [Thu, 9 Apr 2015 10:23:25 +0000 (12:23 +0200)]
Fix tr()-context of message in QMediaPlayerPrivate.

QObject::tr() should be avoided.

Change-Id: I583ff7f6fec664030f5637fe216dfd44c1b1f2ac
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
9 years agoUpdated plugins.qmltypes.
Yoann Lopes [Wed, 8 Apr 2015 13:49:55 +0000 (15:49 +0200)]
Updated plugins.qmltypes.

Task-number: QTBUG-44300
Change-Id: Id6c8dce17e03c79f29581bd49be184a8d3e7f21b
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
9 years agoMake the QtMultimedia singleton type a QObject.
Yoann Lopes [Wed, 8 Apr 2015 13:10:00 +0000 (15:10 +0200)]
Make the QtMultimedia singleton type a QObject.

It was a QJSValue for the sake of being as lightweight as possible
and because we don't actually need any of the QObject features for that
type in its current state.
However, this implies that type information is not available at
runtime. This is a problem for qmlplugindump which currently crashes
because it always expects every QML type to have an associated meta
object.

We can safely make that type a QObject since it doesn't affect source
compatibility in any way. This type was bound to become a QObject at
some point anyway.

Task-number: QTBUG-44299
Change-Id: I2d9b874f15ffc94ed95ef74fadc3b1fd193fe1ef
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
9 years agoFix type of Camera's errorCode property.
Yoann Lopes [Tue, 7 Apr 2015 12:09:59 +0000 (14:09 +0200)]
Fix type of Camera's errorCode property.

It's supposed to be of type enumeration (Error) and not QString.

Change-Id: Ia3ce112efa3e87614c79b89d05313b0faa557289
Reviewed-by: Andrew Knight <qt@panimo.net>
9 years agoQMediaPlayer: handle resource files in a cross-platform way.
Yoann Lopes [Wed, 18 Feb 2015 15:58:02 +0000 (16:58 +0100)]
QMediaPlayer: handle resource files in a cross-platform way.

It was the backend's responsibility to handle resource files in an
appropriate way. In practice, it was either not handled at all,
or implemented in an almost identical manner in every backend
that does handle it.
This is now dealt with in QMediaPlayer, always passing to the
backend something it will be able to play. If the backend has the
StreamPlayback capability, we pass a QFile from which it streams
the data. If it doesn't, we copy the resource to a temporary
file and pass its path to the backend.

Task-number: QTBUG-36175
Task-number: QTBUG-42263
Task-number: QTBUG-43839
Change-Id: I57b355c72692d02661baeaf74e66581ca0a0bd1d
Reviewed-by: Andrew Knight <qt@panimo.net>
Reviewed-by: Peng Wu <peng.wu@intopalo.com>
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
9 years agoFix debug stream operators.
Friedemann Kleint [Wed, 1 Apr 2015 15:09:45 +0000 (17:09 +0200)]
Fix debug stream operators.

- Use QDebugStateSaver to restore space setting in stream operators
  instead of returning dbg.space() which breaks formatting on streams
  that already have nospace() set.
- Fix some single character string constants, streamline code.

Change-Id: I18ae7324b172ea801aa9b5fe56ddf6fe527fdde9
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
9 years agoFix compile issue when building with -no-widgets
Andy Shaw [Tue, 7 Apr 2015 07:55:16 +0000 (09:55 +0200)]
Fix compile issue when building with -no-widgets

Change-Id: I49a9aa684b0dfbe0e3d9e576aad06d65d6c3ecdd
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
9 years agoFix audioengine example.
Yoann Lopes [Wed, 18 Mar 2015 17:08:32 +0000 (18:08 +0100)]
Fix audioengine example.

- Add missing audio files
- Fix 'Unable to assign double to QVector3D' warning
- Don't show decimal part of the volume

Task-number: QTBUG-41841
Task-number: QTBUG-44304
Change-Id: Ie24284242bbac0d10bd85841932c506d7634a514
Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com>
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
9 years agoFix incorrect warning in QML AudioEngine.
Yoann Lopes [Mon, 30 Mar 2015 14:49:52 +0000 (16:49 +0200)]
Fix incorrect warning in QML AudioEngine.

We need to do an early return when an AudioCategory is successfully
added to an AudioEngine, otherwise a warning is incorrectly shown.

Change-Id: If310c694a703242aff7f1c5ae04ad3e40c3f1acd
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
9 years agoGStreamer 1.0: fix frames being presented too many times.
Yoann Lopes [Tue, 24 Mar 2015 15:50:31 +0000 (16:50 +0100)]
GStreamer 1.0: fix frames being presented too many times.

Presenting a frame originates from a gstreamer thread, we block there
until the frame is actually presented in the main thread. The problem
is that it was presented over and over again until the gstreamer thread
was unblocked.
Make sure a given frame is presented only once.

Change-Id: I46f246740313968637add802f509ebffcc5c19b8
Reviewed-by: Andrew den Exter <andrew.den.exter@qinetic.com.au>
9 years agoDon't error out when presenting empty frames in QSGVideoItemSurface.
Yoann Lopes [Tue, 24 Mar 2015 15:41:51 +0000 (16:41 +0100)]
Don't error out when presenting empty frames in QSGVideoItemSurface.

There's no good reason to do so. Backends can actually provide empty
frames, for example when flushing the pipeline or after stopping
playback.

Change-Id: I687c12b667e31b25e91c3201f59c52a8969d8e05
Reviewed-by: Andrew den Exter <andrew.den.exter@qinetic.com.au>
9 years agoGStreamer: implement unlock() in QGstVideoRendererSink.
Yoann Lopes [Mon, 23 Mar 2015 13:28:41 +0000 (14:28 +0100)]
GStreamer: implement unlock() in QGstVideoRendererSink.

There are cases where blocking operations happening in the video sink
need to be unblocked, that's why GstBaseSink has an unlock() virtual
function. Since our custom video sink blocks when starting and when
rendering a frame (while waiting for the main thread to actually do
these operations), we need to implement the unlock() function in order
to unblock these operations when requested by GstBaseSink.

Change-Id: I5cb19ea689e655f572729d931cefec8a4266c94e
Reviewed-by: Andrew den Exter <andrew.den.exter@qinetic.com.au>
9 years agoGStreamer 1.0: show preroll frames.
Yoann Lopes [Mon, 23 Mar 2015 11:07:47 +0000 (12:07 +0100)]
GStreamer 1.0: show preroll frames.

We need to implement the show_frame() function from GstVideoSink, which
handles both preroll and normal frames, instead of just
GstBaseSink.render(), which is called only for normal frames.
This was changed for GStreamer 0.10 by 3b20608f.

Change-Id: I4823a575d499cd0d6f9f4cb62e0420e070a05214
Reviewed-by: Andrew den Exter <andrew.den.exter@qinetic.com.au>
9 years agoFix BlackBerry -qtnamespace build
Sergio Martins [Wed, 1 Apr 2015 16:09:16 +0000 (17:09 +0100)]
Fix BlackBerry -qtnamespace build

Change-Id: I717dad59a466cb7a7480bc772d8f6308ca669d54
Task-number: QTBUG-43569
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
9 years agoWMF: don't resume playback after doing a seek while paused.
Andy Shaw [Wed, 25 Mar 2015 22:33:13 +0000 (23:33 +0100)]
WMF: don't resume playback after doing a seek while paused.

Task-number: QTBUG-32746
Change-Id: I5a9ee96324e0ddc65311f47dc887bcb91b036fd2
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
9 years agoRemove stray <QtNetwork> includes
Andrew Knight [Mon, 30 Mar 2015 12:35:47 +0000 (15:35 +0300)]
Remove stray <QtNetwork> includes

Module includes slow down the build when PCH is disabled, so don't use
them.

Change-Id: Ic0bf0d938ef06dea9dba6897df592311230a6529
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
9 years agoFix QNX 6.6 build by using qSqrt() and qLn()
Sergio Martins [Sat, 28 Mar 2015 17:26:20 +0000 (17:26 +0000)]
Fix QNX 6.6 build by using qSqrt() and qLn()

spectrumanalyser.cpp: In member function 'void SpectrumAnalyserThread::calculateSpectrum(const QByteArray&, int, int)':
spectrumanalyser.cpp:138:59: error: 'sqrt' was not declared in this scope

Change-Id: Ib43c693d73d2342059092094cfc3f48a0f73b4bc
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
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 inconsistent overrides. [-Winconsistent-missing-override]
Sergio Martins [Thu, 19 Mar 2015 21:18:44 +0000 (21:18 +0000)]
Fix inconsistent overrides. [-Winconsistent-missing-override]

Change-Id: Icb3e2a640c122424704a8e4b10172ecc7602845a
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
9 years agoAdd NV12/NV21 support into SG videonode.
Timur Pocheptsov [Wed, 18 Mar 2015 10:36:50 +0000 (11:36 +0100)]
Add NV12/NV21 support into SG videonode.

Add new fragment shaders and update declarative render (video node) to support NV12/NV21
pixel format.

Task-number: QTBUG-45021
Change-Id: I5d52007f0da56165752268d06efca156f7496b42
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
9 years agoAVFCameraViewfinderSettings - add NV12 format
Timur Pocheptsov [Tue, 17 Mar 2015 08:48:54 +0000 (09:48 +0100)]
AVFCameraViewfinderSettings - add NV12 format

Add QVideoFrame::Format_NV12 (AVFoundation has kCVPixelFormatType_420YpCbCr8BiPlanarVideoRange
and kCVPixelFormatType_420YpCbCr8BiPlanarFullRange). Report it (set it) only if
it's supported by renderer's surface. Add bi-planar format support into CVPixelBufferVideoBuffer.

Change-Id: Ibc1c2be056bddf5cf3b595570fc40c626ee3ccf5
Reviewed-by: Yoann Lopes <yoann.lopes@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 agoFix WinRT Audio elements cannot play Qt resouce audio files
Peng Wu [Thu, 12 Mar 2015 07:45:02 +0000 (00:45 -0700)]
Fix WinRT Audio elements cannot play Qt resouce audio files

URL argument of Windows media API SetSourceFromByteStream can not be
empty. Initial proper value for playing audio stream case.

Task-number: QTBUG-42263
Change-Id: If0bb44b60d517228bfe8b6cb30afeeb4a8ac62d3
Reviewed-by: Andrew Knight <qt@panimo.net>
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
9 years agoMerge remote-tracking branch 'origin/5.4' into 5.5
Frederik Gladhorn [Tue, 17 Mar 2015 08:48:51 +0000 (09:48 +0100)]
Merge remote-tracking branch 'origin/5.4' into 5.5

Change-Id: Id24f14bef17b86e7027e055473f0357854780979

9 years agoImprovide device selection in the video filter example
Laszlo Agocs [Thu, 12 Mar 2015 13:32:34 +0000 (14:32 +0100)]
Improvide device selection in the video filter example

The non-OS X path also uses clGetGLContextInfoKHR when available,
instead of just blindly taking the first GPU device for the platform.

This way we get the correct OpenCL device in case the application is using an
OpenGL context on the same vendor's second GPU.

On Windows desktop OpenGL is now correctly forced and therefore there is
no need to waste time on runtime checks for ANGLE later on.

Remove the hard-coded custom pathes from the .pro file.

Also fixes error reporting on the OS X specific path.

Change-Id: I8d6ab867510d113d5135b61e66822381e81c995a
Reviewed-by: Yoann Lopes <yoann.lopes@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 agoFix uninitialized memory reads in MFAudioDecoderControl.
Friedemann Kleint [Mon, 9 Mar 2015 11:31:11 +0000 (12:31 +0100)]
Fix uninitialized memory reads in MFAudioDecoderControl.

Initialize all members in constructor.

[W] UMR: Uninitialized memory read in MFAudioDecoderControl::handleMediaSourceReady(void) {1 occurrence}
         Error location
            MFAudioDecoderControl::handleMediaSourceReady(void) [c:\qt\qt-55-32\qt-55-32\qtmultimedia\src\plugins\wmf\decoder\mfaudiodecodercontrol.cpp:254]
[W] UMR: Uninitialized memory read in MFAudioDecoderControl::activatePipeline(void) {1 occurrence}
            MFAudioDecoderControl::activatePipeline(void) [c:\qt\qt-55-32\qt-55-32\qtmultimedia\src\plugins\wmf\decoder\mfaudiodecodercontrol.cpp:289]

Task-number: QTBUG-40571
Change-Id: I6f97cf72284f739ceffcf65162963d00de979ea2
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
9 years agoFree d in QAudioBuffer &QAudioBuffer::operator =(const QAudioBuffer &).
Friedemann Kleint [Mon, 9 Mar 2015 11:34:40 +0000 (12:34 +0100)]
Free d in QAudioBuffer &QAudioBuffer::operator =(const QAudioBuffer &).

Task-number: QTBUG-40571
Change-Id: Idc2dcc7d254873edda653b9c9eb8d88cbb91d4f6
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
9 years agoAVCaptureDeviceFormat - avoid duplicates (OS X/iOS)
Timur Pocheptsov [Wed, 4 Mar 2015 15:34:32 +0000 (16:34 +0100)]
AVCaptureDeviceFormat - avoid duplicates (OS X/iOS)

Excluding video range (iOS) is not the right way to avoid "duplicates" - with
other devices there can be also duplicates (formats with the same resolutions),
but completely different pixel formats. Since we do not know what they will be in advance,
we take the media subtype from the initial preset for a capture device and use it
as a filter. Update viewfinder and image encoder settings controls.

Change-Id: If20aea24b19b43574d5c3e9bf2ba85f50fc08916
Reviewed-by: Yoann Lopes <yoann.lopes@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 agoImprove QMediaPlayer auto tests.
Yoann Lopes [Tue, 24 Feb 2015 13:37:39 +0000 (14:37 +0100)]
Improve QMediaPlayer auto tests.

Use test data only for test functions that require it.

Change-Id: I7fde1ba53ee8d2f5294597fd309a6e7d7dbbe15d
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
9 years agoMerge remote-tracking branch 'origin/5.4' into 5.5
Frederik Gladhorn [Tue, 3 Mar 2015 17:18:12 +0000 (18:18 +0100)]
Merge remote-tracking branch 'origin/5.4' into 5.5

Conflicts:
src/gsttools/qgstutils.cpp

Change-Id: Ic54ab6c6560ded0db4b98f83256d997bee828083

9 years agoImage encoder control - version for OS X/iOS
Timur Pocheptsov [Thu, 12 Feb 2015 09:17:09 +0000 (10:17 +0100)]
Image encoder control - version for OS X/iOS

QImageEncoderControl - implementation for AVFoundation plugin (OS X/iOS,
at the moment iOS >= 7.0).

Change-Id: Ibc2c3ae48252dd4698e263f5abca5c328482d5e7
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
9 years agoViewfinder settings control (1) for OS X/iOS
Timur Pocheptsov [Tue, 10 Feb 2015 08:29:29 +0000 (09:29 +0100)]
Viewfinder settings control (1) for OS X/iOS

QCameraViewfinderSettingsControl - version for AVFoundation plugin
('obsolete' viewfinder settings control interface, camera session uses v2
instead). v1 is implemented using v2 (the v2 object from camera service).

Change-Id: I81207b52b0ba5a67e64465f0e5e0c80d7267df3e
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
9 years agoViewfinder settings control (2) - version for iOS/OS X
Timur Pocheptsov [Wed, 28 Jan 2015 16:51:19 +0000 (17:51 +0100)]
Viewfinder settings control (2) - version for iOS/OS X

QCameraViewfinderSettingsControl2 - version for AV foundation plugin
(the new settings control interface implemented).

Change-Id: I3fbfb87925e57c914d43eb711fa5422e26981207
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
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 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 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 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 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>