Skip to content

Commit

Permalink
Add verson-based visibility of shairport-sync endpoints.
Browse files Browse the repository at this point in the history
This patch introduces modification to AirPlay attributes allowing
AirPlay clients seeing only appropriate Enpoints for specific version of
AirPlay protocol.

[Test]
Run to instances built for version 1 and version 2.

TuneBlade recognizes only AirPlay version 1 instance running.
MacOs/iOS recognizes only AirPlay version 2 instance running.

Without that patch, both iOS and TuneBlade can see two endpoints in the
same time.
  • Loading branch information
kuzhylol committed Mar 24, 2024
1 parent 165431a commit 3810fa0
Show file tree
Hide file tree
Showing 2 changed files with 3 additions and 5 deletions.
6 changes: 3 additions & 3 deletions mdns.h
Original file line number Diff line number Diff line change
Expand Up @@ -33,12 +33,12 @@ typedef struct {

/*
#define MDNS_RECORD_WITH_METADATA \
"tp=UDP", "sm=false", "ek=1", "et=0,1", "cn=0,1", "ch=2", METADATA_EXPRESSION, "ss=16", \
"tp=UDP", "sm=false", "ek=1", "et=0,1", "ch=2", METADATA_EXPRESSION, "ss=16", \
"sr=44100", "vn=3", "txtvers=1", config.password ? "pw=true" : "pw=false"
*/
#define MDNS_RECORD_WITH_METADATA \
"sf=0x4", "fv=76400.10", "am=ShairportSync", "vs=105.1", "tp=TCP,UDP", "vn=65537", \
METADATA_EXPRESSION, "ss=16", "sr=44100", "da=true", "sv=false", "et=0,1", "ek=1", "cn=0,1", \
METADATA_EXPRESSION, "ss=16", "sr=44100", "da=true", "sv=false", "et=0,1", "ek=1", \
"ch=2", "txtvers=1", config.password ? "pw=true" : "pw=false"

#endif
Expand All @@ -52,7 +52,7 @@ typedef struct {

#define MDNS_RECORD_WITHOUT_METADATA \
"sf=0x4", "fv=76400.10", "am=ShairportSync", "vs=105.1", "tp=TCP,UDP", "vn=65537", "ss=16", \
"sr=44100", "da=true", "sv=false", "et=0,1", "ek=1", "cn=0,1", "ch=2", "txtvers=1", \
"sr=44100", "da=true", "sv=false", "et=0,1", "ek=1", "ch=2", "txtvers=1", \
config.password ? "pw=true" : "pw=false"

#endif // _MDNS_H
2 changes: 0 additions & 2 deletions rtsp.c
Original file line number Diff line number Diff line change
Expand Up @@ -272,7 +272,6 @@ void build_bonjour_strings(__attribute((unused)) rtsp_conn_info *conn) {
pkString_make(pkString + strlen("pk="), sizeof(pkString) - strlen("pk="),
config.airplay_device_id);

txt_records[entry_number++] = "cn=0,1";
txt_records[entry_number++] = "da=true";
txt_records[entry_number++] = "et=0,1";
txt_records[entry_number++] = ap1_featuresString;
Expand Down Expand Up @@ -311,7 +310,6 @@ void build_bonjour_strings(__attribute((unused)) rtsp_conn_info *conn) {
txt_records[entry_number++] = "sv=false";
txt_records[entry_number++] = "et=0,1";
txt_records[entry_number++] = "ek=1";
txt_records[entry_number++] = "cn=0,1";
txt_records[entry_number++] = "ch=2";
txt_records[entry_number++] = "txtvers=1";
if (config.password == 0)
Expand Down

0 comments on commit 3810fa0

Please sign in to comment.