summaryrefslogtreecommitdiffstats
path: root/src/plugins/coreaudio
Commit message (Collapse)AuthorAgeFilesLines
* Remove deprecated QSysInfo APIs and dead code from macOS/iOS backendJake Petroules2016-09-231-84/+29
| | | | | | | Deployment targets are currently macOS 10.9 and iOS 7.0. Change-Id: I500a95c00eb3be6e693e38f0f2205941f7bc9601 Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
* Improve QAudioDeviceInfo::defaultDevice().Christian Stromme2016-05-204-43/+25
| | | | | | | | | | | | | | | | | | | 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.6' into 5.7Liang Qi2016-05-102-54/+11
|\ | | | | | | | | | | | | Conflicts: src/plugins/winrt/qwinrtcameracontrol.cpp Change-Id: I45d3042adf19577a72794610fa1c310cb22e26c4
| * 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>
* | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-03-071-4/+4
|\| | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/plugins/avfoundation/mediaplayer/mediaplayer.pro tests/auto/unit/qmediaserviceprovider/mockserviceplugin1/mockserviceplugin1.pro tests/auto/unit/qmediaserviceprovider/mockserviceplugin2/mockserviceplugin2.pro tests/auto/unit/qmediaserviceprovider/mockserviceplugin3/mockserviceplugin3.pro tests/auto/unit/qmediaserviceprovider/mockserviceplugin4/mockserviceplugin4.pro tests/auto/unit/qmediaserviceprovider/mockserviceplugin5/mockserviceplugin5.pro Change-Id: I5742596230dc510ba2a09eba624429bb67179194
| * consistently put {qt,qml}_{module,plugin} at the end of project filesOswald Buddenhagen2016-02-251-4/+4
| | | | | | | | | | | | | | | | this fixes static builds by ensuring that all dependencies are exported. Task-number: QTBUG-51071 Change-Id: I8e1554b648327ea2fb342b882ce8e439bd6f271d Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.6' into devLiang Qi2016-01-262-1/+5
|\| | | | | | | Change-Id: I2e4e9cca01d63ed0d1e7f71c7a58322390696036
| * CoreAudio: fix QAudioOutput state after resume().Yoann Lopes2016-01-192-1/+5
| | | | | | | | | | | | | | | | | | In push mode, the state must be IdleState after resume(), and only change to ActiveState once it receives some data. Task-number: QTBUG-50390 Change-Id: I4a38aa84a55e90d7a2db3e1d504674b2a688bbde Reviewed-by: Pasi Petäjäjärvi <pasi.petajajarvi@theqtcompany.com>
* | Updated license headersAntti Kokko2016-01-1912-168/+240
| | | | | | | | | | | | | | | | | | | | | | From Qt 5.7 -> LGPL v2.1 isn't an option anymore, see http://blog.qt.io/blog/2016/01/13/new-agreement-with-the-kde-free-qt-foundation/ Updated license headers to use new LGPL header instead of LGPL21 one (in those files which will be under LGPL v3) Change-Id: I324f65c61171f36641472964d095d72e452afb3a Reviewed-by: Jani Heikkinen <jani.heikkinen@theqtcompany.com> Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* | tvOS supportMike Krus2016-01-135-6/+10
|/ | | | | | | Builds, tested simple video playback Change-Id: I04e1da050c587cba3609107dc88a155a6949f2c3 Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
* Merge remote-tracking branch 'origin/5.4' into 5.5Liang Qi2015-04-151-29/+86
|\ | | | | | | | | | | | | | | Conflicts: src/multimedia/playback/playlistfileparser.cpp src/plugins/windowsaudio/qwindowsaudiodeviceinfo.cpp Change-Id: I52950def2b8283ae15797d05d4ead6a1256eba19
| * 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>
* | Update copyright headersAntti Kokko2015-02-1212-174/+126
|/ | | | | | | | | Qt copyrights are now in The Qt Company, so we could update the source code headers accordingly. In the same go we should also fix the links to point to qt.io. Change-Id: I1c6faa4f59f8eca54f01ef20941fa60161dd7872 Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
* Add necessary includes that were indirectThiago Macieira2014-09-105-0/+5
| | | | | | | qstringlist.h no longer includes qdatastream.h Change-Id: Iabc231741ab0d8c8edbb4f77a4c6fe45c6a98896 Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* Merge remote-tracking branch 'origin/5.3' into 5.4Frederik Gladhorn2014-09-011-2/+2
|\ | | | | | | | | | | | | | | | | Conflicts: src/gsttools/qgstreamervideoinputdevicecontrol.cpp src/plugins/gstreamer/camerabin/camerabinserviceplugin.cpp src/plugins/gstreamer/mediacapture/qgstreamercaptureserviceplugin.cpp Change-Id: Ic854589562d2deeaa0ebf75840cb8a2ee32e99de
| * CoreAudioOutput use timeout when waiting for render threadDyami Caliri2014-08-211-2/+2
| | | | | | | | | | | | | | | | | | | | On Snow Leopard (at least), changing the default audio device while audio is playing can cause CoreAudioOutput to freeze in audioThreadStop(). It seems that the OS stops calling renderCallback when the device changes, so audioThreadStop() waits forever. Change-Id: If7244cc50f12295ff91a979ef50e3bee1273affd Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* | Update license headers and add new license filesAntti Kokko2014-08-246-114/+66
|/ | | | | | | | | - Renamed LICENSE.LGPL to LICENSE.LGPLv21 - Added LICENSE.LGPLv3 & LICENSE.GPLv2 - Removed LICENSE.GPL Change-Id: Ied06887225df341064c12bcc14c259ae74116f2e Reviewed-by: Jani Heikkinen <jani.heikkinen@digia.com>
* CoreAudio: make sure audio stops playing when the device is muted.Yoann Lopes2014-07-161-2/+3
| | | | | | | | | | | | The audio session's category was set to Playback, which implies that audio is still audible even after setting the device to silent mode or locking the screen. This shouldn't be the default behavior. We now set it to Ambient, which preserves mixing with other apps but makes sure sound is turned off when it should. Task-number: QTBUG-39036 Change-Id: Ic36668d73f3179dc38b41023e380e15f8c8517e0 Reviewed-by: Christian Stromme <christian.stromme@digia.com>
* CoreAudio: fix supported channel count.Yoann Lopes2014-04-013-43/+6
| | | | | | | | | | | We were using the number of channels actually used by audio devices as the maximum channel count. This is wrong as CoreAudio can automatically split or merge channels in order to accommodate the device. We now assume all channel configurations are valid. Task-number: QTBUG-37956 Change-Id: Ia8e8bbea8543caa7fecda305be74a2953b92fd25 Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* CoreAudio: Mismatched new[]/delete in several places.Dyami Caliri2014-03-272-4/+4
| | | | | | | | | | The CoreAudio plugin code in QtMultimedia had several different places where an array was allocated with "new[]" and deleted with "delete". Fixed by deleting with "delete[]". Task-number: QTBUG-37861 Change-Id: Id85bc07a054ad161b0403cc0fe5c56ec5b41d4e3 Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* CoreAudio: Set default audio category to Playback on iOSAndy Nichols2014-03-073-1/+17
| | | | | | | | | | | | | This fixes the issue that when we use QSoundEffect we dont need to get permission to use the microphone. This was because we were defaulting to PlayAndRecord. Now we only switch to the PlayAndRecord category when we try and use an input device. [ChangeLog][QtMultimedia][iOS] Using QSoundEffect (or SoundEffect in QML) no longer requires permission to use the microphone. Change-Id: I94535215497a718005c280bfd84b428b4bf1b16a Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* CoreAudio: Use the real default audio device for QSoundEffectAndy Nichols2014-03-031-3/+8
| | | | | | | | | | | There is an assumption in QtMultimedia that the first audio device returned by QAudioDeviceInfo::availableDevices is the default device, so we must make an effor to make sure this is true. This commit should fix the issue on OS X. Task-number: QTBUG-36638 Change-Id: Id388d7218b465cb29d826f46ee825e982c5f7ffc Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* CoreAudio: Make it possible to set volume on of QAudioOutputAndy Nichols2014-03-031-3/+28
| | | | | | | | | | | | | | QAudioOutput::setVolume stopped working for CoreAudio when it was ported to live in it's own plugin. This was because it was not possible to set the volume of QAudioOutput in iOS. Now the functionality has been restored and added for iOS as well. For OS X we use the old method of setting the volume property of the AudioUnit. On iOS it is not possible to set the volume on a per AudioUnit basis, so we now manually modify the buffer contents (the same we do for QAudioInput already). Task-number: QTBUG-36756 Change-Id: I42b5892fe5534217043fa55e7b5b9a4ce824050d Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* CoreAudio: Allow more flexability when specifying SampleRatesAndy Nichols2014-03-031-3/+6
| | | | | | | | | | | | The available sample rates for a given device are the nominal sample rates reported by the device. It is possible to use other sample rates and CoreAudio will take care of the conversion. So what we will do is report what rates are available for a device, but not explicitly require those sample rates to have a valid format. Task-number: QTBUG-36265 Change-Id: Idbbdeacbb6bc1fe434bcd8dec519ad70d4ccd545 Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* CoreAudio: fix supported input and output channel count.Yoann Lopes2013-12-021-12/+13
| | | | | | | | | | | | Only the maximum number of channels was reported as being supported. We now report all possible configurations up to the maximum number of channels to be supported. Task-number: QTBUG-34639 Change-Id: Ib4c599ea8b772ebeaaca95137d24bac49dbd80d3 Reviewed-by: Christian Stromme <christian.stromme@digia.com> Reviewed-by: Ivan Romanov <drizt@land.ru> Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* CoreAudio: Create an audio plugin supporting iOS and OS XAndy Nichols2013-09-1914-0/+3786
This removes the Mac audio backend that was hardcoded into QtMultimedia and adds a new audio plugin using the CoreAudio API. Change-Id: Ib15291825f9452a3763e0eeb281d952deb0bad3d Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com> Reviewed-by: Christian Stromme <christian.stromme@digia.com> Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>