aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/audio
AgeCommit message (Collapse)AuthorFilesLines
2016-05-30Fix PulseAudio backend crash with multiple cardsManuel Bachmann1-0/+1
With multiple sound cards, dynamic allocation may have been skipped.o Signed-off-by: Manuel Bachmann <manuel.bachmann@iot.bzh>
2016-05-30Fix PulseAudio refreshing, volume APIsManuel Bachmann1-8/+29
Refreshing PulseAudio info may have failed due to mainloops vanishing or conflicting. Volume values are now set/get as % values, as with the ALSA backend. Signed-off-by: Manuel Bachmann <manuel.bachmann@iot.bzh>
2016-05-27Improve Audio plugin PulseAudio backendManuel Bachmann1-4/+4
>100 return values are strangely returned by PulseAudio when doing an initial connection from afb-daemon. Just ignore them, because it breaks the logic. Allow 2 seconds of initial asynchronous connection (it should return earlier anyways). Signed-off-by: Manuel Bachmann <manuel.bachmann@iot.bzh>
2016-05-27Improve Audio plugin PulseAudio backendManuel Bachmann1-26/+38
Remove obvious errors from the PulseAudio backend. It does not work yet (permissions issues ?), and some parts of the code are still hardly self-explaining. Signed-off-by: Manuel Bachmann <manuel.bachmann@iot.bzh>
2016-05-23Fix Radio plugin linking, improve Radio codeManuel Bachmann1-1/+1
Radio plugin now links correctly again (-lm was missing). Fix Radio plugin logic for new API, guard against some undefined values. Signed-off-by: Manuel Bachmann <manuel.bachmann@iot.bzh>
2016-05-23Improve the Audio ALSA backendManuel Bachmann2-25/+61
Guard the ALSA backend against some undefined values, error codes, and remove a memory leak. Signed-off-by: Manuel Bachmann <manuel.bachmann@iot.bzh>
2016-05-18improves the build systemJosé Bollo3-4/+18
Change-Id: Idad84e88cd8c21d111ce7ed44340f6d2b0fccb37 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2016-05-17improves plugin interfaceJosé Bollo1-6/+8
This commit improves the names and the organisation of the plugin interface for the developpers. Change-Id: Iaf191efbf8fd5d248884304b648258f0770ec5f5 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2016-05-17provides developper filesJosé Bollo1-2/+2
Change-Id: I0e41a0db778c69b5f5ce71115d495b2bb8b4cffe Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2016-05-13cleaning copyrightsJosé Bollo4-4/+4
Change-Id: I4ff7349b1a87f92a7d9f378c715054061f06df57 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2016-05-11Update Radio plugin, Media pluginManuel Bachmann1-8/+4
Radio and Media plugins are now ported to the new API and build again. Signed-off-by: Manuel Bachmann <manuel.bachmann@iot.bzh>
2016-05-11Update Audio plugin, re-enable ALSA/Pulse linkingManuel Bachmann5-106/+123
Audio plugin is now ported to new API and builds again. Signed-off-by: Manuel Bachmann <manuel.bachmann@iot.bzh>
2016-04-18changing the license to apache 2José Bollo6-60/+54
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2016-04-05Audio plugin: re-enable PulseAudio backend buildManuel Bachmann4-12/+24
Signed-off-by: Manuel Bachmann <manuel.bachmann@iot.bzh>
2016-04-05Audio plugin: adapt to new API, re-enable buildManuel Bachmann5-86/+100
Signed-off-by: Manuel Bachmann <manuel.bachmann@iot.bzh>
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 Bachmann3-3/+15
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 Bachmann7-101/+692
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>
2016-01-05Fix set_mute in corner casesManuel Bachmann1-3/+5
Signed-off-by: Manuel Bachmann <manuel.bachmann@iot.bzh>
2015-12-29Fix mute status for Porter/KoelschManuel Bachmann1-3/+10
Mute status on Porter/Koelsch is reversed, take this into account. 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 Bachmann3-9/+27
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 Bachmann4-21/+68
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-21Fix Audio API on Renesas Porter/Koelsch boardsManuel Bachmann1-0/+13
Porter/Koelsch do not expose a standard "Master" playback mixer on their default interface, as it is common with desktop audio cards. Add a bit of discovery logic for this. Signed-off-by: Manuel Bachmann <manuel.bachmann@iot.bzh>
2015-12-21Fix Radio and Audio plugin symbolsManuel Bachmann1-2/+2
radio-api/audio-api.so were not valid, because they were not linked correctly with librtlsdr/ALSA. Signed-off-by: Manuel Bachmann <manuel.bachmann@iot.bzh>
2015-12-21Switch to a plugin modelManuel Bachmann2-1/+11
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 Bachmann4-100/+186
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 Bachmann4-86/+88
Signed-off-by: Manuel Bachmann <manuel.bachmann@iot.bzh>
2015-12-17Fix Audio API runtimeManuel Bachmann2-3/+3
Signed-off-by: Manuel Bachmann <manuel.bachmann@iot.bzh>
2015-12-17Finalize Audio pluginManuel Bachmann4-13/+275
Signed-off-by: Manuel Bachmann <mbc@iot.bzh>
2015-12-16Initial Audio pluginManuel Bachmann4-18/+176
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>