summaryrefslogtreecommitdiffstats
path: root/src/plugins
Commit message (Collapse)AuthorAgeFilesLines
* 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>
* 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 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-1524-414/+546
|\ | | | | | | | | | | | | | | 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>
| * 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>
| * Fix compile issue when building with -no-widgetsAndy Shaw2015-04-073-7/+6
| | | | | | | | | | Change-Id: I49a9aa684b0dfbe0e3d9e576aad06d65d6c3ecdd Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
| * Fix BlackBerry -qtnamespace buildSergio Martins2015-04-011-0/+2
| | | | | | | | | | | | Change-Id: I717dad59a466cb7a7480bc772d8f6308ca669d54 Task-number: QTBUG-43569 Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
| * WMF: don't resume playback after doing a seek while paused.Andy Shaw2015-03-311-2/+9
| | | | | | | | | | | | | | Task-number: QTBUG-32746 Change-Id: I5a9ee96324e0ddc65311f47dc887bcb91b036fd2 Reviewed-by: Andy Shaw <andy.shaw@digia.com> Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
| * WMF: report the surface's supported formats in the correct order.Yoann Lopes2015-03-241-2/+5
| | | | | | | | | | | | | | | | | | 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>
| * WMF: fix RGB24 format matching.Yoann Lopes2015-03-181-1/+2
| | | | | | | | | | | | | | | | | | 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>
* | Camera flash control - version for iOS/OS XTimur Pocheptsov2015-04-135-2/+317
| | | | | | | | | | | | | | | | | | | | 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>
* | [DirectShow] Fix potential memory access violationKonstantin Ritt2015-04-131-0/+3
| | | | | | | | | | Change-Id: I5da495d255e6fdd3a70c1ed486afb61f157c923e Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
* | [DirectShow] Fix potention undefined behavior on destructionKonstantin Ritt2015-04-134-3/+8
| | | | | | | | | | | | | | | | | | 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>
* | QMediaPlayer: handle resource files in a cross-platform way.Yoann Lopes2015-04-0714-121/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | AVFCameraViewfinderSettings - add NV12 formatTimur Pocheptsov2015-03-203-29/+94
| | | | | | | | | | | | | | | | | | 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>
* | Fix WinRT Audio elements cannot play Qt resouce audio filesPeng Wu2015-03-171-1/+1
| | | | | | | | | | | | | | | | | | | | 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>
* | Merge remote-tracking branch 'origin/5.4' into 5.5Frederik Gladhorn2015-03-172-59/+54
|\| | | | | | | Change-Id: Id24f14bef17b86e7027e055473f0357854780979
| * Revert "Alsa: fix crash when detecting devices."Yoann Lopes2015-03-111-57/+52
| | | | | | | | | | | | | | | | | | | | | | | | 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>
| * Android: fix some MediaPlayer signals not being emitted on first load.Yoann Lopes2015-03-041-2/+2
| | | | | | | | | | | | | | | | | | | | 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>
* | Fix uninitialized memory reads in MFAudioDecoderControl.v5.5.0-alpha1Friedemann Kleint2015-03-101-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | AVCaptureDeviceFormat - avoid duplicates (OS X/iOS)Timur Pocheptsov2015-03-106-93/+140
| | | | | | | | | | | | | | | | | | | | | | 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>
* | Merge remote-tracking branch 'origin/5.4' into 5.5Frederik Gladhorn2015-03-031-1/+5
|\| | | | | | | | | | | | | Conflicts: src/gsttools/qgstutils.cpp Change-Id: Ic54ab6c6560ded0db4b98f83256d997bee828083
| * Check for the quick module before adding the videonode pluginAndy Shaw2015-02-271-1/+5
| | | | | | | | | | Change-Id: I050356086f5d82221968016754eb01c1b8f35490 Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
* | Image encoder control - version for OS X/iOSTimur Pocheptsov2015-03-028-6/+386
| | | | | | | | | | | | | | | | 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>
* | Viewfinder settings control (1) for OS X/iOSTimur Pocheptsov2015-03-024-0/+184
| | | | | | | | | | | | | | | | | | 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>
* | Viewfinder settings control (2) - version for iOS/OS XTimur Pocheptsov2015-03-029-3/+716
| | | | | | | | | | | | | | | | QCameraViewfinderSettingsControl2 - version for AV foundation plugin (the new settings control interface implemented). Change-Id: I3fbfb87925e57c914d43eb711fa5422e26981207 Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
* | Add AVF camera utilities - general aux. functions/classesTimur Pocheptsov2015-03-026-8/+430
| | | | | | | | | | | | | | | | | | 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>
* | DirectShow: implemented QCameraViewfinderSettingsControl2.Yoann Lopes2015-02-267-55/+284
| | | | | | | | | | Change-Id: I42ed49676e2fbc7207d8fe4579ad1fc0d62df138 Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
* | ios: Enable volume and mute functionalityFrank Osterfeld2015-02-251-9/+21
| | | | | | | | | | | | | | | | | | | | | | 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>
* | ios: Do not leak texture cache objectsFrank Osterfeld2015-02-251-9/+11
| | | | | | | | | | | | | | | | | | 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>
* | Merge remote-tracking branch 'origin/5.4' into 5.5Frederik Gladhorn2015-02-246-5/+51
|\| | | | | | | | | | | | | | | | | Conflicts: qtmultimedia.pro src/gsttools/qgstreamervideowidget.cpp src/plugins/gstreamer/camerabin/camerabinservice.cpp Change-Id: I883f20dc17924ab42514a1aa00d16675a0f13d99
| * GStreamer: improved logic for window and widget controls usage.Yoann Lopes2015-02-186-5/+51
| | | | | | | | | | | | | | | | | | | | 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>
* | Merge "Merge remote-tracking branch 'origin/5.4' into dev" into refs/staging/devSergio Ahumada2015-02-227-19/+29
|\ \
| * | Merge remote-tracking branch 'origin/5.4' into devFrederik Gladhorn2015-02-137-19/+29
| |\| | | | | | | | | | Change-Id: I5575a4ba13212c9bfe73a3de3ef17c6528beafc3
| | * Android: fix adjusting camera viewfinder resolution.Yoann Lopes2015-02-111-9/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The viewfinder resolution must be in the same aspect ratio as the image capture resolution. When adjusting the viewfinder resolution to comply with that restriction, we assumed that the ratios had to be exactly equal. Though, in practice, there can be a small difference. For example for resolutions 2592x1952 (ratio=1.3278) and resolution 640x480 (ratio=1.3333). Task-number: QTBUG-37525 Change-Id: Ia5a6dd3a4a6d901b24bf74f8aa4e34bffe61f89b Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
| | * Fix some typosSergio Ahumada2015-02-112-2/+2
| | | | | | | | | | | | | | | Change-Id: Iaf8f50741d3103480668b4a654a202d8a363bc45 Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
| | * Merge "Merge remote-tracking branch 'origin/5.4.1' into 5.4" into ↵Frederik Gladhorn2015-02-101-1/+1
| | |\ | | | | | | | | | | | | refs/staging/5.4
| | | * Merge remote-tracking branch 'origin/5.4.1' into 5.4Frederik Gladhorn2015-02-101-1/+1
| | | |\ | | | | | | | | | | | | | | | Change-Id: I4167d268505cbc0b7b57888928670ae05302f4cb
| | | | * Ensure the system libraries are linked when -opengl dynamic is usedv5.4.1Andy Shaw2015-02-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-43211 Change-Id: Id543c74233f547c61164b9d32a5f6a3f6d1bc1b3 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com> Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
| | * | | Encode urls passed to media player properlyJoni Poikelin2015-02-101-1/+1
| | |/ / | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-44383 Change-Id: I2c63d5530ad76474ccad8ad69493419dd46032fa Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
| | * | directshow: Fix plugging/unplugging a second cameraSergio Martins2015-02-051-6/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When having more than 1 camera (like one laptop integrated webcam and a separate one) you had to restart the application for QCameraInfo::availableCameras() to work. Change-Id: I47cfa928cfd9500524b81a4bf8ec5ebff0b79879 Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
| | * | Fix memory leak in QWindowsAudioDeviceInfo::availableDevices().Friedemann Kleint2015-02-051-0/+2
| | |/ | | | | | | | | | | | | | | | Task-number: QTBUG-44305 Change-Id: I8c5afd6d5c77ef1ef81c3b752c6246dc50406794 Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
* | | Remove BlackBerry PlayBook support.Rafael Roquetto2015-02-187-64/+6
| | | | | | | | | | | | | | | | | | Change-Id: I21f9c21bd3badd30f3a989ce3412c9ad03f5f21d Reviewed-by: Bernd Weimer <bernd.weimer@pelagicore.com> Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
* | | GStreamer: some improvements with the camerabin's capture settings.Yoann Lopes2015-02-183-30/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - 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>
* | | GStreamer: improve camerabin audio settings checking.Yoann Lopes2015-02-181-3/+3
| | | | | | | | | | | | | | | | | | | | | 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>
* | | GStreamer camerabin: don't recreate camera source on device change.Yoann Lopes2015-02-181-33/+34
| | | | | | | | | | | | | | | Change-Id: If62573b11c8e3112d386d93de9a504f49965d597 Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>