Age | Commit message (Collapse) | Author | Files | Lines |
|
We no longer fail if init() is called multiple times
(typical refresh case).
We now support a "seek?value=<seconds>" API.
Signed-off-by: Manuel Bachmann <manuel.bachmann@iot.bzh>
|
|
Change-Id: Iba9cb6ae3e18524a99cb82e521b4ca1aeec8d972
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
Reading stdin drives to problems when afb-daemon
is launched with its input either closed or
connected to /dev/null.
Conversely, launching afb-daemon with the option
--daemon is not always possible because it really
daemonizes itself what forbids to control it
or its group directly.
Change-Id: I182741226762110809e50d68154f5d29d133303b
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
Change-Id: Icea77134a93c643a39bd6fd1d19a7820f56fe230
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
Because setting smack requires capabilities, it is better
to let the system configure correctly afb-daemon context:
smack, capabilities, groups, user.
Change-Id: I49edffd38216e735b36b7e2c6c4554fbd8e98f37
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
The code was asking to disconnect from dbus even if not connected.
The library dbus aborts the program in that case. Ouch...
That is now taken into account and don't fail more.
Change-Id: I088ef547f6a415e0adb795ac2e64233fd45dc945
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
Media Plugin now supports a "upload?value=<file>" API.
Add Media Plugin requirements to README.md.
Signed-off-by: Manuel Bachmann <manuel.bachmann@iot.bzh>
|
|
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>
|