Reland "Reland "Add completion callbacks to RTCCameraVideoCapturer start/stop operations""
This is a reland of 24e7a593d576d6eea8512f42f08d6c9c7003e76e Original change's description: > Reland "Add completion callbacks to RTCCameraVideoCapturer start/stop operations" > > This is a reland of e23a9e8f418ad758bc1be5b53184b69ad1dab1c2 > Original change's description: > > Add completion callbacks to RTCCameraVideoCapturer start/stop operations > > > > Bug: webrtc:8696 > > Change-Id: I327ce11632fd0c71e28411d260094e87ede6b6b6 > > Reviewed-on: https://webrtc-review.googlesource.com/37021 > > Reviewed-by: Kári Helgason <kthelgason@webrtc.org> > > Reviewed-by: Anders Carlsson <andersc@webrtc.org> > > Commit-Queue: Anders Carlsson <andersc@webrtc.org> > > Cr-Commit-Position: refs/heads/master@{#21546} > > Bug: webrtc:8696 > Change-Id: I48b4d140d870c9924ef0d76f4d282ff13951e083 > Reviewed-on: https://webrtc-review.googlesource.com/38800 > Reviewed-by: Kári Helgason <kthelgason@webrtc.org> > Commit-Queue: Anders Carlsson <andersc@webrtc.org> > Cr-Commit-Position: refs/heads/master@{#21592} Bug: webrtc:8696 Change-Id: I281dee9b1df2efcb9c067da9dd9fea3c8fe35c3a Reviewed-on: https://webrtc-review.googlesource.com/39281 Reviewed-by: Kári Helgason <kthelgason@webrtc.org> Commit-Queue: Kári Helgason <kthelgason@webrtc.org> Cr-Commit-Position: refs/heads/master@{#21602}
This commit is contained in:
committed by
Commit Bot
parent
27a457d172
commit
f707186185
@ -116,6 +116,17 @@ const int64_t kNanosecondsPerSecond = 1000000000;
|
||||
- (void)startCaptureWithDevice:(AVCaptureDevice *)device
|
||||
format:(AVCaptureDeviceFormat *)format
|
||||
fps:(NSInteger)fps {
|
||||
[self startCaptureWithDevice:device format:format fps:fps completionHandler:nil];
|
||||
}
|
||||
|
||||
- (void)stopCapture {
|
||||
[self stopCaptureWithCompletionHandler:nil];
|
||||
}
|
||||
|
||||
- (void)startCaptureWithDevice:(AVCaptureDevice *)device
|
||||
format:(AVCaptureDeviceFormat *)format
|
||||
fps:(NSInteger)fps
|
||||
completionHandler:(nullable void (^)(NSError *))completionHandler {
|
||||
_willBeRunning = YES;
|
||||
[RTCDispatcher
|
||||
dispatchAsyncOnType:RTCDispatcherTypeCaptureSession
|
||||
@ -132,6 +143,9 @@ const int64_t kNanosecondsPerSecond = 1000000000;
|
||||
if (![_currentDevice lockForConfiguration:&error]) {
|
||||
RTCLogError(
|
||||
@"Failed to lock device %@. Error: %@", _currentDevice, error.userInfo);
|
||||
if (completionHandler) {
|
||||
completionHandler(error);
|
||||
}
|
||||
return;
|
||||
}
|
||||
[self reconfigureCaptureSessionInput];
|
||||
@ -141,10 +155,13 @@ const int64_t kNanosecondsPerSecond = 1000000000;
|
||||
[_captureSession startRunning];
|
||||
[_currentDevice unlockForConfiguration];
|
||||
_isRunning = YES;
|
||||
if (completionHandler) {
|
||||
completionHandler(nil);
|
||||
}
|
||||
}];
|
||||
}
|
||||
|
||||
- (void)stopCapture {
|
||||
- (void)stopCaptureWithCompletionHandler:(nullable void (^)())completionHandler {
|
||||
_willBeRunning = NO;
|
||||
[RTCDispatcher
|
||||
dispatchAsyncOnType:RTCDispatcherTypeCaptureSession
|
||||
@ -160,6 +177,9 @@ const int64_t kNanosecondsPerSecond = 1000000000;
|
||||
[[UIDevice currentDevice] endGeneratingDeviceOrientationNotifications];
|
||||
#endif
|
||||
_isRunning = NO;
|
||||
if (completionHandler) {
|
||||
completionHandler();
|
||||
}
|
||||
}];
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user