Age | Commit message (Collapse) | Author | Files | Lines |
|
We can now play/pause/stop a track after having chosen its
index number (default is 0).
Signed-off-by: Manuel Bachmann <manuel.bachmann@iot.bzh>
|
|
Listing content had various pointer-related issues.
Signed-off-by: Manuel Bachmann <manuel.bachmann@iot.bzh>
|
|
Add a Media Plugin, based off Rygel (UPnP), with only an
initialization and a "list" function for now.
Signed-off-by: Manuel Bachmann <manuel.bachmann@iot.bzh>
|
|
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>
|
|
Updated :
- plugins are now implemented ;
- data structures in code sample have changed ;
- various typos and style details.
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>
|
|
Change-Id: Icfc23e7086a8dbadcc8362a439282602488eac8b
|
|
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 should not free() a dlopened pointer.
Internal plugin handle was renamed, adapt radio plugin.
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>
|
|
|
|
|
|
|
|
Change-Id: I01776950ddb1328957a8f59f7316aab1ad223f9a
|
|
|
|
|
|
|
|
README.md now mentions D-Bus.
Checking dbus presence is now done at the same place as
json-c, libmicrohttpdd...
Signed-off-by: Manuel Bachmann <manuel.bachmann@iot.bzh>
|
|
We now pre-reserve for 20 plugins (arbitrary for now,
we downsize if necessary).
Plugins count is now passed to the session in the
"pluginCount" variable.
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>
|
|
afb-daemon now gracefully exits if no plugins are present.
HelloWorld's API has been renamed to "hello".
Signed-off-by: Manuel Bachmann <manuel.bachmann@iot.bzh>
|
|
Change-Id: I369b4905c7d53669a0ebd581759a2aa67ff6b9c6
|
|
Change-Id: Ib0bfba52aac8a60afc9a80a564202689e28b18ff
|
|
Change-Id: I371bfb6fdbaec91c14c0f3e2f2a45952252f8e27
|
|
|
|
|
|
|
|
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>
|
|
|
|
Passing floats between functions seems to cause problems...
not sure why ; anyway, fix this by using a double variable.
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>
|