summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* 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>
| | * | Android: correctly use mutex for texture rendering.Yoann Lopes2016-05-091-0/+3
| | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | Some sections were not protected by the mutex, even though they should have been. An example of problem that could happen because of this was if the SurfaceTexture was reset while the render thread was rendering that texture. Change-Id: Ie95860fd4eb722bbac04cccc430cc1a8abf1df4d Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
| | * DirectShow: Invoke IGraphBuilder::AddSourceFilter() with local file name.Friedemann Kleint2016-05-031-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When possible, convert the URL to a local file name with native separators. The method seems to accept URLs with file scheme, but fails when passing UNC paths. Task-number: QTBUG-53114 Change-Id: Ib7418090080be8c1b8472e77541e686adaa3a18a Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
| | * GStreamer camerabin: return the proper camera sourceZhang Xingtao2016-04-283-7/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - return m_cameraSrc for function cameraSource() instead of m_videoSrc. m_videoSrc is not always assigned(default 0), it will crash on: if (g_object_class_find_property( G_OBJECT_GET_CLASS(m_session->cameraSource()), "exposure-mode")) { And as the function name says, it would be better to return the value m_cameraSrc. - make sure pointers are not NULL before using them. Change-Id: I8a56db34a805724b428409b87de7d072ee7bfa57 Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
| | * CoreAudio: use AudioComponent instead of deprecated Carbon ComponentDyami Caliri2016-04-272-54/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | OS X 10.11 generates a warning when the code uses the Carbon Component Manager to locate audio devices. The new AudioComponent interface has been available since 10.7. Change-Id: I46ecbcd62871ecc46ce3ebd9ea2a37a9e1342f41 Task-number: QTBUG-48828 Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
| | * QNX: Avoid reading frames faster than they're renderedDan Cape2016-04-275-247/+241
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The previous code would capture frames with a 60Hz timer into two pixmaps alternating pixmaps with each successive frame. Rendering was somewhat disconnected from this, if rendering was unable to occur at 60fps, multiple frames might be copied for each frame rendered. This meant that it might try copying a video frame into a pixmap that was currently being used by the GPU with bad effects. The primary effect being severe flicker on i.mx6 targets. The change is to ensure that we don't read the window data until we're just about to make use of it. This means we don't ever get ahead of ourselves and read the video window once for every frame rendered. The code has been significantly refactored. There is now a class that manages the pixmaps and egl images. This is created on demand and the images are created and destroyed when sizes change. Since this all now occurs in the proper thread, much of the nonsense of setting _q_GLThreadCallback to arrange a call from the render thread is avoided. Remove BlackBerry ifdefs that are no longer used. Change-Id: I4bf5efa4c39c8170e3f55499c167ee10e521e100 Reviewed-by: James McDonnell <jmcdonnell@qnx.com> Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
| | * Fix macro redefinition warningChristian Stromme2016-04-271-12/+7
| | | | | | | | | | | | | | | | | | | | | Don't re-define APIENTRY macros unconditionally on mac. Change-Id: I894f866da0ec0d6da76a62f01c24739be92d851f Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
| | * Fix unused variable warningChristian Stromme2016-04-261-2/+5
| | | | | | | | | | | | | | | | | | | | | - warning: unused variable 'm_renderer' [-Wunused-variable] Change-Id: Ie7d8ebe35a3ab0beb66cda3448595ed952f7dea4 Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
| | * Fix property attributes.Christian Stromme2016-04-261-5/+5
| | | | | | | | | | | | | | | | | | | | | A property can't be both constant and writable at the same time. Change-Id: Ie1f81fdf10eba7fe84f98f7c34f829cdac654e75 Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
| | * winrt: Disable camera deactivation automation in debug modeMaurice Kalinowski2016-04-221-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Camera control reacts to an application becoming inactive and turns off the camera. However, when debugging or watching internals inside an IDE this feature breaks the state of the application as the IDE gets focus and hence camera is turned off. Change-Id: I6f80476592c0faa32e9da11401f699c6211d226a Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
| | * winrt: Fix device watcher handlingMaurice Kalinowski2016-04-221-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When device watcher has been started it can have the enumerationComplete state in addition to started. Hence only start the watcher if none of those two states is present. This fixes an assert where starting an already started watcher failed. Change-Id: Idc3af256845f0993a26e8d186b499ef1c7e7dacc Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
| | * winrt: fix camera control after move to xaml threadMaurice Kalinowski2016-04-225-193/+230
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Camera control management has to happen inside the xaml thread, otherwise the behavior is undefined. This results in ie. the first capture not working due to synchronization issues. When (de-)activating the videoRenderer we have to switch to the UI thread first. In addition add focus for Windows 10 (Mobile), previously it was compiled for Windows Phone 8.1 only. On desktop this might return no focus mode to be supported, but API-wise this is available. Task-number: QTBUG-47803 Change-Id: I9b345ebc82502fc6e00aede43b9096893cd0ad53 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
| | * winrt: Add categorized logging to camera controlMaurice Kalinowski2016-04-223-0/+17
| | | | | | | | | | | | | | | | | | Change-Id: I6d823ac07950212d766905c9409469f2b1b84954 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
| | * winrt: Use ComPtr for better ref count trackingMaurice Kalinowski2016-04-223-4/+6
| | | | | | | | | | | | | | | | | | | | | Just forwarding the content of a ComPtr is potentially dangerous. Change-Id: I4f3dfa04a5844d299a5653e31a4a0d1e1b86f9b5 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
| | * AVFMediaAssetWriter - fix potential race condition(s)Timur Pocheptsov2016-04-214-109/+71
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1. m_writerQueue is now shared by recorder control and asset writer to ensure it lives long enough. 2. m_delegate->method() calls from async block can be dangerous, since by the time this block is actually executed, delegate can be deleted already. This fix uses Q_INVOKABLE and invokeMethod with QueuedConnection instead. 3. -finishWritingWithCompletionHandler: is async and when the block finally gets executed, lock and 'if aborted' test are still needed. 4. Simplify the logic and reduce locking. Change-Id: If23daf2fe22043244033427a7f6517a0fe3f23d1 Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
| | * AVFFoundation - fix a compilation error (iOS, XCode 7.3)Timur Pocheptsov2016-04-191-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | __weak previously was a simple noop, but now it ends up in a compilation error in non-ARC'ed source code ('declaration uses __weak, but ARC is disabled'). Task-number: QTBUG-52671 Change-Id: I574519f892ba1d5f71488c5cc26423d04d5e02cf Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
| | * ALSA: Call snd_pcm_drain() on suspendStephen Hurd2016-04-152-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The ALSA plugin previously didn't suspend the ALSA device when the ::suspend() method is called. This results in underrun errors when it's resumed. In ALSA, stopping a pcm doesn't close it, so the ALSA stop/start functions map to the QAudioInput suspend/resume functions. Change-Id: I2507065a1b7472af29eef70c531b9f6e8e5b3072 Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
| | * AVFoundation: fix switching to still image capture mode.Yoann Lopes2016-04-131-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | It would reset the active format on the capture device. The patch prevents that. Change-Id: I97c192c064bf3c6ed4ba1f8d78768196927819a7 Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
| | * AVFoundation: return correct viewfinder settings.Yoann Lopes2016-04-131-1/+6
| | | | | | | | | | | | | | | | | | | | | When the camera is unloaded, return the requested settings. Change-Id: If39e158cd8d0fd8d4bbd7cf6cd48226cdefc1272 Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
* | | Merge remote-tracking branch 'origin/5.7' into devLiang Qi2016-05-0611-35/+95
|\| | | | | | | | | | | Change-Id: I8027e798d85ae60dbcb4fbc8592e3992af7546d4
| * | Update QML revisions for CameraImageProcessingAlex Blasche2016-05-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | CameraImageProcessing uses two revisions these days. Updating the qmltypes file was missed when bumping the revision in one of the last commits. Change-Id: Ibb49d26c33ff4eea453839fb0ae87c9f0a9ad5b1 Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
| * | Do not pin Multimedia QML module versionAlex Blasche2016-05-032-2/+1
| | | | | | | | | | | | | | | | | | | | | The module always moves in sync with the Qt release version. Change-Id: Ib8800a450b7e4a76f73f953ec5fffd0dc829a400 Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
| * | DirectShow: Improve error handling.Friedemann Kleint2016-05-031-13/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | Retrieve COM error via struct _com_error and output a qWarning() whenever a QMediaPlayer::ResourceError occurs. Task-number: QTBUG-53114 Change-Id: I3eceafeade60dd35e6c570499cef6093b49d737d Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
| * | Update qmltypes for Qt MultimediaAlex Blasche2016-04-291-4/+43
| | | | | | | | | | | | | | | Change-Id: I4093645a5120c4aa15253afd978fe7e13f4fe114 Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
| * | Mark CameraImageProcessing's new brightness property with revision 2Alex Blasche2016-04-292-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | It was added in Qt 5.7 and the QML version should be adjusted accordingly. Change-Id: I227a63c240edbe8880612076899dc3db47dc47d0 Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
| * | Add new QDeclarativePlayList 5.7 items with new QML revisionAlex Blasche2016-04-292-4/+7
| | | | | | | | | | | | | | | Change-Id: I1f332230e34e04a304cbe6d9b6d4a4dceb70095b Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
| * | Add missing \since tag for brightness propertyAlex Blasche2016-04-291-0/+2
| | | | | | | | | | | | | | | | | | Change-Id: I804e5ea2bac65e48ddc32c8e60ea36e143b43fc0 Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com> Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
| * | Add missing implementation for QMediaPlaylist::moveMedia().Yoann Lopes2016-04-271-3/+9
| | | | | | | | | | | | | | | | | | | | | | | | QMediaNetworkPlaylistProvider, which is the default playlist provider, didn't have an implementation for that new function added in 5.7. Change-Id: I1ec8cdd60a1429addd47d0b37131f724e8d4b748 Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
| * | Fix unused variable warningChristian Stromme2016-04-201-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | Caused by a Q_D macro in QMediaNetworkPlaylistProvider::moveMedia(). - warning: unused variable 'd' [-Wunused-variable] Change-Id: I43518366153ddabc7a8401ee112abec78640b992 Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
| * | Remove the traces of the discontinued android-no-sdk platformv5.7.0-beta1Eirik Aavitsland2016-04-123-6/+4
| | | | | | | | | | | | | | | Change-Id: Ib9ba913543270e25e9c8deff492b98b0525c9219 Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>