Skip to content

Commit 7ab55db

Browse files
Address comments
1 parent e93099b commit 7ab55db

2 files changed

Lines changed: 12 additions & 5 deletions

File tree

WebDriverAgentLib/Routing/FBWebServer.m

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ - (void)startHTTPServer
103103
[self.server setInterface:bindingIP];
104104
[FBLogger logFmt:@"Using custom binding IP address: %@", bindingIP];
105105
}
106-
106+
107107
NSError *error;
108108
BOOL serverStarted = NO;
109109

@@ -123,7 +123,7 @@ - (void)startHTTPServer
123123
[FBLogger logFmt:@"Last attempt to start web server failed with error %@", [error description]];
124124
abort();
125125
}
126-
126+
127127
NSString *serverHost = bindingIP ?: ([XCUIDevice sharedDevice].fb_wifiIPAddress ?: @"127.0.0.1");
128128
[FBLogger logFmt:@"%@http://%@:%d%@", FBServerURLBeginMarker, serverHost, [self.server port], FBServerURLEndMarker];
129129
}

WebDriverAgentLib/Utilities/FBMjpegServer.m

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ - (void)scheduleNextScreenshotWithInterval:(uint64_t)timerInterval timeStarted:(
7575
return;
7676
}
7777
uint64_t timeElapsed = clock_gettime_nsec_np(CLOCK_MONOTONIC_RAW) - timeStarted;
78-
int64_t nextTickDelta = timerInterval - timeElapsed;
78+
int64_t nextTickDelta = (int64_t)timerInterval - (int64_t)timeElapsed;
7979
__weak typeof(self) weakSelf = self;
8080
if (nextTickDelta > 0) {
8181
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, nextTickDelta), self.backgroundQueue, ^{
@@ -136,21 +136,28 @@ - (void)streamScreenshot
136136
}
137137

138138
- (void)sendScreenshot:(NSData *)screenshotData {
139+
if (!self.isStreaming) {
140+
return;
141+
}
139142
NSString *chunkHeader = [NSString stringWithFormat:@"--BoundaryString\r\nContent-type: image/jpeg\r\nContent-Length: %@\r\n\r\n", @(screenshotData.length)];
140143
NSMutableData *chunk = [[chunkHeader dataUsingEncoding:NSUTF8StringEncoding] mutableCopy];
141144
[chunk appendData:screenshotData];
142145
[chunk appendData:(id)[@"\r\n\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
143146
@synchronized (self.listeningClients) {
147+
if (!self.isStreaming || 0 == self.listeningClients.count) {
148+
return;
149+
}
150+
NSUInteger clientCount = self.listeningClients.count;
144151
for (GCDAsyncSocket *client in self.listeningClients) {
145152
// Slow clients should fail/close instead of buffering indefinitely.
146153
[client writeData:chunk withTimeout:FRAME_TIMEOUT tag:0];
147154
}
148155
self.sentFramesCount++;
149-
self.sentBytesCount += chunk.length * self.listeningClients.count;
156+
self.sentBytesCount += chunk.length * clientCount;
150157
NSUInteger framerate = FBNormalizedMjpegFramerate(FBConfiguration.mjpegServerFramerate);
151158
if (0 == self.sentFramesCount % framerate) {
152159
[FBLogger verboseLog:[NSString stringWithFormat:@"MJPEG stats: clients=%@ sentFrames=%@ sentBytes=%@",
153-
@(self.listeningClients.count),
160+
@(clientCount),
154161
@(self.sentFramesCount),
155162
@(self.sentBytesCount)]];
156163
}

0 commit comments

Comments
 (0)