summaryrefslogtreecommitdiffstats
path: root/plugins
AgeCommit message (Collapse)AuthorFilesLines
2016-01-26Fix getPostFile() upload function, return bare JSON in listManuel Bachmann3-9/+19
getPostFile() does not fail anymore when creating a new folder (return value was incorrect). Media Plugin list API now directly returns JSON, with track list array indexed as "list". Signed-off-by: Manuel Bachmann <manuel.bachmann@iot.bzh>
2016-01-26Merge branch 'master' of github.com:iotbzh/afb-daemonFulup Ar Foll3-27/+246
2016-01-26Fixed Post File UploadFulup Ar Foll1-8/+4
2016-01-26afm-main: adds install/uninstallJosé Bollo3-27/+246
This commits introduces several evolutions. - the install and uninstall api are now available - some responses are embedded in objects - utils-jbus is updated to a more upstream version Change-Id: Ica37ae4b36e6ea0c7e824b730cc157040cdd77ce Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2016-01-26GetPostPath OngoingFulup Ar Foll1-1/+1
2016-01-25Media Plugin list API now returns a JSON objectManuel Bachmann1-5/+19
We now return a JSON object instead of an arbitrary string with the "list" API. Signed-off-by: Manuel Bachmann <manuel.bachmann@iot.bzh>
2016-01-25Fix Media Plugin refresh, add seek APIManuel Bachmann3-15/+62
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>
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 Bachmann3-25/+212
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 Bachmann6-0/+355
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-11Audio Plugin: add PulseAudio supportManuel Bachmann10-104/+693
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-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-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-29Switch to unique token modelFulup Ar Foll2-4/+4
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 Bachmann1-1/+1
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 Foll4-2/+153
2015-12-23Add plugin handle into request, pass it to free callbackManuel Bachmann2-25/+14
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 Foll1-1/+11
2015-12-22New Session Model [compile but not tested]Fulup Ar Foll3-34/+23
2015-12-22afm-main: update adress and bug fixJosé Bollo3-5/+16
Change-Id: I01776950ddb1328957a8f59f7316aab1ad223f9a
2015-12-22Centralize dependencies, add D-Bus dep. to README.mdManuel Bachmann2-8/+1
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-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 Bachmann1-1/+1
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-21Export getFileUpload to helper-api.cFulup Ar Foll1-9/+6
2015-12-21Merge origin/masterFulup Ar Foll5-5/+21
2015-12-21Hack --plugins=pathFulup Ar Foll2-104/+46
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-21FixeFulup Ar Foll1-1/+1
2015-12-21Switch to a plugin modelManuel Bachmann10-22/+49
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 Bachmann6-118/+197
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 Foll3-70/+111
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 Bachmann7-89/+107
Signed-off-by: Manuel Bachmann <manuel.bachmann@iot.bzh>
2015-12-17Fix Audio API runtimeManuel Bachmann2-3/+3
Signed-off-by: Manuel Bachmann <manuel.bachmann@iot.bzh>
2015-12-17Finalize Audio pluginManuel Bachmann8-15/+281
Signed-off-by: Manuel Bachmann <mbc@iot.bzh>
2015-12-17Remove Hashtable for session and cleanupFulup Ar Foll2-147/+4
2015-12-16Initial Audio pluginManuel Bachmann5-21/+181
Signed-off-by: Manuel Bachmann <manuel.bachmann@iot.bzh>
2015-12-16Fix radio plugin runtimeManuel Bachmann1-10/+17
Signed-off-by: Manuel Bachmann <manuel.bachmann@iot.bzh>
2015-12-16Fix plugins loading, cleanup and dispatch Radio API codeManuel Bachmann7-549/+627
Signed-off-by: Manuel Bachmann <manuel.bachmann@iot.bzh>
2015-12-16En courtFulup Ar Foll2-6/+6
2015-12-16Migrate Radio API to new modelManuel Bachmann1-146/+306
Signed-off-by: Manuel Bachmann <manuel.bachmann@iot.bzh>