3c4857dd0f66ccc5452ede2199da3ccada0b443a
[src/app-framework-binder.git] / doc / afb-plugins-overview.md
1 # Overview of plugins shipped with AFB-Daemon
2     Version: 1
3     Date:    30 May 2016
4     Author:  Manuel Bachmann
5
6 ## List of plugins
7   Here are the plugins shipped in the source tree:
8  * Audio _(2 backends: ALSA/PulseAudio)_
9  * Radio _(1 backend: RTLSDR RTL2832U)_
10  * Media _(1 backend: Rygel UPnP)_
11
12 All plugins may not be built, depending on the development libraries present on the system at build time.
13
14 ## Detail of plugins
15
16  ### Audio
17
18 A sample Audio plugin with 2 backends:
19  * ALSA (mandatory)
20  * PulseAudio (optional)
21
22 _(if PulseAudio development libraries are not found at build time, only ALSA will be available)_
23
24 _(if a PulseAudio server is not found at runtime, the plugin will dynamically fall back to ALSA)_
25
26 _(a specifc backend can be forced by using this syntax before running afb-daemon : **$ export AFB_AUDIO_OUTPUT=Alsa**)_
27
28 This plugin is able to initialize a specific soundcard, define volume levels, channels (mono/stereo...), mute sound, and play a 22,050 Hz PCM stream.
29
30 Sample applications: **[afb-radio](https://github.com/iotbzh/afb-radio)**
31
32  ### Radio
33
34 A sample AM/FM Radio plugin with 1 backend:
35  * RTLSDR - Realtek RTL2832U dongles (mandatory)
36
37 _(if rtlsdr development libraries are not found at build time, this plugin will not be built)_
38
39 This plugin is able to initialize specific RTL2832U dongles, switch between AM/FM modes, define frequency, mute sound, and play sound (by using the **audio** plugin).
40
41 Sample applications: **[afb-radio](https://github.com/iotbzh/afb-radio)**
42
43  ### Media
44
45 A sample Media Server plugin with 1 backend:
46  * Rygel
47
48 _(if GUPnP/GSSDP development libraries are not fund at build time, this plugin will not be built)_
49
50 This plugin is able to detect a local Rygel UPnP media server, list audio files, select an audio file for playback, play/pause/seek in this file, upload an audio file to the server.
51
52 Sample applications: **[afb-radio](https://github.com/iotbzh/afb-radio)**
53