diff options
author | Thierry Bultel <thierry.bultel@iot.bzh> | 2019-02-13 09:40:39 +0100 |
---|---|---|
committer | Jan-Simon Moeller <jsmoeller@linuxfoundation.org> | 2019-02-18 11:12:40 +0000 |
commit | 816e97ebc9aa0e6604898586c01762e61f6aaf16 (patch) | |
tree | b41a9c6f6d5de458c866dc1a5943f552a3999f8f /reference-boards/hal-4a-intel-minnow.json | |
parent | 005877c18ce07b4c982fbba40058a3707d2d1126 (diff) |
intel-minnow: fixes the bluetooth SCO with a optional mic.
This commit introduces several things.
The original need was to fix the bluetooth SCO that was
not working on the minnow board. The reason was that this
board only has audio output through HDMI, but no input,
thus the "talk to bluetooth" stream could not be created.
So:
1) Introduces support for an optional USB mono microphone
When the mic is not detected, only the "listen" stream is
created (so that it is possible for the user to listen to
his/her audio messages).
So in the "capture" section, a new boolean "optional"
parameter is added.
2) mono to stereo conversion is not something straightforward
It requires the usage of a dedicated zone, so that mono
channel is duplicated to both the right and left channel.
This is why a 'front-seats-mono' zone is added to the json file.
3) CPU load and write 'quirk'
After having faced problems of heavy CPU load and write errors
on the playback device, the way sound output is done in the
softmixer has been reworked, to conform to ALSA examples.
It relies on a classic "'poll" followed by a call to
"snd_pcm_poll_descriptors_revents" that demangles the events.
On the minnow board, that does not work. Spurious null events,
that should be ignored, -must- be taken in account on the minnow
PCH device, else next writes often issue an EPIPE error,
leading to clipped sound.
Thus here a quirk section is added to the json file, and the
only quirk is QUIRK_BOGUS_POLL_REVENTS_DEMANGLING.
In the softmixer, when that quirk is set on a device, null
events are no longer ignored.
This commit must be taken together with:
- The fix for PCM ioplug in bluez-alsa
- The needed changes in softmixer
Change-Id: Ide1605e5480d773e2681ff762e3ecf4c84718fde
Signed-off-by: Thierry Bultel <thierry.bultel@iot.bzh>
Diffstat (limited to 'reference-boards/hal-4a-intel-minnow.json')
-rw-r--r-- | reference-boards/hal-4a-intel-minnow.json | 39 |
1 files changed, 26 insertions, 13 deletions
diff --git a/reference-boards/hal-4a-intel-minnow.json b/reference-boards/hal-4a-intel-minnow.json index f4f716f..dc8ce89 100644 --- a/reference-boards/hal-4a-intel-minnow.json +++ b/reference-boards/hal-4a-intel-minnow.json @@ -15,9 +15,9 @@ "info": "Bluealsa hal plugin", "params": { "sco": { - "mic": "INTEL-MINNOW", - "zone": "full-stereo", - "delayms": 800 + "mic": "USB-MIC", + "zone": "front-seats-mono", + "delayms": 500 }, "a2dp": { "zone": "full-stereo", @@ -84,8 +84,9 @@ "cardid": "hw:PCH", "device": 3, "params": { - "rate": 48000 + "rate": 44100 }, + "quirks": [ "QUIRK_BOGUS_POLL_REVENTS_DEMANGLING" ], "sink": { "channels": [ { @@ -100,20 +101,17 @@ } }, "captures": { - "uid": "INTEL-MINNOW", - "path": "/dev/snd/by-path/pci-0000:00:1b.0", + "uid": "USB-MIC", + "cardid": "hw:Microphone", "params": { - "rate": 48000 + "rate": 8000 }, + "optional" : true, "source": { "channels": [ { - "uid": "mic-right", + "uid": "mic-mono", "port": 0 - }, - { - "uid": "mic-left", - "port": 1 } ] } @@ -144,7 +142,22 @@ "channel": 1 } ] - } + }, + { + "uid": "front-seats-mono", + "sink": [ + { + "target": "front-right", + "channel": 0, + "volume": 1.0 + }, + { + "target": "front-left", + "channel": 0, + "volume": 1.0 + } + ] + }, ], "streams": [ { |