Add full metadata and coverart support to the library
[deb_shairplay.git] / src / include / raop.h
CommitLineData
2340bcd3
JVH
1#ifndef RAOP_H
2#define RAOP_H
f21dfead
JVH
3
4#if defined (WIN32) && defined(DLL_EXPORT)
5# define RAOP_API __declspec(dllexport)
6#else
7# define RAOP_API
8#endif
9
2340bcd3
JVH
10#ifdef __cplusplus
11extern "C" {
12#endif
13
14typedef struct raop_s raop_t;
15
16struct raop_callbacks_s {
17 void* cls;
067f00ef 18 void* (*audio_init)(void *cls, int bits, int channels, int samplerate);
2340bcd3 19 void (*audio_set_volume)(void *cls, void *session, float volume);
b4cc5b07
JVH
20 void (*audio_set_metadata)(void *cls, void *session, const void *buffer, int buflen);
21 void (*audio_set_coverart)(void *cls, void *session, const void *buffer, int buflen);
2340bcd3
JVH
22 void (*audio_process)(void *cls, void *session, const void *buffer, int buflen);
23 void (*audio_flush)(void *cls, void *session);
24 void (*audio_destroy)(void *cls, void *session);
25};
26typedef struct raop_callbacks_s raop_callbacks_t;
27
f21dfead
JVH
28RAOP_API raop_t *raop_init(raop_callbacks_t *callbacks, const char *pemkey);
29RAOP_API raop_t *raop_init_from_keyfile(raop_callbacks_t *callbacks, const char *keyfile);
2340bcd3 30
5a746b97
JVH
31RAOP_API int raop_is_running(raop_t *raop);
32
e4169f77 33RAOP_API int raop_start(raop_t *raop, unsigned short *port, const char *hwaddr, int hwaddrlen, const char *password);
f21dfead 34RAOP_API void raop_stop(raop_t *raop);
2340bcd3 35
f21dfead 36RAOP_API void raop_destroy(raop_t *raop);
2340bcd3
JVH
37
38#ifdef __cplusplus
39}
40#endif
41#endif