]> git.ipfire.org Git - thirdparty/shairport-sync.git/blob - mdns.h
Update RELEASENOTES-DEVELOPMENT.md
[thirdparty/shairport-sync.git] / mdns.h
1 #ifndef _MDNS_H
2 #define _MDNS_H
3
4 #include "config.h"
5 #include "player.h"
6 #include <stdint.h>
7
8 extern int mdns_pid;
9
10 void mdns_unregister(void);
11 void mdns_register(char **txt_records, char **secondary_txt_records);
12 void mdns_update(char **txt_records, char **secondary_txt_records);
13 void mdns_dacp_monitor_start();
14 void mdns_dacp_monitor_stop(void);
15 void mdns_dacp_monitor_set_id(const char *dacp_id);
16
17 void mdns_ls_backends(void);
18
19 typedef struct {
20 char *name;
21 int (*mdns_register)(char *ap1name, char *ap2name, int port, char **txt_records,
22 char **secondary_txt_records);
23 int (*mdns_update)(char **txt_records, char **secondary_txt_records);
24 void (*mdns_unregister)(void);
25 void (*mdns_dacp_monitor_start)();
26 void (*mdns_dacp_monitor_set_id)(const char *);
27 void (*mdns_dacp_monitor_stop)();
28 } mdns_backend;
29
30 #ifdef CONFIG_METADATA
31
32 #define METADATA_EXPRESSION config.get_coverart ? "md=0,1,2" : "md=0,2"
33
34 /*
35 #define MDNS_RECORD_WITH_METADATA \
36 "tp=UDP", "sm=false", "ek=1", "et=0,1", "cn=0,1", "ch=2", METADATA_EXPRESSION, "ss=16", \
37 "sr=44100", "vn=3", "txtvers=1", config.password ? "pw=true" : "pw=false"
38 */
39 #define MDNS_RECORD_WITH_METADATA \
40 "sf=0x4", "fv=76400.10", "am=ShairportSync", "vs=105.1", "tp=TCP,UDP", "vn=65537", \
41 METADATA_EXPRESSION, "ss=16", "sr=44100", "da=true", "sv=false", "et=0,1", "ek=1", "cn=0,1", \
42 "ch=2", "txtvers=1", config.password ? "pw=true" : "pw=false"
43
44 #endif
45
46 /*
47 #define MDNS_RECORD_WITHOUT_METADATA \
48 "tp=UDP", "sm=false", "ek=1", "et=0,1", "cn=0,1", "ch=2", METADATA_EXPRESSION, "ss=16",
49 "sr=44100", "vn=3", \
50 "txtvers=1", config.password ? "pw=true" : "pw=false"
51 */
52
53 #define MDNS_RECORD_WITHOUT_METADATA \
54 "sf=0x4", "fv=76400.10", "am=ShairportSync", "vs=105.1", "tp=TCP,UDP", "vn=65537", "ss=16", \
55 "sr=44100", "da=true", "sv=false", "et=0,1", "ek=1", "cn=0,1", "ch=2", "txtvers=1", \
56 config.password ? "pw=true" : "pw=false"
57
58 #endif // _MDNS_H