summaryrefslogtreecommitdiffstats
path: root/src/plugins
Commit message (Collapse)AuthorAgeFilesLines
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
* Add resolution and fps on mfw_v4lsrcLaszlo Agocs2015-01-123-5/+63
| | | | | | | | | | | | | | Add support for changing resolution and frame rate with mfw_v4lsrc. This is essential for embedded applications that are not happy with the default VGA@30. This makes constructs like the following functional on devices like i.MX6 with MIPI cameras: Camera { viewfinder { resolution: "320x240"; maximumFrameRate: 15 } } Change-Id: Ia297afdb5ca51c6e55ad45dce37fdab7da3a5cfb Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
* Support YUV420P in the i.MX6 video nodeLaszlo Agocs2015-01-061-0/+1
| | | | | | | | | | Camera input is often in this format. Until now the lack of GL_VIV_I420 (which was presumably missing in older versions of the extension?) in the format list resulted in falling back to the built-in i420 node instead of the zero-copy imx6 one. This is now corrected by adding the correct format mapping. Change-Id: I6e891bb3bb07d64ccd5b2d170b052f677c8bd19c Reviewed-by: aavit <eirik.aavitsland@theqtcompany.com>
* Fix: static linking on Linux with both PulseAudio and Alsa pluginsGabriel Hege2014-12-228-38/+38
| | | | | | | | | | | Fixed multiply defined symbols when linking statically with both PulseAudio and Alsa plugins enabled: The private classes In/OutputPrivate had identical names and have been renamed. Change-Id: I9415beeeed9fb0e14ead3f0ab906f343b3934341 Task-number: QTBUG-43514 Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
* winrt: Add missing QAbstractVideoSurface::stop() call.Andrew Knight2014-12-111-2/+4
| | | | | | | This was preventing the surface from restarting with a different format. Change-Id: I1f86ddb1b16618f167183c7e2fcb32658df578f3 Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
* winrt: Fix encoding propertiesAndrew Knight2014-12-111-4/+17
| | | | | | | | | | | These should match the capture mode. Additionally, there was a semantic error preventing the encoding properties from being properly selected. This fixes a bug in which the viewfinder was receiving frames too large for display as an OpenGL texture. Task-number: QTBUG-41065 Change-Id: Ia82c8f44bba1692a219edc5f9d78fc76c3d8a4ba Reviewed-by: Maurice Kalinowski <maurice.kalinowski@theqtcompany.com>
* winrt: Fix camera auto rotationAndrew Knight2014-12-114-0/+26
| | | | | | | | | | | | | | There is no Windows Runtime API to find the camera sensor rotation, so assume that phones always have a camera mounting of 270 degrees. Tablet and webcams remain mounted at the default (0 degrees). As the frame is not flipped automatically by the system, the scan line direction is set to BottomToTop for front-facing cameras to achieve compatibility with other platforms. Task-number: QTBUG-41066 Change-Id: Icf17ecd4aca9fa9d5b24d94e5b21b63ee6f21f28 Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com> Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
* OpenSL ES: volume support for QAudioInput.Yoann Lopes2014-12-032-5/+17
| | | | | | | | | The OpenSL volume interface is not available for audio inputs on Android so we apply the volume ourselves on the PCM data. Task-number: QTBUG-42159 Change-Id: If43d8aa576bc70a925681f0db1ca8b40e71f7b29 Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
* Remove unused private membersThiago Macieira2014-11-252-2/+0
| | | | | | | | | | | | | One is not used, the others are not even initialized, so don't use the memory. qsoundeffect_pulse_p.h:172:20: warning: private field 'm_resourceStatus' is not used [-Wunused-private-field] qvideowidget_p.h:211:25: warning: private field 'm_aspectRatioMode' is not used [-Wunused-private-field] qalsaaudioinput.h:156:22: warning: private field 'timestamp' is not used [-Wunused-private-field] qalsaaudiooutput.h:135:22: warning: private field 'timestamp' is not used [-Wunused-private-field] Change-Id: I7c9f50d57c4d29ee0dfd7dc086771d721cdb5b05 Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
* Fix bogus videonode plugin handlingv5.4.0-rc1Laszlo Agocs2014-11-183-3/+3
| | | | | | | | | | | | | | | | Each plugin must provide its own unique key. Otherwise we will only ever see one single plugin. Right now running on i.MX6 is often broken because the imx6 videonode plugin is not picked up since only the egl one is seen by the system. With the fix both plugins provide their own unique key so both become visible. Additionally, introduce a QT_VIDEONODE environment variable. This is useful to specify which plugin to use. This is necessary in case multiple custom videonode plugins support the same formats. Change-Id: Iaa1988f8436dcb938cb9a95e2e0d68a4e92e113c Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
* Check whether current context can be obtained when deleting textures.Friedemann Kleint2014-11-061-2/+6
| | | | | | | | Add a warning in that case. Task-number: QTBUG-41966 Change-Id: I491ee9e13c9504040ab789951656983a736d9203 Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
* OpenSL ES: improve buffer logicChristian Strømme2014-11-042-8/+27
| | | | | | | | | | | | | Don't use relaxed load and stores, we need to be stricter to avoid problems with high frequency re-fills of the buffer. If we don't enforce ordering we might end-up spending more time trying to acquire an open slot in the buffer. Updating processes bytes is also moved off the "OpenSL" thread. Added some comments for improved readability. Change-Id: Ie27965fc6bf4b8394081ae6419f4933522ada98e Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
* OpenSL ES: Don't store or return the adjusted volume level.Christian Strømme2014-11-042-4/+2
| | | | | | | | | | According to our own docs we should always return 1.0 (MAX) volume level if the device doesn't support setting the volume, which is the case for OpenSL ES on Android. Task-number: QTBUG-42159 Change-Id: I9144e9e2cd84cc80633c68c5d6fa32b8dbd0fcd5 Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
* WMF plugin: Initialize member variable m_stateDirty.Friedemann Kleint2014-10-311-0/+1
| | | | | | | | | Fix purify warning: [W] UMR: Uninitialized memory read in MFPlayerControl::refreshState(void) {1 occurrence} Task-number: QTBUG-41966 Change-Id: I1416f906dcc8c31a528ab7f09a258873fcfe9d1e Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
* Add QT_GSTREAMER_CAMERABIN_VIDEOSRC environment variable.Yoann Lopes2014-10-301-2/+34
| | | | | | | | | It can be used to set which video source element should be used by the camerabin. Change-Id: I8d1cd8c4ba6fe5a89817699f645b0997e713aaca Reviewed-by: Samuli Piippo <samuli.piippo@digia.com> Reviewed-by: Christian Stromme <christian.stromme@digia.com>
* Android: Use the new findClass() method.Christian Strømme2014-10-174-73/+60
| | | | | | | Avoid local caching. Change-Id: I1e30896da664c5a45c38c09412c16cb8ff70c5c7 Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
* Merge remote-tracking branch 'origin/5.3' into 5.4Frederik Gladhorn2014-10-142-7/+8
|\ | | | | | | Change-Id: I716fd3acb69e424047691069cd4a781f656d0487
| * QNX: Fix resetting video surface5.3Bernd Weimer2014-09-301-1/+1
| | | | | | | | | | | | | | | | | | If video surface object is set to 0, it must not be accessed to set a property on it. Task-number: QTBUG-40746 Change-Id: I1de0e5495918d3ea06706412fab15bf1af012f36 Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
| * WMF: Use media source only when it is initialized.David Schulz2014-09-301-5/+6
| | | | | | | | | | Change-Id: I0efcf6139d0b81194cf25383025f080f8656728c Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
| * WMF: Fix null ptr derefernce in MFPlayerSession.David Schulz2014-09-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Checking the sender of the mediaSourceReady signal to prevent accessing the incorrect source resolver. When the source resolver has finished the asynchronous operation and the source resolver gets recreated in the player at the same time in a different thread the signal mediaSourceReady still gets emitted from the old source resolver. The player assumes that the signal was emitted from the current source resolver and accesses the unresolved media source in the handleMediaSourceReady slot. Task-number: QTBUG-39980 Change-Id: Ic52f6918995aac250048d91f89c520cfea111bd0 Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
| * AVFoundation: fix build with iOS 8.0 SDK.Yoann Lopes2014-09-291-1/+1
| | | | | | | | | | Change-Id: I9d9b97ad88631ba12a289f7575ca53386e592bd1 Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
* | GStreamer: fix QMediaRecorder::duration() when recording with a camerav5.4.0-beta1Yoann Lopes2014-10-031-6/+14
| | | | | | | | | | | | | | | | | | | | To get the recording duration, we were using the camerabin's position, which represents the time since it was started, not the time it's been recording to a file. We now retrieve the camerabin's filesink position. Change-Id: I68eeb25d1718666288655d22deea23e25de73b90 Reviewed-by: Andrew den Exter <andrew.den.exter@qinetic.com.au>
* | AVFoundation: fix media player video rendering in QML.Yoann Lopes2014-10-012-19/+4
| | | | | | | | | | | | | | | | | | The AVPlayerLayer was set on the QVideoRendererControl before its geometry was updated, causing the renderer control to display frames with an invalid size. Change-Id: I90e18dce69d4b48a3d7932d44a7eab4fd443f1fb Reviewed-by: Christian Stromme <christian.stromme@digia.com>
* | Merge "Merge remote-tracking branch 'origin/5.3' into 5.4" into refs/staging/5.4Sergio Ahumada2014-09-2614-40/+49
|\ \
| * | Merge remote-tracking branch 'origin/5.3' into 5.4Sergio Ahumada2014-09-2614-40/+49
| |\| | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf Change-Id: Iad73368a22c6d4662188e6f357a265d0c26756d0
| | * WMF: fix initializing of media player's volume.Nodir Temirkhodjaev2014-09-111-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | According to the docs, MESessionTopologyStatus with status == MF_TOPOSTATUS_READY should be the correct place for the GetService call. Change-Id: I7fdbedbe43b2191b35b95c7fd9c86940f58daff7 Reviewed-by: Wouter Huysentruit <wouter_huysentruit@hotmail.com> Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
| | * WMF: fix memory leaks.Nodir Temirkhodjaev2014-09-112-27/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Release requested interfaces. Task-number: QTBUG-32481 Change-Id: I846981f6a7a7ea77588b9322fc41e05e583bdb15 Reviewed-by: Wouter Huysentruit <wouter_huysentruit@hotmail.com> Reviewed-by: Alex Blasche <alexander.blasche@digia.com> Reviewed-by: Jeff Tranter <jtranter@ics.com> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
| | * WMF: fix start time of QAudioProbe's buffers.Yoann Lopes2014-09-091-0/+3
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-40954 Change-Id: Icd1d144dcff3a3191432722da44a263ca286dbb6 Reviewed-by: Christian Stromme <christian.stromme@digia.com>