Age | Commit message (Collapse) | Author | Files | Lines |
|
- Replace controller binder functions definition with the binder ones.
and remove the last used submodules to use the separated libraries.
- Add liburcu as a project dependency in addition to the others ones.
Bug-AGL: SPEC-2139
Change-Id: If46eed24018e28e58d1e62397f4355d2aa46a58e
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
Fixes most memory leaks in softmixer.
The concept of 'transaction' for dynamic streams has
been generalized to the objects created at startup.
The cleanup is done via a handle set through a atexit()
call.
Also added a missing strdup in alsa-api-loop, that fixes
a double free.
Warning, the bluez-alsa PCM are not closed in this
version. This is intentional due to a BUG in the
bluealsa ioplug PCM, that crashes upon close
(pthread_cancel is used to terminate the io_thread
and things get very bad. I have a pending fix for
that, relying on a cancellation pipe, but deeper
testing must be done).
As an effect, only one phone call can be made,
else 4a needs to be restarted
Change-Id: Idb84cafe15f17c0ef02fcc70296d541dc55a2dcf
Signed-off-by: Thierry Bultel <thierry.bultel@iot.bzh>
Signed-off-by: Stephane Desneux <stephane.desneux@iot.bzh>
|
|
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>
|
|
When a sound card has multiple devices, it is invalid to set
the slave name of the dmix as "hw:cardname" because alsa does
not know which device to use.
The fix consists in using the device number, when it is given.
Signed-off-by: Thierry Bultel <thierry.bultel@iot.bzh>
|
|
The value set was wrong, and attempting to bump
to an higher value later seems to be forbidden
by the alsalib (led to EINVAL when getting parameters
of PCM)
Signed-off-by: Thierry Bultel <thierry.bultel@iot.bzh>
|
|
|
|
Mixing with volume and mute per audio role works.
|
|
|
|
|
|
|