-
-
Save elwertk/5851432 to your computer and use it in GitHub Desktop.
From 4e856af64086eaff6eb129e1daa42fc0ae4b1a18 Mon Sep 17 00:00:00 2001 | |
From: Kai Elwert <elwertk@googlemail.com> | |
Date: Mon, 24 Jun 2013 17:13:10 +0200 | |
Subject: [PATCH] Allow playback on non apple airplay devices | |
--- | |
src/player.c | 3 +++ | |
src/raop.c | 5 +++++ | |
src/raop.h | 1 + | |
3 files changed, 9 insertions(+) | |
diff --git a/src/player.c b/src/player.c | |
index 15bd3df..6718da1 100644 | |
--- a/src/player.c | |
+++ b/src/player.c | |
@@ -140,6 +140,7 @@ static const char *raop_devtype[] = | |
"AirPort Express 802.11g", | |
"AirPort Express 802.11n", | |
"AppleTV", | |
+ "Other", | |
}; | |
@@ -3719,6 +3720,8 @@ raop_device_cb(const char *name, const char *type, const char *domain, const cha | |
if (strncmp(p, "AppleTV", strlen("AppleTV")) == 0) | |
devtype = RAOP_DEV_APPLETV; | |
+ else | |
+ devtype = OTHER; | |
no_am: | |
DPRINTF(E_DBG, L_PLAYER, "AirTunes device %s: password: %s, type %s\n", name, (password) ? "yes" : "no", raop_devtype[devtype]); | |
diff --git a/src/raop.c b/src/raop.c | |
index adaff10..af82f32 100644 | |
--- a/src/raop.c | |
+++ b/src/raop.c | |
@@ -1844,6 +1844,11 @@ raop_session_make(struct raop_device *rd, int family, raop_status_cb cb) | |
rs->auth_quirk_itunes = 0; | |
rs->wants_metadata = 1; | |
break; | |
+ case OTHER: | |
+ rs->encrypt = 0; | |
+ rs->auth_quirk_itunes = 0; | |
+ rs->wants_metadata = 0; | |
+ break; | |
} | |
rs->ctrl = evrtsp_connection_new(address, port); | |
diff --git a/src/raop.h b/src/raop.h | |
index 5c240e1..a920668 100644 | |
--- a/src/raop.h | |
+++ b/src/raop.h | |
@@ -20,6 +20,7 @@ enum raop_devtype { | |
RAOP_DEV_APEX_80211G, | |
RAOP_DEV_APEX_80211N, | |
RAOP_DEV_APPLETV, | |
+ OTHER, | |
}; | |
struct raop_session; | |
-- | |
1.7.10.4 | |
According to this wiki article we have three Airport Express devices: http://en.wikipedia.org/wiki/AirPort_Express
I've got all three: the RAOP 'am' responses I find are:
M9470LL/A - 802.11g model - no 'am' response (firmware 6.3)
MB321LL/A - 802.11n Gen 1 model - 'am' response = "Airport4,107" (firmware 7.6.4)
MC414LL/A - 802.11n Gen 2 model - 'am' response = "Airport10,115" (firmware 7.6.4)
Apple TV Gen2 - 'am' response = "AppleTV2,1" (firmware v6.0)
The 'et', encryption type, responses are:
M9470LL/A - 802.11g model: 0,1
MB321LL/A - 802.11n Gen 1 model: 0,1
MC414LL/A - 802.11n Gen 2 model: 0,4 (as is my Denon Airplay device)
Airplay TV Gen 2: 0,3,5
Is it safe to assume that Apple's making the APX work like any other audio Airplay device?
Yes, I can confirm my very old APE does not report an AM value