summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'origin/5.7' into devEdward Welbourne2016-07-2139-604/+1705
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/plugins/directshow/player/directshowiosource.cpp One side disintermediated filling a vector; the other reduced it to one entry. src/plugins/directshow/player/directshowiosource.h One side renamed a member, the other added another adjacent to it. src/plugins/pulseaudio/qpulseaudioengine.h One side added a header, the other replaced the next with a different header. Change-Id: I3a031975f5af43ca39cca571f215c612f640b7d6
| * WASAPI: remove irrelevant TODOsYoann Lopes2016-07-072-2/+0
| | | | | | | | | | | | | | | | | | The final volume conversion API has changed. In any case, we don't need to convert the volume here; the Qt volume is linear and so is the volume expected by IAudioStreamVolume. Change-Id: I6065505735a6140843dcfefd8b2e0447fc83102d Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
| * Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-06-3037-607/+1695
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Blacklisted a few functions in tst_QAudioInput. Conflicts: .qmake.conf src/plugins/avfoundation/camera/avfcameracontrol.mm src/plugins/avfoundation/camera/avfcameraservice.h src/plugins/avfoundation/camera/avfcameraservice.mm src/plugins/avfoundation/camera/avfcamerasession.h src/plugins/avfoundation/camera/avfcamerasession.mm src/plugins/avfoundation/camera/avfcameraviewfindersettingscontrol.h src/plugins/avfoundation/camera/avfcameraviewfindersettingscontrol.mm src/plugins/avfoundation/camera/avfimagecapturecontrol.mm src/plugins/avfoundation/camera/avfimageencodercontrol.mm src/plugins/avfoundation/camera/avfmediarecordercontrol.h src/plugins/avfoundation/camera/avfmediarecordercontrol.mm tests/auto/integration/qaudioinput/BLACKLIST Task-number: QTBUG-54459 Task-number: QTBUG-49736 Change-Id: I3a1fe8cef50b44d5c2785aaf4cf69fe3f16728e6
| | * Fix use of -ESTRPIPE where it's not available in errnoRalf Nolden2016-06-292-3/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | NetBSD does not have -ESTRPIPE, so use it only when defined. http://netbsd.gw.com/cgi-bin/man-cgi?errno+2+NetBSD-6.0 and https://mail-index.netbsd.org/pkgsrc-wip-discuss/2013/10/27/msg002529.html Change-Id: I92921a16fcae95f58a870aea98ca66f5a5d30a12 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
| | * PulseAudio: keep device list up to date.Yoann Lopes2016-06-202-24/+103
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The list of devices was cached on startup and was never updated when a device was plugged, unplugged or if the default device changed. We now use the event subscription mechanism in PulseAudio to get notified of these changes and update the list accordingly. Change-Id: I5fe1c81494702aa9d38b91009621629dc9606323 Reviewed-by: Karim Pinter <karim.pinter@theqtcompany.com> Reviewed-by: Christian Stromme <christian.stromme@qt.io>
| | * AVFoundation: improve changing the capture device format.Yoann Lopes2016-06-145-43/+74
| | | | | | | | | | | | | | | | | | | | | | | | | | | Make sure the device format is always set in the same way. We don't actually set the format anymore when it's the same as the current one. We also make sure the frame rate is preserved. Change-Id: I1c68239bc99d9c3cef920effcf47fc253220c26f Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
| | * AVFoundation: re-apply viewfinder settings on mode changes.Yoann Lopes2016-06-135-10/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | Since the active viewfinder resolution can be overridden by the image and video capture resolutions, we need to re-evaluate the viewfinder settings whenever the capture mode changes. Change-Id: Ibdb7a070585cf67ebb2fcfb95ccbdd105f5f41cf Reviewed-by: Christian Stromme <christian.stromme@qt.io>
| | * AVFoundation: fix orientation of recorded videos.Yoann Lopes2016-06-134-4/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make sure the video is recorded in the same orientation as the device. That means the top of the video matches the physical side of the device which is on top when starting recording. This patch makes sure the behavior is the same as on Android. In a future version, we should have an API to pick the desired orientation of the recorded video. Change-Id: Ia8bbfe621a0e54de3cb6bfe0a520f37e8a932539 Reviewed-by: Christian Stromme <christian.stromme@qt.io>
| | * AVFoundation: implement QAudioEncoderSettings.Yoann Lopes2016-06-0910-23/+346
| | | | | | | | | | | | | | | | | | Change-Id: I24d3da1417142bc80bc6b6c1c8124c246afe03db Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com> Reviewed-by: Christian Stromme <christian.stromme@qt.io>
| | * AVFoundation: implement QMediaContainerControl.Yoann Lopes2016-06-098-5/+193
| | | | | | | | | | | | | | | Change-Id: I5097a0450f5836e48a697249619a1822775f3ad8 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
| | * Merge remote-tracking branch 'origin/5.6.1' into 5.6Liang Qi2016-06-091-6/+9
| | |\ | | | | | | | | | | | | Change-Id: I0b4fde2a47b428fd04012a8dbec16fd14797b8dd
| | * | winrt: Fix synchronization problems to render threadMaurice Kalinowski2016-06-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QWinRTAbstractVideoRendererControl::setActive was using QThread::requestInterrupt previously to indicate to the render thread that it is supposed to quit. However, when switching cameras you cannot tell the render thread to continue rendering. Instead start() is called and then the render thread recognized the previous interrupt request, resulting in a quit and no further rendering happening. Instead we wait for the render thread to complete by using shutdown(). Task-number: QTBUG-53722 Change-Id: Ibee2ed4f64400ca14c788984a73df4be0653ed2b Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
| | * | winrt: Add logging to QWinRTAbstractVideoRendererControlMaurice Kalinowski2016-06-081-0/+9
| | | | | | | | | | | | | | | | | | | | Change-Id: I44620b8513fdf20ebc0e093368044133eabdd6b3 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
| | * | Android: Fix crash in AndroidCamere::open()Christian Strømme2016-06-031-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We would attempt to delete the AndroidCameraPrivate object twice if the native call to open failed. On recent version of Android (~6.0), this problem is harder to reproduce, as the camera is properly released when the application goes into the background. Task-number: QTBUG-53536 Change-Id: I064d276f9025924dfdb071aa52311d2b553c6953 Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
| | * | QCameraPrivate: NULL-fill fields to be set up by init().Edward Welbourne2016-06-031-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | c.f. the constructor already doing the same for provider and the various fields populated by initControls(), which init() calls. Should be redundant (all QCamera constructors do invoke d->init() as soon as they've constructed d), but better safe than sorry. Calms Coverity (CID 22319). Change-Id: Ibf5d13bb1ef17be8e66fa14ed5617b700051c495 Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
| | * | ALSA: improve handling of default device.Yoann Lopes2016-06-034-109/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - "default" is a valid argument for snd_pcm_open(), let ALSA handle that case rather than using the first device in the list. - Don't add "default" in the list of available devices if there is already one. Change-Id: Icd41aa6677923a79faf6c90d0627eedd8700b91b Reviewed-by: Christian Stromme <christian.stromme@qt.io>
| | * | Android: flush the current video frame when the video output is reset.Yoann Lopes2016-06-031-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The texture renderer could end up in a situation where a frame could be scheduled to be rendered after the renderer was reset. Change-Id: Ie6b6c9d0b5f5851f14aa6eb5f8421196aff8c691 Reviewed-by: Christian Stromme <christian.stromme@qt.io>
| | * | AVFoundation: correctly set default frame rate on OSX.Yoann Lopes2016-06-031-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On OSX, it's not possible to reset the frame rate to the default value by passing kCMTimeInvalid, so just set the first value from the supported frame rates. Change-Id: I984101c2a95e13053228e56f19b353e716eb2b67 Reviewed-by: Christian Stromme <christian.stromme@qt.io>
| | * | AVFoundation: implement QVideoEncoderSettingsControl.Yoann Lopes2016-06-0316-258/+781
| | | | | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-40338 Change-Id: Ic23dabaad94d7b293019460710ae1a097002e227 Reviewed-by: Christian Stromme <christian.stromme@qt.io>
| | * | winrt: focus action has to happen in the xaml threadMaurice Kalinowski2016-05-311-39/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Otherwise it will cause asserts and/or crashes. Change-Id: If8af4202395ae573b280744343dd853346a8c160 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
| | * | DirectShow: fix playing resource files.Yoann Lopes2016-05-202-133/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Our custom filter that streams the data into the pipeline was incorrectly negotiating the sample type with the downstream filter. This also fixes playback when passing a QIODevice to QMediaPlayer. Task-number: QTBUG-46899 Change-Id: Iea8b8731d5404c416c8ed0d59cb61958b13b61b0 Reviewed-by: Christian Stromme <christian.stromme@qt.io>
| * | | Merge remote-tracking branch 'origin/5.7.0' into 5.7Liang Qi2016-06-161-6/+9
| |\ \ \ | | | | | | | | | | | | | | | Change-Id: I33bc33f979003302b66a57f34a4d64fcb8986d7d
| | * \ \ Merge remote-tracking branch 'origin/5.6.1' into 5.7.0Liang Qi2016-06-011-6/+9
| | |\ \ \ | | | | |/ | | | |/| | | | | | Change-Id: If59885e0d0780390705c69fa7520c6ccc179ef45
| | | * | winrt: Fix potential crash when querying for resolutionsv5.6.1-1v5.6.1Maurice Kalinowski2016-05-311-6/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | c84bdf63e4de16586eda3c45d5c3c3b2dc4fe089 introduced a potential crash on Windows Phone as querying for photo resolutions still might return video properties. As a result, querying for ImageEncodingProperties will fail and the function returns no resolution at all causing an assert later on. Instead of checking for the stream type passed to getMediaStreamResolutions we have to check for the property type of the list itself. Task-number: QTBUG-53714 Change-Id: I7bfc48ebf1fef4f9165135af604ce6c91a418438 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* | | | | DirectShow: refactor custom renderer filterYoann Lopes2016-07-0630-1371/+2324
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Refactor out some of the filter and pin logic into the DirectShowBaseFilter and DirectShowPin abstract classes. This will avoid code duplication when implementing the probe filter. The existing source filter (for qrc files) can also be refactored to use these abstract classes. Change-Id: Iaf141472dea82579ad085b3318624f9a57aa46d8 Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* | | | | Fix build when building with QT_NO_OPENGLAndy Nichols2016-06-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now that it is possible to build qtdeclarative when QT_NO_OPENGL is defined, it is no longer safe to assume qtHaveModule(quick) == OpenGL. So for the time being building of qtmultimediaquick tools is disabled when qt is built without opengl support, as the implementation depends on OpenGL currently. Change-Id: Iec76d25c5a86ee16674bf433c492585ad5f87988 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* | | | | Add config test for wasapi pluginMaurice Kalinowski2016-06-141-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The wasapi audio plugin can also be used on desktop versions of Windows. The support has been experimental so far and will now be enabled in case the SDK contains support for it. Unfortunately MinGW does not provide Microsoft::WRL::RuntimeClass and IActivateAudioInterfaceCompletionHandler, hence we need to disable the plugin currently for it. Change-Id: I2be6e99810d462507112465a2084a2d72c3c62f0 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
* | | | | DirectShow: fix media player volume.Yoann Lopes2016-06-141-16/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Qt volume was interpreted as a logarithmic factor but it should actually be linear. Change-Id: I0f3e742e934261742bd96f5e3ca3fb42f310864c Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* | | | | Add LogarithmicVolumeScale to VolumeScale enum.Yoann Lopes2016-06-145-20/+65
| | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I0b556b5f705825fc8c8135305bda4bc860ffbf14 Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* | | | | Merge remote-tracking branch 'origin/5.7' into devLiang Qi2016-06-1110-45/+519
|\| | | | | | | | | | | | | | | | | | | Change-Id: Iffd8d86489161c49a647cae77a31f5451b06cf4b
| * | | | Implement QCameraViewfinderSettingsControl2 interface for AndroidRuslan Baratov2016-06-0210-45/+519
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add class QAndroidViewfinderSettingsControl2 which implements QCameraViewfinderSettingsControl2 interface. This make next QCamera methods working on Android: * QCamera::setViewfinderSettings * QCamera::supportedViewfinderFrameRateRanges * QCamera::supportedViewfinderPixelFormats * QCamera::supportedViewfinderResolutions * QCamera::supportedViewfinderSettings * QCamera::viewfinderSettings Originally from: * https://github.com/headupinclouds/gatherer/issues/109 Change-Id: Ic43e434289a626691f01ed9832654fa9b0105c7d Reviewed-by: Ruslan Baratov <ruslan_baratov@yahoo.com> Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* | | | Android: fix media player volume.Yoann Lopes2016-06-091-12/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Qt expects a linear volume, so does Android. We don't need to do any conversion. Change-Id: I35acf0040aff0c6c0d812b4d11fe42a7a6a97ed0 Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* | | | OpenSL ES: use QAudio::convertVolume().Yoann Lopes2016-06-091-3/+1
| | | | | | | | | | | | | | | | | | | | Change-Id: Iba1c8c050162646a3cdbe75928a6ebd0a1b17e30 Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* | | | Fix out-of-date documentation for QAudioSystemPlugin.Yoann Lopes2016-06-031-16/+7
| | | | | | | | | | | | | | | | | | | | Change-Id: I0c186ae42a6f1ad0d2fde38544341741d4e8df6a Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* | | | Add new volume conversion API.Yoann Lopes2016-06-035-0/+201
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | All Qt Multimedia volume APIs expect a linear volume factor. However, UI volume controls should typically use a logarithmic or cubic scale to match how the human ear perceives loudness. The new helper function (C++ and QML) provides a way to do the conversion from one scale to another. Change-Id: If7795426b728ab0e8fd6635988dbc9be795e3e5e Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* | | | Remove mentioning of -audio-backend command line optionLars Knoll2016-05-311-6/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The option has not done anything for quite some time, let's get rid of it. Change-Id: I8863ae81b74f1065d0eb0dd95b8ce192a6cd6a51 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
* | | | Merge remote-tracking branch 'origin/5.7' into devLiang Qi2016-05-243-14/+26
|\| | | | | | | | | | | | | | | Change-Id: I5aedca14c2bd454de0c274eeca88d15b83ae07a5
| * | | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-05-193-14/+26
| |\ \ \ | | | |/ | | |/| | | | | Change-Id: Ib95ddbbc6e2b69663597cae045ec81eda6d12d58
| | * | Merge remote-tracking branch 'origin/5.6.1' into 5.6Liang Qi2016-05-192-12/+24
| | |\| | | | | | | | | | | | | Change-Id: Iaecbb5c4a33bf0eaffa4f1896bdc09751b1f04c4
| | | * Doc: Remove repository name from examplesinstallpathTopi Reinio2016-05-121-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Examples in binary packages now directly match the install path. Change-Id: Ic272c741ca0bb805dc50ce591ac0ea1d93f07944 Task-number: QTBUG-52953 Reviewed-by: Antti Kokko <antti.kokko@qt.io>
| | | * Merge 5.6 into 5.6.1Oswald Buddenhagen2016-05-126-14/+68
| | | |\ | | | | | | | | | | | | | | | Change-Id: Ib4a7640e12319d78ea5ae8f58d79c9fab8d0ea60
| | | * | winrt: Fix crash when initializing certain camerasMaurice Kalinowski2016-05-111-9/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some cameras return video properties when querying for MediaStreamType_Photo, ie. Surface Book. This caused an assert. Instead when asking for photo resolutions, only query the available image resolutions and skip results not of type image. Change-Id: Ia1886a11f47676d6713eec86f3a80c664871a968 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
| | * | | Make qtmultimedia 5.6 branch compile without c++11:nullptr usageRalf Nolden2016-05-171-1/+1
| | | |/ | | |/| | | | | | | | | | | | | | | | | | | | | | | | | 5.6 should not require c++11 features, however, nullptr slipped in here. Replace nullptr with Q_NULLPTR for initialization. Change-Id: Icf62618657b5bb725bd4c8f924853fa191f6e413 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
| | * | winrt: Only set focus if supportedMaurice Kalinowski2016-05-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Change-Id: Ic6dc2eb6acbd0f5167aa4bad9af08ce8aa5a456b Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* | | | Improve QAudioDeviceInfo::defaultDevice().Christian Stromme2016-05-2032-161/+264
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The previous implementation of QAudioDeviceInfo::defaultXDevice() would always report the first available device as the "default" one, making the order, in which devices were listed, a hidden requirement when implementing audio plugins. To make it easier and more reliable to retrieve the default device, all new plugins should implement the new QAudioSystemPluginExtension interface as well as the QAudioSystemPlugin. Devices will be chosen in the following order (first match wins): default plugin -> default device -> first available device plugins -> default device -> first available device Task-number: QTBUG-51292 Change-Id: I8ace78858976fe7c60a2c4a117ef15c4e1bb177f Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
* | | | Merge remote-tracking branch 'origin/5.7' into devLiang Qi2016-05-1333-650/+701
|\| | | | | | | | | | | | | | | Change-Id: I773db005bbdc511169917ee35eb5b517e898926b
| * | | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-05-1033-650/+701
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/plugins/winrt/qwinrtcameracontrol.cpp Change-Id: I45d3042adf19577a72794610fa1c310cb22e26c4
| | * | Android: improve texture rendering on API level >= 16.Yoann Lopes2016-05-104-13/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Android API level 16 added SurfaceTexture::attachToGLContext(). This allows to create the OpenGL texture when the first video frame is available, rather than at initialization. This means we can do without the ugly hack that makes the render thread call us back through some custom property. Additionally, it allows to recreate a new OpenGL texture every time the SurfaceTexture is reset. Task-number: QTBUG-51911 Change-Id: I17b04524d426c42ef8aa0288b0731597bc9eba62 Reviewed-by: Christian Stromme <christian.stromme@qt.io>
| | * | Add FreeBSD define and include for <sys/types.h> where <linux/types.h> is usedRalf Nolden2016-05-091-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Compile fix: FreeBSD uses <sys/types.h> instead of the linux version <linux/types.h>, so this patch changes the include by Q_OS_FREEBSD define. Change-Id: Iafe18614ad2360dce9858039b22f9b6c2dd9caaa Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | * | Android: detect more error cases when rendering frames to textures.Yoann Lopes2016-05-091-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Don't render the frame if the SurfaceTexture has been released or if the render size is invalid. Change-Id: I6b8bf14e023ff54a560b0a9e6027ef9d7d06ab6a Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>