summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* | Add an env var to disable OpenGL texture-based video frames.Laszlo Agocs2015-06-031-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Media asset writer - use the right macroTimur Pocheptsov2015-06-031-10/+10
| | | | | | | | | | | | | | QT_PREPEND_NAMESPACE, not QT_MANGLE_NAMESPACE. Change-Id: I9eb4130b203a5fb8f9f7964a0a642686814d5990 Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
* | GStreamer: remove unnecessary qWarning().Yoann Lopes2015-06-021-2/+0
| | | | | | | | | | Change-Id: Ibbf5d5b7e3675fe6fee30e7486e3bc7b59fa231d Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
* | AVFoundation: fix a problem when changing the camera viewfinder size.Yoann Lopes2015-06-021-1/+3
|/ | | | | | | We need to restart the video surface when the frame size changes. Change-Id: I81af3cb40fb40f7d157174ac96d42213880fbacd Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com>
* Video asset writer for iOSTimur Pocheptsov2015-05-2911-10/+1199
| | | | | | | | | | | | 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>
* AVFoundation: fix default camera viewfinder pixel format.Yoann Lopes2015-05-293-41/+33
| | | | | | | | | | | | 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>
* GStreamer: flush the current frame when stopping a media player.Yoann Lopes2015-05-274-8/+110
| | | | | | | | | | | 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>
* Android: fix setting the camera preview resolution.Yoann Lopes2015-05-274-27/+21
| | | | | | | | | | | | | - 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>
* AVFoundation: additional build fixes for OSX < 10.9.Yoann Lopes2015-05-271-9/+26
| | | | | | | | 0df8d839 didn't fix all of the problems. Task-number: QTBUG-46159 Change-Id: I4f2a390da1cca13775302aeef60c522e0da55a1a Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com>
* Add CONFIG += testcase to auto/unit/qaudiobuffer/qaudiobuffer.pro.Friedemann Kleint2015-05-261-1/+1
| | | | | | | | 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>
* videonode: imx6: Ensure the video node excludes padding pixelsCarlos Rafael Giani2015-05-266-4/+90
| | | | | | | | | | 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>
* GStreamer: don't use xvimagesink when Qt is not using Xcb.Yoann Lopes2015-05-262-2/+8
| | | | | | | | | | | | | 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>
* Updated WinRT license headers to use LGPLv3 instead of LGPLv21Jani Heikkinen2015-05-2122-220/+286
| | | | | | | | 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>
* Initialize the resource, so it can be used from static libraries.Andras Mantia2015-05-201-0/+5
| | | | | Change-Id: If28509a991fb464dc587705ce62af66b528fdd97 Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
* AVFoundation: fix retrieving maximum camera zoom value.Yoann Lopes2015-05-191-5/+5
| | | | | | | | 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>
* AVFoundation: fix compilation on OSX < 10.9.Yoann Lopes2015-05-192-21/+37
| | | | | | | | AVCaptureConnection.videoMaxFrameDuration is supported only since 10.9. Task-number: QTBUG-46159 Change-Id: I8ea57b69e97ea3802b5c444c57ab090c4edf31e2 Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com>
* WMF: fix start time of buffers provided by QAudioDecoder.Yoann Lopes2015-05-191-1/+2
| | | | | | | | 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>
* Doc: Use the screenshot in the Declarative Radio example documentationTopi Reinio2015-05-192-1/+3
| | | | | | | | 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>
* Fix documentation for Camera flash mode enum.Yoann Lopes2015-05-181-1/+4
| | | | | | | | Added missing documentation for Camera.FlashVideoLight and corrected it for Camera.FlashTorch. Change-Id: Ib1823b6554bd2f9db92e047fd4755ae7fb3e0f96 Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com>
* Fix typo in QCameraViewfinderSettingsControl documentationSamuel Gaist2015-05-161-1/+1
| | | | | Change-Id: Iae4b064f554f501bfce9bc7b811c56685e8ece0d Reviewed-by: Sze Howe Koh <szehowe.koh@gmail.com>
* Doc: Added a link to the wiki with plugin info.Venugopal Shivashankar2015-05-131-0/+5
| | | | | | | | | | | 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>
* Fix texture unit bug in the YUV video node.Yoann Lopes2015-05-121-1/+2
| | | | | | | | | | 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>
* OSX/iOS: Fix volume and muteFrank Osterfeld2015-05-111-2/+2
| | | | | | | | | 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>
* Update license header in qmlvideofx example.Yoann Lopes2015-05-051-7/+7
| | | | | Change-Id: Icb525176a8f00cc1a7414e68a7452452d1ef3da0 Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
* Merge remote-tracking branch 'origin/5.4' into 5.5Yoann Lopes2015-05-0511-65/+191
|\ | | | | | | | | | | | | | | | | Conflicts: .qmake.conf src/plugins/avfoundation/camera/avfcamerasession.h src/plugins/avfoundation/camera/avfcamerasession.mm Change-Id: Ib2e25d907a7069591920d2f69e007f314cc0fd85
| * Merge remote-tracking branch 'origin/5.4.2' into 5.45.4Yoann Lopes2015-05-045-45/+127
| |\ | | | | | | | | | Change-Id: Ib16e45133bcf4e4d88944df97be6a2f8a3c77135
| | * Added 5.4.2 change file.v5.4.25.4.2Yoann Lopes2015-04-251-0/+64
| | | | | | | | | | | | | | | Change-Id: Ib9d829e92343d5230875c37bee7b2bf912b1d304 Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
| | * AVFoundation: fix microphone permission when using the camera.Yoann Lopes2015-04-234-45/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | Android: Don't delete the media recorder object twice.Christian Strømme2015-04-302-17/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | AVFoundation: correctly detect the default audio capture device.Yoann Lopes2015-04-232-3/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | Bump versionOswald Buddenhagen2015-04-201-1/+1
| |/ | | | | | | Change-Id: I8c772e6048ed08abf98c0aef4b731653b3957ba4
| * Restore ContentCamera.qmlChristian Strømme2015-04-162-0/+44
| | | | | | | | | | | | | | | | | | | | 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>
* | Minor refactor of built-in QSGVideoNodes.v5.5.0-beta1Yoann Lopes2015-04-3014-285/+291
| | | | | | | | | | | | | | | | | | | | | | - 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>
* | winrt: fix camera sample queue thread safetyPeng Wu2015-04-231-5/+18
| | | | | | | | | | | | | | | | | | | | | | 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>
* | Remove warning about missing qmake variable on Android.Christian Strømme2015-04-221-1/+1
| | | | | | | | | | | | | | 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>
* | winrt: fix camera preview on Lumia 630Peng Wu2015-04-161-1/+41
| | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Update plugins.qmltypesYoann Lopes2015-04-151-5/+74
| | | | | | | | | | | | Change-Id: Iaa05756066c8040fe110707eee6b7d71b2a1aa84 Task-number: QTBUG-44300 Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
* | [QSoundBuffer] Replace isReady() with state() statesKonstantin Ritt2015-04-156-18/+36
| | | | | | | | | | | | | | | | | | 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>
* | Update copyright headersLiang Qi2015-04-152-14/+14
| | | | | | | | | | | | | | Just do bbfccc713546f9e7341fbe1af7482cafbdc4ea25 for new added files. Change-Id: Ibbcd515d5e7577a8a3b33163094f9153072c8846 Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.4' into 5.5Liang Qi2015-04-1540-531/+869
|\ \ | |/ | | | | | | | | | | | | Conflicts: src/multimedia/playback/playlistfileparser.cpp src/plugins/windowsaudio/qwindowsaudiodeviceinfo.cpp Change-Id: I52950def2b8283ae15797d05d4ead6a1256eba19
| * DirectShow: correctly update camera list.Yoann Lopes2015-04-144-77/+66
| | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * WindowsAudio: improve supported formats detection.Yoann Lopes2015-04-149-247/+293
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * Fix incorrect signal/slot connection in QDeclarativeTorch.Yoann Lopes2015-04-141-1/+1
| | | | | | | | | | Change-Id: Id8cb716e25a2c08111f99112fbf319fb8331d64d Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
| * WMF: fix reported sample type of 8-bit audio formats.Yoann Lopes2015-04-142-12/+18
| | | | | | | | | | | | | | | | | | | | 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>
| * CoreAudio: fix crash on iOS 5.Yoann Lopes2015-04-141-29/+86
| | | | | | | | | | | | | | | | | | | | 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>
| * AVFoundation: fix QCameraInfo::availableCameras() on OS X.Yoann Lopes2015-04-104-38/+59
| | | | | | | | | | | | | | | | | | | | 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>
| * Updated plugins.qmltypes.Yoann Lopes2015-04-091-19/+241
| | | | | | | | | | | | | | Task-number: QTBUG-44300 Change-Id: Id6c8dce17e03c79f29581bd49be184a8d3e7f21b Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com> Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
| * Make the QtMultimedia singleton type a QObject.Yoann Lopes2015-04-093-43/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * Fix type of Camera's errorCode property.Yoann Lopes2015-04-081-1/+1
| | | | | | | | | | | | | | It's supposed to be of type enumeration (Error) and not QString. Change-Id: Ia3ce112efa3e87614c79b89d05313b0faa557289 Reviewed-by: Andrew Knight <qt@panimo.net>
| * Fix compile issue when building with -no-widgetsAndy Shaw2015-04-073-7/+6
| | | | | | | | | | Change-Id: I49a9aa684b0dfbe0e3d9e576aad06d65d6c3ecdd Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>