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];