summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Martin Szulecki2011-04-07 15:04:54 +0200
committerGravatar Martin Szulecki2011-04-07 15:04:54 +0200
commit3218ff200f946f517cfab9020001cd59319cd069 (patch)
treef1510db365f8d8ee2e4347ebeb62bea7beac6232
parentf740f4a270585c0375103f8c34416899a23c77bd (diff)
downloadtotem-plugin-airplay-3218ff200f946f517cfab9020001cd59319cd069.tar.gz
totem-plugin-airplay-3218ff200f946f517cfab9020001cd59319cd069.tar.bz2
Advertise deviceid, features and model in avahi service TXT data
-rw-r--r--AirPlayService.py7
1 files changed, 6 insertions, 1 deletions
diff --git a/AirPlayService.py b/AirPlayService.py
index 9e6ef3b..3c9557c 100644
--- a/AirPlayService.py
+++ b/AirPlayService.py
@@ -25,6 +25,7 @@ import platform
25import socket 25import socket
26import threading 26import threading
27import time 27import time
28import uuid
28from datetime import datetime, date 29from datetime import datetime, date
29from urlparse import urlparse 30from urlparse import urlparse
30from ZeroconfService import ZeroconfService 31from ZeroconfService import ZeroconfService
@@ -215,11 +216,15 @@ class AirPlayService(asyncore.dispatcher):
215 self.bind((host, port)) 216 self.bind((host, port))
216 self.listen(5) 217 self.listen(5)
217 self.remote_clients = [] 218 self.remote_clients = []
219 macstr = "%012X" % uuid.getnode()
220 self.deviceid = ''.join("%s:" % macstr[i:i+2] for i in range(0, len(macstr), 2))[:-1]
221 self.features = 0x07 # 0x77 on iOS 4.3.1
222 self.model = "AppleTV2,1"
218 223
219 # create avahi service 224 # create avahi service
220 if (name is None): 225 if (name is None):
221 name = "Airplay Service on " + platform.node() 226 name = "Airplay Service on " + platform.node()
222 self.zeroconf_service = ZeroconfService(name, port=port, stype="_airplay._tcp", text=["Name="+name]) 227 self.zeroconf_service = ZeroconfService(name, port=port, stype="_airplay._tcp", text=["deviceid="+self.deviceid,"features="+hex(self.features),"model="+self.model])
223 228
224 # publish avahi service 229 # publish avahi service
225 self.zeroconf_service.publish() 230 self.zeroconf_service.publish()