blob: d7cdbef8ce808eff4daa50940d601c0d19450f0c [file] [log] [blame]
Jon Hjelle7ac8bab2016-01-21 11:44:55 -08001/*
2 * Copyright 2015 The WebRTC project authors. All Rights Reserved.
3 *
4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree.
9 */
10
11#import "RTCVideoSource.h"
12
13@class AVCaptureSession;
14@class RTCMediaConstraints;
15@class RTCPeerConnectionFactory;
16
17NS_ASSUME_NONNULL_BEGIN
18
19/**
20 * RTCAVFoundationVideoSource is a video source that uses
21 * webrtc::AVFoundationVideoCapturer. We do not currently provide a wrapper for
22 * that capturer because cricket::VideoCapturer is not ref counted and we cannot
23 * guarantee its lifetime. Instead, we expose its properties through the ref
24 * counted video source interface.
25 */
26@interface RTCAVFoundationVideoSource : RTCVideoSource
27
Tze Kwang Chinf3cb49f2016-03-22 10:57:40 -070028- (instancetype)init NS_UNAVAILABLE;
Jon Hjelle7ac8bab2016-01-21 11:44:55 -080029
hjona1cf3662016-03-14 20:55:22 -070030/** Returns whether rear-facing camera is available for use. */
31@property(nonatomic, readonly) BOOL canUseBackCamera;
32
Jon Hjelle7ac8bab2016-01-21 11:44:55 -080033/** Switches the camera being used (either front or back). */
34@property(nonatomic, assign) BOOL useBackCamera;
35
36/** Returns the active capture session. */
37@property(nonatomic, readonly) AVCaptureSession *captureSession;
38
39@end
40
41
42NS_ASSUME_NONNULL_END