Skip to content

Commit

Permalink
Moved all specific to mirroring into subdir
Browse files Browse the repository at this point in the history
  • Loading branch information
tzwenn committed Feb 19, 2015
1 parent 72a8cae commit 92104ad
Show file tree
Hide file tree
Showing 6 changed files with 20 additions and 19 deletions.
14 changes: 11 additions & 3 deletions main.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,23 @@

import register
import threading
import server

import BaseHTTPServer

def runServer(port, handler):
try:
httpd = BaseHTTPServer.HTTPServer(('', port), handler)
httpd.serve_forever()
except KeyboardInterrupt:
pass

def main():
register_thread = threading.Thread(target=register.registerAirPlay)
register_thread.setDaemon(True)
register_thread.start()

import MirrorHandler
server.runServer(7100, MirrorHandler.MirrorHandler)
import mirror.service
runServer(7100, mirror.service.MirrorService)

if __name__ == "__main__":
import config
Expand Down
File renamed without changes.
File renamed without changes.
Empty file added mirror/__init__.py
Empty file.
17 changes: 9 additions & 8 deletions MirrorHandler.py → mirror/service.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,12 @@
import config
import h264decode
import AirPlayHandler
import Cryptor
import MirroringPacket
import FrameSink

class MirrorHandler(AirPlayHandler.AirPlayHandler):
import mirror.Packet
import mirror.Cryptor

class MirrorService(AirPlayHandler.AirPlayHandler):
server_version = "%s/%s" % (config.server_name, config.server_version)
protocol_version = "HTTP/1.1"
decoder_cls = h264decode.Decoder
Expand Down Expand Up @@ -41,10 +42,10 @@ def receiveStream(self):
if 'param1' in self.streamInfo and 'param2' in self.streamInfo:
aesKey = self.fply.decrypt(self.streamInfo['param1'])
aesIV = self.streamInfo['param2']
self.cryptor = Cryptor.Cryptor(aesKey, aesIV)
self.cryptor = mirror.Cryptor.Cryptor(aesKey, aesIV)
else:
self.log_message("Client doesn't want to encrypt stream. Skipping AES")
self.cryptor = Cryptor.EchoCryptor()
self.cryptor = mirror.Cryptor.EchoCryptor()

self.frameSinks = []
self.log_message("Get Stream info: %r", self.streamInfo)
Expand All @@ -58,7 +59,7 @@ def closeConnection(self):

def parseStreamPacket(self):
try:
packet = MirroringPacket.Packet(self.rfile)
packet = mirror.Packet.Packet(self.rfile)
except IOError:
return self.closeConnection() # TODO: Really?
except EOFError:
Expand All @@ -69,14 +70,14 @@ def parseStreamPacket(self):
self.handlePacket(packet)

def handlePacket(self, packet):
if packet.payloadType == MirroringPacket.TYPE_VIDEO:
if packet.payloadType == mirror.Packet.TYPE_VIDEO:
decryptedH264Packet = self.cryptor.decrypt(packet.data)
frame = self.decoder.decodeFrame(decryptedH264Packet)
if frame:
for sink in self.frameSinks:
sink.handle(frame, packet.timestamp)

elif packet.payloadType == MirroringPacket.TYPE_CODECDATA:
elif packet.payloadType == mirror.Packet.TYPE_CODECDATA:
self.decoder = self.decoder_cls(packet.data)
self.frameSinks = [cls(self.streamInfo, self.clientName) \
for cls in config.selectedSinks]
Expand Down
8 changes: 0 additions & 8 deletions server.py

This file was deleted.

0 comments on commit 92104ad

Please sign in to comment.