Age | Commit message (Collapse) | Author | Files | Lines |
|
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>
|
|
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>
|
|
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>
|
|
Signed-off-by: Manuel Bachmann <manuel.bachmann@iot.bzh>
|
|
Mute status on Porter/Koelsch is reversed, take this
into account.
Signed-off-by: Manuel Bachmann <manuel.bachmann@iot.bzh>
|
|
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>
|
|
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>
|
|
We need the global handle in requests, and in the free
function.
Signed-off-by: Manuel Bachmann <manuel.bachmann@iot.bzh>
|
|
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
Signed-off-by: Manuel Bachmann <manuel.bachmann@iot.bzh>
|
|
Signed-off-by: Manuel Bachmann <manuel.bachmann@iot.bzh>
|
|
Signed-off-by: Manuel Bachmann <mbc@iot.bzh>
|
|
Signed-off-by: Manuel Bachmann <manuel.bachmann@iot.bzh>
|
|
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>
|