summaryrefslogtreecommitdiffstats
path: root/plugins/audio/audio-api.c
AgeCommit message (Collapse)AuthorFilesLines
2016-02-23Fix horrendously wrong Volume check in Audio pluginManuel Bachmann1-1/+1
Volume bound check was always false. Signed-off-by: Manuel Bachmann <manuel.bachmann@iot.bzh>
2016-02-17Audio plugin: choose between Pulse/ALSA at runtimeManuel Bachmann1-3/+11
If the AFB_AUDIO_OUTPUT environment variable is defined to "Pulse/Alsa", it will try to initialize the given backend (still falling back to Alsa for now). Signed-off-by: Manuel Bachmann <manuel.bachmann@iot.bzh>
2016-01-11Audio Plugin: add PulseAudio supportManuel Bachmann1-16/+97
If PulseAudio development libraries are present, Audio plugin will now support it. It may still fall back to ALSA if a PulseAudio server is not found at runtime. PulseAudio backend supports multiple clients using one audio adapter. (+ various fixes and style improvements) Signed-off-by: Manuel Bachmann <manuel.bachmann@iot.bzh>
2016-01-06Fix Audio/Radio reinitialization issueManuel Bachmann1-1/+2
Audio and Radio plugins init() functions were re-creating a new client context each time, but it is actually unwanted as afb-radio <TokenRefresh> widgets uses this function to initialize AND refresh the context. Signed-off-by: Manuel Bachmann <manuel.bachmann@iot.bzh>
2015-12-29Switch to unique token modelFulup Ar Foll1-2/+2
Token/Session Plugin is now able to issue a globally-valid token (re-useable with all Plugins, so that an application using multiple plugins is not forced to manage multiple tokens anymore). Adapt Audio & Radio Plugins to this model (init functions do not create a token anymore, check for a prior existing one). Signed-off-by: Manuel Bachmann <manuel.bachmann@iot.bzh> Author: Fulup Ar Foll <fulup@iot.bzh> Author: Manuel Bachmann <manuel.bachmann@iot.bzh>
2015-12-28Fix Audio plugin loading, mute on Porter/KoelschManuel Bachmann1-2/+1
Audio plugin was crashing due to new client context model misuse. Muting/demuting sound did fail on Porter/Koelsch boards, because their audio cards do not obey standards found on desktop systems. Signed-off-by: Manuel Bachmann <manuel.bachmann@iot.bzh>
2015-12-23Add plugin handle into request, pass it to free callbackManuel Bachmann1-1/+1
We need the global handle in requests, and in the free function. Signed-off-by: Manuel Bachmann <manuel.bachmann@iot.bzh>
2015-12-22New Session Model [compile but not tested]Fulup Ar Foll1-23/+10
2015-12-22Audio API: manage multiple-channel volumeManuel Bachmann1-10/+35
You can now set the volume for multiple channels independantly by using the "value=<1>,<2>..." syntax. Signed-off-by: Manuel Bachmann <manuel.bachmann@iot.bzh>
2015-12-21Switch to a plugin modelManuel Bachmann1-1/+1
Each API now compiles to a ".so" file, which gets searched for in the "${libdir}/afb" directory at startup. We can now load an arbitrary number of plugins (> 10). Signed-off-by: Manuel Bachmann <manuel.bachmann@iot.bzh>
2015-12-21Untie Radio and Audio APIsManuel Bachmann1-38/+72
Radio and Audio API functions do not cross-call themselves directly anymore ; this is necessary to have independent plugin binaries (.so) in the near future. (PS : audio buffer securization is WIP) Signed-off-by: Manuel Bachmann <manuel.bachmann@iot.bzh>
2015-12-18Fix bugs in Radio sequence, parameters, add ping/refreshManuel Bachmann1-3/+10
Fixed the following : - in some cases, powering off a playing radio would block ; - Radio API "mode" should be "AM/FM", not "true/false". Radio and Audio APIs now have dedicated functions to ping status and refresh a session token. Signed-off-by: Manuel Bachmann <manuel.bachmann@iot.bzh>
2015-12-17Final modifications for Radio-Audio API communicationManuel Bachmann1-32/+32
Signed-off-by: Manuel Bachmann <manuel.bachmann@iot.bzh>
2015-12-17Fix Audio API runtimeManuel Bachmann1-1/+1
Signed-off-by: Manuel Bachmann <manuel.bachmann@iot.bzh>
2015-12-17Finalize Audio pluginManuel Bachmann1-7/+119
Signed-off-by: Manuel Bachmann <mbc@iot.bzh>
2015-12-16Initial Audio pluginManuel Bachmann1-18/+50
Signed-off-by: Manuel Bachmann <manuel.bachmann@iot.bzh>
2015-12-16New tree organization, update CMake req. to 2.8.8.Manuel Bachmann1-0/+51
Use CMake-2.8.8-specific feature to allow building the daemon from various source directories. Signed-off-by: Manuel Bachmann <manuel.bachmann@iot.bzh>