Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save elwertk/5851432 to your computer and use it in GitHub Desktop.
Save elwertk/5851432 to your computer and use it in GitHub Desktop.
[PATCH] Allow playback on non apple airplay devices
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
@ejurgensen
Copy link

Yes, I can confirm my very old APE does not report an AM value

@attunicity
Copy link

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?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment