| Index: webrtc/sdk/objc/Framework/Classes/RTCCameraPreviewView.m
|
| diff --git a/webrtc/sdk/objc/Framework/Classes/RTCCameraPreviewView.m b/webrtc/sdk/objc/Framework/Classes/RTCCameraPreviewView.m
|
| index 659973ff1804c280306221ff88a706dc9252f4b1..5a60ba3e896ddd0585ab7746c261537faa46a9c6 100644
|
| --- a/webrtc/sdk/objc/Framework/Classes/RTCCameraPreviewView.m
|
| +++ b/webrtc/sdk/objc/Framework/Classes/RTCCameraPreviewView.m
|
| @@ -11,6 +11,7 @@
|
| #import "WebRTC/RTCCameraPreviewView.h"
|
|
|
| #import <AVFoundation/AVFoundation.h>
|
| +#import <UIKit/UIKit.h>
|
|
|
| #import "RTCDispatcher+Private.h"
|
|
|
| @@ -34,6 +35,37 @@ - (void)setCaptureSession:(AVCaptureSession *)captureSession {
|
| }];
|
| }
|
|
|
| +- (void)layoutSubviews {
|
| + [super layoutSubviews];
|
| +
|
| + // Update the video orientation based on the device orientation.
|
| + [self setCorrectVideoOrientation];
|
| +}
|
| +
|
| +- (void)setCorrectVideoOrientation {
|
| + // Get current device orientation.
|
| + UIDeviceOrientation deviceOrientation = [UIDevice currentDevice].orientation;
|
| + AVCaptureVideoPreviewLayer *previewLayer = [self previewLayer];
|
| +
|
| + // First check if we are allowed to set the video orientation.
|
| + if (previewLayer.connection.isVideoOrientationSupported) {
|
| + // Set the video orientation based on device orientation.
|
| + if (deviceOrientation == UIInterfaceOrientationPortraitUpsideDown) {
|
| + previewLayer.connection.videoOrientation =
|
| + AVCaptureVideoOrientationPortraitUpsideDown;
|
| + } else if (deviceOrientation == UIInterfaceOrientationLandscapeRight) {
|
| + previewLayer.connection.videoOrientation =
|
| + AVCaptureVideoOrientationLandscapeRight;
|
| + } else if (deviceOrientation == UIInterfaceOrientationLandscapeLeft) {
|
| + previewLayer.connection.videoOrientation =
|
| + AVCaptureVideoOrientationLandscapeLeft;
|
| + } else {
|
| + previewLayer.connection.videoOrientation =
|
| + AVCaptureVideoOrientationPortrait;
|
| + }
|
| + }
|
| +}
|
| +
|
| #pragma mark - Private
|
|
|
| - (AVCaptureVideoPreviewLayer *)previewLayer {
|
|
|