Commit Graph

8 Commits

Author SHA1 Message Date
Yoann Lopes
d2b54b360e CoreAudio: fix supported channel count.
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>
2014-04-01 13:43:13 +02:00
Dyami Caliri
5c09bba979 CoreAudio: Mismatched new[]/delete in several places.
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>
2014-03-27 18:01:09 +01:00
Andy Nichols
175bdda347 CoreAudio: Set default audio category to Playback on iOS
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>
2014-03-07 14:58:25 +01:00
Andy Nichols
8c9b6f67a7 CoreAudio: Use the real default audio device for QSoundEffect
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>
2014-03-03 16:45:38 +01:00
Andy Nichols
775914ffb2 CoreAudio: Make it possible to set volume on of QAudioOutput
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>
2014-03-03 15:55:00 +01:00
Andy Nichols
4d31ec0793 CoreAudio: Allow more flexability when specifying SampleRates
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>
2014-03-03 14:54:54 +01:00
Yoann Lopes
dd11f6d052 CoreAudio: fix supported input and output channel count.
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>
2013-12-02 14:34:18 +01:00
Andy Nichols
b357c55f2d CoreAudio: Create an audio plugin supporting iOS and OS X
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>
2013-09-19 14:36:28 +02:00