From da360e81df4e0936e3277d9bd15acdc464c083d4 Mon Sep 17 00:00:00 2001 From: Andy Roth Date: Thu, 26 May 2011 07:42:44 -0700 Subject: [PATCH] added performance from airpresenter --- iOS/AirplayKit/AKDevice.h | 3 ++- iOS/AirplayKit/AKDevice.m | 50 ++++++++++++++++++++++++++------------- 2 files changed, 35 insertions(+), 18 deletions(-) diff --git a/iOS/AirplayKit/AKDevice.h b/iOS/AirplayKit/AKDevice.h index a1813eb..799fc47 100644 --- a/iOS/AirplayKit/AKDevice.h +++ b/iOS/AirplayKit/AKDevice.h @@ -28,9 +28,10 @@ id delegate; BOOL connected; AsyncSocket *socket; - NSData *savedData; + BOOL okToSend; } +@property (nonatomic, readonly) NSString *displayName; @property (nonatomic, retain) NSString *hostname; @property (nonatomic) UInt16 port; @property (nonatomic, assign) id delegate; diff --git a/iOS/AirplayKit/AKDevice.m b/iOS/AirplayKit/AKDevice.m index 110572e..7bb0723 100644 --- a/iOS/AirplayKit/AKDevice.m +++ b/iOS/AirplayKit/AKDevice.m @@ -26,12 +26,21 @@ - (id) init return self; } -/* -NSString *name = [hostname stringByReplacingCharactersInRange:[hostname rangeOfString:@"-"] withString:@" "]; -name = [name stringByReplacingCharactersInRange:[name rangeOfString:@".local."] withString:@""]; +- (NSString *) displayName +{ + NSString *name = hostname; + if([hostname rangeOfString:@"-"].length != 0) + { + name = [hostname stringByReplacingCharactersInRange:[hostname rangeOfString:@"-"] withString:@" "]; + } -displayName = name; - */ + if([name rangeOfString:@".local."].length != 0) + { + name = [name stringByReplacingCharactersInRange:[name rangeOfString:@".local."] withString:@""]; + } + + return name; +} #pragma mark - #pragma mark Public Methods @@ -62,18 +71,23 @@ - (void) sendContentURL:(NSString *)url - (void) sendImage:(UIImage *)image { - NSData *imageData = UIImageJPEGRepresentation(image, 1.0); - int length = [imageData length]; - NSString *message = [[NSString alloc] initWithFormat:@"PUT /photo HTTP/1.1\n" - "Content-Length: %d\n" - "User-Agent: MediaControl/1.0\n\n", length]; - NSMutableData *messageData = [[NSMutableData alloc] initWithData:[message dataUsingEncoding:NSUTF8StringEncoding]]; - [messageData appendData:imageData]; - - // Send the raw data - self.socket.delegate = self; - [self.socket writeData:messageData withTimeout:20 tag:1]; - [self.socket readDataWithTimeout:20.0 tag:1]; + if(okToSend) + { + okToSend = NO; + + NSData *imageData = UIImageJPEGRepresentation(image, 1.0); + int length = [imageData length]; + NSString *message = [[NSString alloc] initWithFormat:@"PUT /photo HTTP/1.1\n" + "Content-Length: %d\n" + "User-Agent: MediaControl/1.0\n\n", length]; + NSMutableData *messageData = [[NSMutableData alloc] initWithData:[message dataUsingEncoding:NSUTF8StringEncoding]]; + [messageData appendData:imageData]; + + // Send the raw data + self.socket.delegate = self; + [self.socket writeData:messageData withTimeout:20 tag:1]; + [self.socket readDataWithTimeout:20.0 tag:1]; + } } - (void) sendStop @@ -90,6 +104,8 @@ - (void)onSocket:(AsyncSocket *)sock didReadData:(NSData *)data withTag:(long)ta { NSString *message = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; NSLog(@"Recevied raw : %@", message); + + okToSend = YES; } #pragma mark -