aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/alsa/alsa-api-streams.c
AgeCommit message (Collapse)AuthorFilesLines
2018-12-18streams: inherits parameters from sourcesandbox/tbultel/bluealsaThierry Bultel1-10/+17
The capture parameters of a stream must be the ones of the capture source. The number of channel must typically match the one of the source microphone, else the configuration fails Change-Id: Ie8d0d85a65cb4a94a8698d1015d730e3c2a8b6a5 Signed-off-by: Thierry Bultel <thierry.bultel@iot.bzh>
2018-12-18Add support for bluetooth telephonyThierry Bultel1-67/+212
This adds support for bluetooth telephony. A big rework in the softmixer internals has been mandatory, in order to support dynamic streams creation and deletions. Bluetooth telephony relies on the recent evolutions of bluez-alsa, the most important one being the support of HFP over Ofono. The softmixer opens PCM ioplugs provided by bluez-alsa. Bluetooth SCO needs 2 streams, one for listening and the other for talking. These streams are created upon requests sent by the hal-manager. The hal manager subscribes for bluez-alsa events and request the list of availalble transports. For each "attach" transaction verb, the softmixer maintains a list of the all created objects (sources, sinks, zones, ramps, streams, and more) Additionnally, it creates a new verb when the attach succeeds, that verb is typically something like "sco_XX:XX:XX:XX:XX:XX", and the only supported action at the present time is {"action":"remove"}, that performs all the cleanup of the registered objects. Change-Id: I1b119e6c079e60daf771e63c083a1ef33a39f379 Signed-off-by: Thierry Bultel <thierry.bultel@iot.bzh>
2018-11-08Fix the error string of attach actionsThierry Bultel1-3/+3
Fixes the "syntax-error" to something more explicit (SPEC-1906) Change-Id: I9d4c81ee1d62dcfb99799480c6dc910e2019a791 Signed-off-by: Thierry Bultel <thierry.bultel@iot.bzh>
2018-09-07fixed crash upon misconfiguration of capture/playback devicesThierry Bultel1-4/+5
The null pcmplug case was not correctly handled in various places. Also fixed some typos in the log Signed-off-by: Thierry Bultel <thierry.bultel@iot.bzh>
2018-08-31Added bluez sound playback supportThierry Bultel1-5/+23
This adds sound playback for incoming sound from connected bluetooth devices. In this version, the softmixer relies on a modified bluez-alsa version (https://github.com/iotbzh/bluez-alsa), that provides an ioplug PCM bluezalsa connection proxy. The softmixer api has a new verb to dynamically set the device to listen to: afb-client-demo ws://localhost:1234/api?token=\uuid=123 smixer bluezalsa_dev '{"interface":"hci0", "device":"F6:32:15:2A:80:70", "profile":"a2dp"}' In this way it is possible to switch from a bluezalsa audio source to another without any further configuration. For now, only interface hci0 is supported. This commit also migrates the softmixer binding to API v3 Signed-off-by: Thierry Bultel <thierry.bultel@iot.bzh>
2018-07-11stops the read/write loop when the stream is mutedThierry Bultel1-4/+8
when the stream is muted (due to the configuration, or due to a HAL request), the read/write loop is stopped. The benefit is that muting will work with capture devices that do not implement the mute in their driver. The inconvenient of stopping the read loop is that it has made appear an unexpected side-effect: the poll on capture does not trig for further incoming frames. The workaround is to completely close, then reopen and configure the capture PCM. Signed-off-by: Thierry Bultel <thierry.bultel@iot.bzh>
2018-06-22plugins: code & log cleanupThierry Bultel1-7/+7
2018-06-22alsa-api-streams: code & log cleanupThierry Bultel1-27/+103
Signed-off-by: Thierry Bultel <thierry.bultel@iot.bzh>
2018-06-13Replace verb prefix separatorJonathan Aillet1-2/+2
When adding a stream , instead of using a ':' to separate prefix and verb, use a '#'. Change-Id: I2cbb467a85c52dddd4714cfe644dcdf3a35df5d3 Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
2018-06-11Fixed latest commitThierry Bultel1-2/+2
Wrong test on asprintf return code broke the app Signed-off-by: Thierry Bultel <thierry.bultel@iot.bzh>
2018-06-11Fixed compilation warning with _FORTIFY_SOURCE=2Thierry Bultel1-16/+33
Signed-off-by: Thierry Bultel <thierry.bultel@iot.bzh>
2018-06-11Remove yocto compilation errorsJonathan Aillet1-1/+1
Remove yocto compilation errors concerning : - An unitialized variable in 'alsa-api-pcm.c' - A wrong use of asprintf in 'alsa-api-streams.c' Change-Id: I170993d060a7a1d1a1c20979da0645c5ef2b1b91 Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
2018-06-11Autorize direct zone to point on sndcardfulup1-7/+31
2018-06-10Cleanup and added return of previous volume when setting new valuefulup1-33/+69
2018-06-06Move PCM write to synchronous write to remove XRUNfulup1-2/+2
2018-06-06Fixed the MixerInfoAction replyThierry Bultel1-2/+1
Make it robust to empty source, and set the source when input is a direct capture device. Signed-off-by: Thierry Bultel <thierry.bultel@iot.bzh>
2018-06-05Use attach info verb to build attach response.fulup1-42/+16
2018-06-05Update info command and move HTML5 to new APIfulup1-18/+29
2018-06-04Fixed json parsing format errorsThierry Bultel1-2/+3
The expected format did not match the parameters Signed-off-by: Thierry Bultel <thierry.bultel@iot.bzh>
2018-06-04Move to Dynamic Mixer API (work in progress)Fulup Ar Foll1-237/+238
2018-05-18Added create/close mixer APIFulup Ar Foll1-26/+26
2018-05-18Implements volume rampingFulup Ar Foll1-74/+110
2018-05-18Added relative volume setting per audio-streamFulup Ar Foll1-31/+69
2018-05-17Implemented sub API for stream with volume/pause/toggle/...Fulup Ar Foll1-13/+25
2018-05-17Initial version with dynamic APIsFulup Ar Foll1-0/+340