Age | Commit message (Collapse) | Author | Files | Lines |
|
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>
|
|
>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>
|
|
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>
|
|
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>
|
|
Guard the ALSA backend against some undefined values,
error codes, and remove a memory leak.
Signed-off-by: Manuel Bachmann <manuel.bachmann@iot.bzh>
|
|
Change-Id: Idad84e88cd8c21d111ce7ed44340f6d2b0fccb37
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
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>
|
|
Change-Id: I0e41a0db778c69b5f5ce71115d495b2bb8b4cffe
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
Change-Id: I4ff7349b1a87f92a7d9f378c715054061f06df57
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
Radio and Media plugins are now ported to the new API
and build again.
Signed-off-by: Manuel Bachmann <manuel.bachmann@iot.bzh>
|
|
Audio plugin is now ported to new API and builds again.
Signed-off-by: Manuel Bachmann <manuel.bachmann@iot.bzh>
|
|
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
Signed-off-by: Manuel Bachmann <manuel.bachmann@iot.bzh>
|
|
Signed-off-by: Manuel Bachmann <manuel.bachmann@iot.bzh>
|
|
Volume bound check was always false.
Signed-off-by: Manuel Bachmann <manuel.bachmann@iot.bzh>
|
|
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>
|