blob: a31c7fe7425530df1f863ff22c2731a80a44ed73 [file] [log] [blame]
Donald E Curtisa8736442015-08-05 15:48:13 -07001/*
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 <UIKit/UIKit.h>
12
Mirko Bonadei19640aa2020-10-19 16:12:43 +020013#import "sdk/objc/base/RTCVideoRenderer.h"
14#import "sdk/objc/helpers/RTCCameraPreviewView.h"
Donald E Curtisa8736442015-08-05 15:48:13 -070015
Zeke Chind3325802015-08-14 11:00:02 -070016#import "ARDStatsView.h"
17
Donald E Curtisa8736442015-08-05 15:48:13 -070018@class ARDVideoCallView;
19@protocol ARDVideoCallViewDelegate <NSObject>
20
21// Called when the camera switch button is pressed.
dharmeshf824ef82020-07-20 14:40:28 +053022- (void)videoCallView:(ARDVideoCallView *)view
23 shouldSwitchCameraWithCompletion:(void (^)(NSError *))completion;
Donald E Curtisa8736442015-08-05 15:48:13 -070024
tkchin0ce3bf92016-03-12 16:52:04 -080025// Called when the route change button is pressed.
dharmeshf824ef82020-07-20 14:40:28 +053026- (void)videoCallView:(ARDVideoCallView *)view
27 shouldChangeRouteWithCompletion:(void (^)(void))completion;
tkchin0ce3bf92016-03-12 16:52:04 -080028
Donald E Curtisa8736442015-08-05 15:48:13 -070029// Called when the hangup button is pressed.
30- (void)videoCallViewDidHangup:(ARDVideoCallView *)view;
31
Zeke Chind3325802015-08-14 11:00:02 -070032// Called when stats are enabled by triple tapping.
33- (void)videoCallViewDidEnableStats:(ARDVideoCallView *)view;
34
Donald E Curtisa8736442015-08-05 15:48:13 -070035@end
36
37// Video call view that shows local and remote video, provides a label to
38// display status, and also a hangup button.
39@interface ARDVideoCallView : UIView
40
41@property(nonatomic, readonly) UILabel *statusLabel;
Mirko Bonadeia81e9c82020-05-04 16:14:32 +020042@property(nonatomic, readonly) RTC_OBJC_TYPE(RTCCameraPreviewView) * localVideoView;
43@property(nonatomic, readonly) __kindof UIView<RTC_OBJC_TYPE(RTCVideoRenderer)> *remoteVideoView;
Zeke Chind3325802015-08-14 11:00:02 -070044@property(nonatomic, readonly) ARDStatsView *statsView;
Donald E Curtisa8736442015-08-05 15:48:13 -070045@property(nonatomic, weak) id<ARDVideoCallViewDelegate> delegate;
46
47@end