From c288dab6e26f85b80b191b06beeffc1fcf3af5d8 Mon Sep 17 00:00:00 2001 From: andersc Date: Tue, 15 Aug 2017 00:36:00 -0700 Subject: [PATCH] Ensure UIView.layer is accessed on main thread. BUG=webrtc:7829 Review-Url: https://codereview.webrtc.org/3002583002 Cr-Commit-Position: refs/heads/master@{#19345} --- .../objc/Framework/Classes/UI/RTCCameraPreviewView.m | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/webrtc/sdk/objc/Framework/Classes/UI/RTCCameraPreviewView.m b/webrtc/sdk/objc/Framework/Classes/UI/RTCCameraPreviewView.m index 5a60ba3e89..8af3384e7f 100644 --- a/webrtc/sdk/objc/Framework/Classes/UI/RTCCameraPreviewView.m +++ b/webrtc/sdk/objc/Framework/Classes/UI/RTCCameraPreviewView.m @@ -27,11 +27,14 @@ if (_captureSession == captureSession) { return; } - _captureSession = captureSession; - AVCaptureVideoPreviewLayer *previewLayer = [self previewLayer]; - [RTCDispatcher dispatchAsyncOnType:RTCDispatcherTypeCaptureSession + [RTCDispatcher dispatchAsyncOnType:RTCDispatcherTypeMain block:^{ - previewLayer.session = captureSession; + _captureSession = captureSession; + AVCaptureVideoPreviewLayer *previewLayer = [self previewLayer]; + [RTCDispatcher dispatchAsyncOnType:RTCDispatcherTypeCaptureSession + block:^{ + previewLayer.session = captureSession; + }]; }]; }