summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2016-01-23afm-main-plugin: fix fatal error on initialisationJosé Bollo1-2/+2
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>
2016-01-22Implement Media Plugin upload API, update README.mdManuel Bachmann5-27/+215
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>
2016-01-21Add choose, play, pause, stop to Media PluginManuel Bachmann4-20/+420
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>
2016-01-20Fix Media Plugin content list APIManuel Bachmann4-8/+36
Listing content had various pointer-related issues. Signed-off-by: Manuel Bachmann <manuel.bachmann@iot.bzh>
2016-01-11Add Media PluginManuel Bachmann7-2/+362
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>
2016-01-11Update README.md (PulseAudio optional dependency)Manuel Bachmann1-1/+2
Signed-off-by: Manuel Bachmann <manuel.bachmann@iot.bzh>
2016-01-11Audio Plugin: add PulseAudio supportManuel Bachmann12-115/+703
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-07Update README.md (plugins, code sample)Manuel Bachmann1-43/+42
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>
2016-01-06Fix Audio/Radio reinitialization issueManuel Bachmann2-2/+4
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-30Fix Session CookieFulup Ar Foll1-2/+2
2015-12-30Fix Cookie Size [was to small]Fulup Ar Foll1-2/+2
2015-12-30Added EmptyPost handlingFulup Ar Foll2-6/+5
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-29removing netbeans private dataJosé Bollo8-480/+0
Change-Id: Icfc23e7086a8dbadcc8362a439282602488eac8b
2015-12-29Switch to unique token modelFulup Ar Foll3-5/+5
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-28Fix plugin loading logic, radio plugin loadingManuel Bachmann2-19/+20
We should not free() a dlopened pointer. Internal plugin handle was renamed, adapt radio plugin. Signed-off-by: Manuel Bachmann <manuel.bachmann@iot.bzh>
2015-12-24Fixed Client Session Context by PluginFulup Ar Foll7-11/+162
2015-12-23Implement --ldpaths=dir1:dir2:dir...Fulup Ar Foll5-63/+101
2015-12-23Add plugin handle into request, pass it to free callbackManuel Bachmann5-51/+48
We need the global handle in requests, and in the free function. Signed-off-by: Manuel Bachmann <manuel.bachmann@iot.bzh>
2015-12-23Merge origin/masterFulup Ar Foll3-5/+16
2015-12-23Restore Previous functionalities with a unique TokenFulup Ar Foll3-7/+19
2015-12-22New Session Model [compile but not tested]Fulup Ar Foll8-115/+98
2015-12-22afm-main: update adress and bug fixJosé Bollo3-5/+16
Change-Id: I01776950ddb1328957a8f59f7316aab1ad223f9a
2015-12-22Does not compileFulup Ar Foll5-38/+35
2015-12-22Merge origin/masterFulup Ar Foll6-18/+18
2015-12-22Fix Post with invalid pluginsFulup Ar Foll1-8/+12
2015-12-22Centralize dependencies, add D-Bus dep. to README.mdManuel Bachmann4-10/+5
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>
2015-12-22Improve plugin logic, pass plugins count to sessionManuel Bachmann2-8/+13
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>
2015-12-22Merge origin/masterFulup Ar Foll4-21/+68
2015-12-22Fix Post JSON bugFulup Ar Foll2-26/+104
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-22Fix "no plugins" detection, rename HelloWorld APIManuel Bachmann2-5/+12
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>
2015-12-21Fix naming issue with DBusJosé Bollo1-1/+1
Change-Id: I369b4905c7d53669a0ebd581759a2aa67ff6b9c6
2015-12-21Add plugin for the framework afm-mainJosé Bollo5-0/+873
Change-Id: Ib0bfba52aac8a60afc9a80a564202689e28b18ff
2015-12-21improved use of const qualifierJosé Bollo2-2/+2
Change-Id: I371bfb6fdbaec91c14c0f3e2f2a45952252f8e27
2015-12-21Export getFileUpload to helper-api.cFulup Ar Foll4-51/+48
2015-12-21Merge origin/masterFulup Ar Foll5-5/+21
2015-12-21Hack --plugins=pathFulup Ar Foll10-186/+277
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 Bachmann4-5/+8
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-21Fix HelloWorldFulup Ar Foll4-16/+84
2015-12-21FixeFulup Ar Foll4-65/+44
2015-12-21Switch to a plugin modelManuel Bachmann13-39/+95
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 Bachmann7-119/+200
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-21Post File Working in Most casesFulup Ar Foll7-126/+156
2015-12-20Fix frequency setting bug in Radio APIManuel Bachmann2-4/+6
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>
2015-12-18Fix bugs in Radio sequence, parameters, add ping/refreshManuel Bachmann2-43/+55
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 Bachmann12-102/+159
Signed-off-by: Manuel Bachmann <manuel.bachmann@iot.bzh>