Jani Vähäkangas [Wed, 17 Jun 2015 09:19:36 +0000 (12:19 +0300)]
Blacklist failing part from tst_qsoundeffect
Task-number: QTBUG-46689
Change-Id: I195d5cea8a588afcdefae5a91acb511fadbb839c
Reviewed-by: Caroline Chao <caroline.chao@theqtcompany.com>
Liang Qi [Tue, 30 Jun 2015 13:29:49 +0000 (13:29 +0000)]
Merge "Merge remote-tracking branch 'origin/5.5' into dev" into refs/staging/dev
Jani Vähäkangas [Fri, 5 Jun 2015 08:56:48 +0000 (11:56 +0300)]
Blacklist cases from qaudiodecoderbackend and qmediaplayerbackend
Change-Id: I73156f18f79afbdb26ba31462162dde9c1d0094b
Task-number: QTBUG-46368
Reviewed-by: Caroline Chao <caroline.chao@theqtcompany.com>
Liang Qi [Mon, 29 Jun 2015 18:10:15 +0000 (20:10 +0200)]
Merge remote-tracking branch 'origin/5.5' into dev
Conflicts:
.qmake.conf
Change-Id: Ib38fe1e0a4c937068741a9556748a18e35ba59af
Jani Vähäkangas [Mon, 15 Jun 2015 12:29:59 +0000 (15:29 +0300)]
Blacklist part of tst_qaudiodeviceinfo
Task-number: QTBUG-46409
Change-Id: Iebfc6595b7be3fc29f1fca61fa71a706dbe64ebb
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@digia.com>
Reviewed-by: Caroline Chao <caroline.chao@theqtcompany.com>
Oswald Buddenhagen [Mon, 29 Jun 2015 08:47:53 +0000 (10:47 +0200)]
Bump version
Change-Id: I0dbadc590809bed7a24a8721a3b4a42a207bcc7b
Liang Qi [Fri, 26 Jun 2015 12:04:32 +0000 (14:04 +0200)]
Merge remote-tracking branch 'origin/5.5.0' into 5.5
Change-Id: I5a5b387b93a4b9dbaa9710e78fd7bf1ca09aa3b3
Peng Wu [Fri, 12 Jun 2015 10:02:38 +0000 (13:02 +0300)]
winrt: Implement QImageEncoderControl for camera
Implement QImageEncoderControl for camera still image capture.
It provides the functions to set camera capture resolution and
get supported resolutions list.
Task-number: QTBUG-46456
Change-Id: Ideb1aa02d420be3a30d588bebf31714fa4fa6415
Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
Marc Mutz [Thu, 11 Jun 2015 12:08:07 +0000 (14:08 +0200)]
QCameraViewFinderSettings: add missing include
The header should not depend on indirect includes.
It uses QSize in inline functions, so include the
header.
Change-Id: I3a5fca458ded47c98b7f71749ad75660c6e049e9
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Marc Mutz [Thu, 11 Jun 2015 12:14:31 +0000 (14:14 +0200)]
QAbstractVideoFilter: make ctor explicit
Change-Id: If091d751c7e164c0480b48301358833705cd4870
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Marc Mutz [Thu, 11 Jun 2015 12:03:21 +0000 (14:03 +0200)]
QCameraViewFinderSettings: make op== transitive
Using qFuzzyCompare in operator== makes it impossible to create a
consistent qHash() overload for the class later on (qFuzzyCompare
is not transitive).
It is unlikely that there will be numerical instability for frame
rates. If there is, qFuzzyCompare should be overloaded for either
this class or the FrameRateRange class.
Change-Id: Id975ea410b373e2987da160504f7618a8c498b5c
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Marc Mutz [Thu, 11 Jun 2015 11:59:19 +0000 (13:59 +0200)]
QCameraViewFinderSettings: declare shared
Requires implementing member-swap.
Also implemented move assignment operator.
Change-Id: I077ee85346a8c542cd344720e45a0795a6947e4c
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Marc Mutz [Thu, 11 Jun 2015 11:55:43 +0000 (13:55 +0200)]
QCameraViewFinderSettings: make op== non-member
...and inline op!=. Mark them as nothrow.
More idiomatic C++ (symmetry between lhs and rhs).
Change-Id: I65ecbef961383897e4e17325ad62d45e1772fbb0
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Marc Mutz [Thu, 11 Jun 2015 11:45:34 +0000 (13:45 +0200)]
QCameraViewFinderSettings: use correct include
Change-Id: I71f24922872f64d86d55f420b0e27028a6368097
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Yoann Lopes [Wed, 10 Jun 2015 20:37:09 +0000 (22:37 +0200)]
Added 5.5.0 change file.
Task-number: QTBUG-45455
Change-Id: I832dcd02215e6ae004b6f1e6cf3905b95a838e4a
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
Yoann Lopes [Tue, 9 Jun 2015 16:30:32 +0000 (18:30 +0200)]
Define QCamera::FrameRateRange as a struct.
Instead of an alias for QPair<qreal, qreal>.
Task-number: QTBUG-46563
Change-Id: I7e1ac68242810f7e5f7e161571a11f5de7850e29
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
Yoann Lopes [Mon, 8 Jun 2015 16:09:23 +0000 (18:09 +0200)]
AVFoundation: don't use shared OpenGL contexts unless needed.
We were always using shared OpenGL contexts to render media player
frames into an OpenGL texture. There's no need to do that when there
already is a current context on the current thread. This happens in
non-QtQuick cases, when the OpenGL thread is also the main thread.
Change-Id: Icb97ed49609c764263007a43b6bb481e23768111
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
Yoann Lopes [Mon, 8 Jun 2015 15:46:10 +0000 (17:46 +0200)]
Support BGR format for OpenGL textures in QPainterVideoSurface.
Also, use the correct shader for RGB formats, we should be using the one
that does swizzling in that case.
Change-Id: I77b6327501f833fb2f7b30411fbe853e975a59c7
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
Joerg Bornemann [Wed, 3 Jun 2015 12:43:13 +0000 (14:43 +0200)]
WinRT: fix namespaced build
Change-Id: I06b18e2a1318bda826befde52ee1fd874e25dd47
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Andrew Knight <andrew.knight@intopalo.com>
Laszlo Agocs [Tue, 2 Jun 2015 14:33:11 +0000 (16:33 +0200)]
Add an env var to disable OpenGL texture-based video frames.
Right now we will always use GLTextureHandle frames with Quick. This is
great in many cases, but not always. Applications that wish to examine
the frames (e.g. via video filters) will sometimes prefer frames in
system memory, even if this is slower to display.
Add QT_QUICK_NO_TEXTURE_VIDEOFRAMES which can be used to disable texture-based
video frames.
[ChangeLog] The environment variable QT_QUICK_NO_TEXTURE_VIDEOFRAMES
can now be used to disable OpenGL texture based video frames. This can be useful
in applications that wish to filter and process the video frames and are not
GPU based.
Change-Id: I5ca6f6d485d5bc6c2da8d47db563cd910c238ac9
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
Timur Pocheptsov [Tue, 2 Jun 2015 16:12:19 +0000 (18:12 +0200)]
Media asset writer - use the right macro
QT_PREPEND_NAMESPACE, not QT_MANGLE_NAMESPACE.
Change-Id: I9eb4130b203a5fb8f9f7964a0a642686814d5990
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
Liang Qi [Wed, 3 Jun 2015 08:58:51 +0000 (10:58 +0200)]
Merge remote-tracking branch 'origin/5.5' into dev
Change-Id: I7ac7db69c37cc9e5c5241a25b9a874986a23a886
Peng Wu [Mon, 1 Jun 2015 13:13:27 +0000 (16:13 +0300)]
winrt: fix camera preview on Lumia 530
Lumia 530 has the same QTBUG-44838 device bug that gives black frames
when blitting to the target texture for image preview. Add it to
workaround blacklist.
Task-number: QTBUG-45920
Change-Id: Ia411793b90e487fa57b943ed7f01e370bfb84a1f
Reviewed-by: Andrew Knight <andrew.knight@intopalo.com>
Yoann Lopes [Tue, 2 Jun 2015 12:56:56 +0000 (14:56 +0200)]
GStreamer: remove unnecessary qWarning().
Change-Id: Ibbf5d5b7e3675fe6fee30e7486e3bc7b59fa231d
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
Yoann Lopes [Mon, 1 Jun 2015 14:31:44 +0000 (16:31 +0200)]
AVFoundation: fix a problem when changing the camera viewfinder size.
We need to restart the video surface when the frame size changes.
Change-Id: I81af3cb40fb40f7d157174ac96d42213880fbacd
Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com>
Yoann Lopes [Mon, 1 Jun 2015 16:09:30 +0000 (18:09 +0200)]
AVFoundation: fix wrong Q_ASSERT.
The assert was always triggered, at least on OSX.
Change-Id: I9aabb6103b7f5540cff42facc448ffcf6a6de511
Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com>
Sergio Martins [Mon, 1 Jun 2015 16:25:26 +0000 (17:25 +0100)]
pulseaudio: Remove unused static member variable
Change-Id: I79f8ce318d4fb72ddbd9d4e5c030df01c36084fa
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
Sergio Martins [Sat, 30 May 2015 09:36:17 +0000 (10:36 +0100)]
Use QSet::intersects() instead of QSet::intersect()
It's much faster.
Change-Id: Iee42359147ebb76b5848f3ac2e17eb92214c8ab6
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Timur Pocheptsov [Fri, 20 Mar 2015 17:33:28 +0000 (18:33 +0100)]
Video asset writer for iOS
AVFoundation on iOS lacks the ability to use AVCaptureVideoDataOutput and
AVCaptureMovieFileOutput simultaneously. Right now viewfinder stops working
as soon as we add movie file output. The only workaround
we have now is to write video/audio 'maually' - creating asset writer
and feeding it with audio/video samples.
Change-Id: I33a63546783279c545f0433b5051287269825d3f
Task-number: QTBUG-37655
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
Yoann Lopes [Thu, 28 May 2015 14:40:08 +0000 (16:40 +0200)]
AVFoundation: fix default camera viewfinder pixel format.
It was hardcoded to ARGB32, which is not a good idea, at least on iOS
where the necessary conversion is slow.
We now pick the QAbstractVideoSurface's preferred format, or if no
surface is set, we pick the default from AVFoundation.
As a result, the QML VideoOutput will now always use the NV12 format.
Change-Id: I65205c706455502883b8098f0b5c0577b4106e01
Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com>
Yoann Lopes [Tue, 24 Mar 2015 16:32:28 +0000 (17:32 +0100)]
GStreamer: flush the current frame when stopping a media player.
When stopping, we don't actually stop the GStreamer pipeline, we just
pause it and prevent preroll frames from being shown.
We also need to make sure the last presented frame is cleared in that
case, otherwise it stays on screen.
Fixed for both 0.10 and 1.0.
Change-Id: Ibe26a7567f271ae0c3d8819eb9d35d6a95da1c6a
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
Yoann Lopes [Tue, 5 May 2015 14:40:05 +0000 (16:40 +0200)]
Android: fix setting the camera preview resolution.
- When the video capture resolution or the image capture resolution
changes, we now always set the viewfinder resolution to the highest
available one with the same aspect ratio as the capture resolution.
We were previously not doing anything if the new capture resolution
had the same aspect ratio as the current viewfinder resolution.
- Some devices don't support using a viewfinder resolution different
from the video capture resolution. Make sure we handle this case.
Change-Id: I8d3ab7b01c56ed78d1ca838a522ba459692fc332
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
Yoann Lopes [Thu, 21 May 2015 11:33:19 +0000 (13:33 +0200)]
AVFoundation: additional build fixes for OSX < 10.9.
0df8d839 didn't fix all of the problems.
Task-number: QTBUG-46159
Change-Id: I4f2a390da1cca13775302aeef60c522e0da55a1a
Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com>
Friedemann Kleint [Fri, 22 May 2015 08:05:33 +0000 (10:05 +0200)]
Add CONFIG += testcase to auto/unit/qaudiobuffer/qaudiobuffer.pro.
When missing, make check is an empty target, meaning the test
is never run in the CI.
Change-Id: I6f09e0f78c26b631fdfe89d2520dc0012d177843
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
Carlos Rafael Giani [Mon, 9 Mar 2015 23:07:40 +0000 (00:07 +0100)]
videonode: imx6: Ensure the video node excludes padding pixels
Padding rows & columns are included in the video frame that is sent to
the VIV direct texture. Scale the UV coordinates to ensure the padding
pixels aren't shown.
Change-Id: I8b870a95ff786f9f80f42f0cc33f468b0c9c3863
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
Yoann Lopes [Tue, 19 May 2015 13:50:10 +0000 (15:50 +0200)]
GStreamer: don't use xvimagesink when Qt is not using Xcb.
We need a native X window handle to be able to use xvimagesink. If Qt
doesn't use the Xcb platform plugin, don't try to use that element.
This patch makes QVideoWidget usable when the system doesn't run X11
but xvimagesink is installed anyway. Widget and window controls become
invalid and the plugin therefore falls back to the renderer control.
Change-Id: I6efd410508f35b06f00f6e4e5149c97cbd280d0d
Task-number: QTBUG-46169
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
Jani Heikkinen [Wed, 20 May 2015 11:58:28 +0000 (14:58 +0300)]
Updated WinRT license headers to use LGPLv3 instead of LGPLv21
From 5.5.0 -> WinRT port is licensed with LGPLv3, see
http://blog.qt.io/blog/2015/04/29/windows-10-support-in-qt/
Change-Id: I86e43ba051e3bc1dfb3eb9e1d442a9a12e9efdb7
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@theqtcompany.com>
Andras Mantia [Fri, 15 May 2015 07:49:50 +0000 (10:49 +0300)]
Initialize the resource, so it can be used from static libraries.
Change-Id: If28509a991fb464dc587705ce62af66b528fdd97
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
Yoann Lopes [Tue, 19 May 2015 14:54:05 +0000 (16:54 +0200)]
AVFoundation: fix retrieving maximum camera zoom value.
Maximum zoom value was incorrectly reset to 1.0 when doing the transition
Active -> Loaded -> Active.
Change-Id: I799900b1597637039d6c28d1d694fb6340b10540
Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com>
Yoann Lopes [Tue, 19 May 2015 11:43:14 +0000 (13:43 +0200)]
AVFoundation: fix compilation on OSX < 10.9.
AVCaptureConnection.videoMaxFrameDuration is supported only since 10.9.
Task-number: QTBUG-46159
Change-Id: I8ea57b69e97ea3802b5c444c57ab090c4edf31e2
Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com>
Yoann Lopes [Thu, 16 Apr 2015 09:30:08 +0000 (11:30 +0200)]
WMF: fix start time of buffers provided by QAudioDecoder.
The time was in milliseconds but should be in microseconds.
Task-number: QTBUG-45571
Change-Id: I54f07975e7a6233254a338dcde8075f740b5455c
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
Topi Reinio [Mon, 18 May 2015 10:10:44 +0000 (12:10 +0200)]
Doc: Use the screenshot in the Declarative Radio example documentation
Also, crop the screenshot image to not show any window decoration,
and fix the example \brief.
Change-Id: I86310bdc5a4f124180eac1a1d27064286ba34f59
Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com>
Yoann Lopes [Wed, 13 May 2015 15:20:34 +0000 (17:20 +0200)]
Fix documentation for Camera flash mode enum.
Added missing documentation for Camera.FlashVideoLight and corrected
it for Camera.FlashTorch.
Change-Id: Ib1823b6554bd2f9db92e047fd4755ae7fb3e0f96
Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com>
Samuel Gaist [Sun, 26 Apr 2015 23:06:32 +0000 (01:06 +0200)]
Fix typo in QCameraViewfinderSettingsControl documentation
Change-Id: Iae4b064f554f501bfce9bc7b811c56685e8ece0d
Reviewed-by: Sze Howe Koh <szehowe.koh@gmail.com>
Venugopal Shivashankar [Tue, 12 May 2015 13:12:52 +0000 (15:12 +0200)]
Doc: Added a link to the wiki with plugin info.
The wiki summarizes each platform plugin and the
supported features.
Change-Id: Id7707306880d7e0612e73b879fc48201e0a97417
Task-number: QTBUG-30381
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@theqtcompany.com>
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
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>
Liang Qi [Mon, 11 May 2015 08:01:29 +0000 (10:01 +0200)]
Merge remote-tracking branch 'origin/5.5' into dev
Change-Id: I0390795fa3d5f2a7ba098b514ee2da4a86e243a6
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>
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>
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
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
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>
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>
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>
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>
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>
Siteshwar Vashisht [Wed, 25 Mar 2015 14:13:19 +0000 (19:43 +0530)]
Refactored code for audio engine to allow dynamic object creation
QDeclarativeSound, QDeclarativeAudioSample, QDeclarativeAudioCategory
and QDeclarativeAttenuationModel can now be dynamically added to
AudioEngine instance or declared inside AudioEngine object definition.
QDeclarativePlayVariation can now be dynamically added to Sound
instance or declared inside Sound object definition.
Change-Id: If4c2e16895a71eb71ded1998c107360698f8ac7f
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
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>
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>
Oswald Buddenhagen [Mon, 20 Apr 2015 10:28:05 +0000 (12:28 +0200)]
Bump version
Change-Id: I8c772e6048ed08abf98c0aef4b731653b3957ba4
Liang Qi [Sat, 18 Apr 2015 22:01:55 +0000 (00:01 +0200)]
Merge remote-tracking branch 'origin/5.5' into dev
Change-Id: Ie6817b576fd9f2571d315f31d5635d026a2b5430
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>
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>
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>
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>
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>
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
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
Liang Qi [Wed, 8 Apr 2015 19:24:43 +0000 (21:24 +0200)]
Merge remote-tracking branch 'origin/5.5' into dev
Change-Id: I17ddd1ce77e07cf75567e2dc723e29d54088f68e
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>