From 844d2b9670857b5bc2be88d9199d54ca870dc4b2 Mon Sep 17 00:00:00 2001 From: sakal Date: Wed, 12 Apr 2017 01:27:44 -0700 Subject: [PATCH] Reconfigure capture session in a single transaction. If we don't reconfigure capture session in a single transaction, RTCCameraPreviewView goes transparent when switching cameras. This is undesired behavior. BUG=webrtc:7177 Review-Url: https://codereview.webrtc.org/2811643006 Cr-Commit-Position: refs/heads/master@{#17664} --- webrtc/sdk/objc/Framework/Classes/RTCCameraVideoCapturer.m | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/webrtc/sdk/objc/Framework/Classes/RTCCameraVideoCapturer.m b/webrtc/sdk/objc/Framework/Classes/RTCCameraVideoCapturer.m index 6545b2f0d9..16ddc13c9e 100644 --- a/webrtc/sdk/objc/Framework/Classes/RTCCameraVideoCapturer.m +++ b/webrtc/sdk/objc/Framework/Classes/RTCCameraVideoCapturer.m @@ -378,6 +378,7 @@ static inline BOOL IsMediaSubTypeSupported(FourCharCode mediaSubType) { RTCLogError(@"Failed to create front camera input: %@", error.localizedDescription); return; } + [_captureSession beginConfiguration]; for (AVCaptureDeviceInput *oldInput in [_captureSession.inputs copy]) { [_captureSession removeInput:oldInput]; } @@ -385,8 +386,8 @@ static inline BOOL IsMediaSubTypeSupported(FourCharCode mediaSubType) { [_captureSession addInput:input]; } else { RTCLogError(@"Cannot add camera as an input to the session."); - return; } + [_captureSession commitConfiguration]; } - (void)updateOrientation {