/* * Copyright 2017 The WebRTC project authors. All Rights Reserved. * * Use of this source code is governed by a BSD-style license * that can be found in the LICENSE file in the root of the source * tree. An additional intellectual property rights grant can be found * in the file PATENTS. All contributing project authors may * be found in the AUTHORS file in the root of the source tree. */ #import #import #import #import NS_ASSUME_NONNULL_BEGIN RTC_EXPORT // Camera capture that implements RTCVideoCapturer. Delivers frames to a RTCVideoCapturerDelegate // (usually RTCVideoSource). @interface RTCCameraVideoCapturer : RTCVideoCapturer // Capture session that is used for capturing. Valid from initialization to dealloc. @property(readonly, nonatomic) AVCaptureSession *captureSession; // Returns list of available capture devices that support video capture. + (NSArray *)captureDevices; // Returns list of formats that are supported by this class for this device. + (NSArray *)supportedFormatsForDevice:(AVCaptureDevice *)device; // Starts and stops the capture session asynchronously. - (void)startCaptureWithDevice:(AVCaptureDevice *)device format:(AVCaptureDeviceFormat *)format fps:(NSInteger)fps; // Stops the capture session asynchronously. - (void)stopCapture; @end NS_ASSUME_NONNULL_END