From ccac98861f6313105d724593e585024bd39ff916 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?K=C3=A1ri=20Tristan=20Helgason?= Date: Wed, 30 May 2018 16:44:21 +0200 Subject: [PATCH] iOS SDK 10.0 compatability. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This CL adds support targeting iOS 10 as a min version. Bug: None Change-Id: I353a9884eb907e97387553fd73427fd7cb0dbfc2 Reviewed-on: https://webrtc-review.googlesource.com/79921 Reviewed-by: Anders Carlsson Commit-Queue: Kári Helgason Cr-Commit-Position: refs/heads/master@{#23461} --- .../PeerConnection/RTCCameraVideoCapturer.m | 9 +++++++++ sdk/objc/Framework/Classes/UI/RTCEAGLVideoView.m | 5 ++++- .../UnitTests/RTCCameraVideoCapturerTests.mm | 16 ---------------- 3 files changed, 13 insertions(+), 17 deletions(-) diff --git a/sdk/objc/Framework/Classes/PeerConnection/RTCCameraVideoCapturer.m b/sdk/objc/Framework/Classes/PeerConnection/RTCCameraVideoCapturer.m index 527bc8a536..8f93937c75 100644 --- a/sdk/objc/Framework/Classes/PeerConnection/RTCCameraVideoCapturer.m +++ b/sdk/objc/Framework/Classes/PeerConnection/RTCCameraVideoCapturer.m @@ -110,7 +110,16 @@ const int64_t kNanosecondsPerSecond = 1000000000; } + (NSArray *)captureDevices { +#if defined(WEBRTC_IOS) && defined(__IPHONE_10_0) && \ + __IPHONE_OS_VERSION_MIN_REQUIRED >= __IPHONE_10_0 + AVCaptureDeviceDiscoverySession *session = [AVCaptureDeviceDiscoverySession + discoverySessionWithDeviceTypes:@[ AVCaptureDeviceTypeBuiltInWideAngleCamera ] + mediaType:AVMediaTypeVideo + position:AVCaptureDevicePositionUnspecified]; + return session.devices; +#else return [AVCaptureDevice devicesWithMediaType:AVMediaTypeVideo]; +#endif } + (NSArray *)supportedFormatsForDevice:(AVCaptureDevice *)device { diff --git a/sdk/objc/Framework/Classes/UI/RTCEAGLVideoView.m b/sdk/objc/Framework/Classes/UI/RTCEAGLVideoView.m index 7655dd650b..a26741479f 100644 --- a/sdk/objc/Framework/Classes/UI/RTCEAGLVideoView.m +++ b/sdk/objc/Framework/Classes/UI/RTCEAGLVideoView.m @@ -45,8 +45,11 @@ [CADisplayLink displayLinkWithTarget:self selector:@selector(displayLinkDidFire:)]; _displayLink.paused = YES; - // Set to half of screen refresh, which should be 30fps. +#if __IPHONE_OS_VERSION_MIN_REQUIRED >= __IPHONE_10_0 + _displayLink.preferredFramesPerSecond = 30; +#else [_displayLink setFrameInterval:2]; +#endif [_displayLink addToRunLoop:[NSRunLoop currentRunLoop] forMode:NSRunLoopCommonModes]; } diff --git a/sdk/objc/Framework/UnitTests/RTCCameraVideoCapturerTests.mm b/sdk/objc/Framework/UnitTests/RTCCameraVideoCapturerTests.mm index 905b97490a..3788dd15f1 100644 --- a/sdk/objc/Framework/UnitTests/RTCCameraVideoCapturerTests.mm +++ b/sdk/objc/Framework/UnitTests/RTCCameraVideoCapturerTests.mm @@ -177,15 +177,6 @@ CMSampleBufferRef createTestSampleBufferRef() { invalidFormat = nil; } -- (void)testCaptureDevices { - OCMStub([self.deviceMock devicesWithMediaType:AVMediaTypeVideo]).andReturn(@[ [NSObject new] ]); - OCMStub([self.deviceMock devicesWithMediaType:AVMediaTypeAudio]).andReturn(@[ [NSObject new] ]); - - NSArray *captureDevices = [RTCCameraVideoCapturer captureDevices]; - - EXPECT_EQ(captureDevices.count, 1u); -} - - (void)testDelegateCallbackNotCalledWhenInvalidBuffer { // given CMSampleBufferRef sampleBuffer = nullptr; @@ -504,13 +495,6 @@ TEST(RTCCameraVideoCapturerTests, SupportedFormatsForDevice) { [test tearDown]; } -TEST(RTCCameraVideoCapturerTests, CaptureDevices) { - RTCCameraVideoCapturerTests *test = [[RTCCameraVideoCapturerTests alloc] init]; - [test setup]; - [test testCaptureDevices]; - [test tearDown]; -} - TEST(RTCCameraVideoCapturerTests, DelegateCallbackNotCalledWhenInvalidBuffer) { RTCCameraVideoCapturerTests *test = [[RTCCameraVideoCapturerTests alloc] init]; [test setup];