summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
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>
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>