OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2014 The WebRTC Project Authors. All rights reserved. | 2 * Copyright 2014 The WebRTC Project Authors. All rights reserved. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license | 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 | 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 | 6 * tree. An additional intellectual property rights grant can be found |
7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
9 */ | 9 */ |
10 | 10 |
11 #import "ARDAppClient.h" | 11 #import "ARDAppClient.h" |
12 | 12 |
13 #import "ARDRoomServerClient.h" | 13 #import "ARDRoomServerClient.h" |
14 #import "ARDSignalingChannel.h" | 14 #import "ARDSignalingChannel.h" |
15 #import "ARDTURNClient.h" | 15 #import "ARDTURNClient.h" |
16 #import "RTCPeerConnection.h" | 16 #import "RTCPeerConnection.h" |
17 #import "RTCPeerConnectionDelegate.h" | 17 #import "RTCPeerConnectionDelegate.h" |
18 #import "RTCPeerConnectionFactory.h" | 18 #import "RTCPeerConnectionFactory.h" |
19 #import "RTCSessionDescriptionDelegate.h" | 19 #import "RTCSessionDescriptionDelegate.h" |
20 #import "RTCStatsDelegate.h" | 20 #import "RTCStatsDelegate.h" |
21 | 21 |
22 @interface ARDAppClient () <ARDSignalingChannelDelegate, | 22 @interface ARDAppClient () <ARDSignalingChannelDelegate, |
23 RTCPeerConnectionDelegate, RTCSessionDescriptionDelegate, RTCStatsDelegate> | 23 RTCPeerConnectionDelegate, RTCSessionDescriptionDelegate, RTCStatsDelegate> |
24 | 24 |
25 // All properties should only be mutated from the main queue. | 25 // All properties should only be mutated from the main queue. |
26 @property(nonatomic, strong) id<ARDRoomServerClient> roomServerClient; | 26 @property(nonatomic, strong) id<ARDRoomServerClient> roomServerClient; |
27 @property(nonatomic, strong) id<ARDSignalingChannel> channel; | 27 @property(nonatomic, strong) id<ARDSignalingChannel> channel; |
| 28 @property(nonatomic, strong) id<ARDSignalingChannel> loopbackChannel; |
28 @property(nonatomic, strong) id<ARDTURNClient> turnClient; | 29 @property(nonatomic, strong) id<ARDTURNClient> turnClient; |
29 | 30 |
30 @property(nonatomic, strong) RTCPeerConnection *peerConnection; | 31 @property(nonatomic, strong) RTCPeerConnection *peerConnection; |
31 @property(nonatomic, strong) RTCPeerConnectionFactory *factory; | 32 @property(nonatomic, strong) RTCPeerConnectionFactory *factory; |
32 @property(nonatomic, strong) NSMutableArray *messageQueue; | 33 @property(nonatomic, strong) NSMutableArray *messageQueue; |
33 | 34 |
34 @property(nonatomic, assign) BOOL isTurnComplete; | 35 @property(nonatomic, assign) BOOL isTurnComplete; |
35 @property(nonatomic, assign) BOOL hasReceivedSdp; | 36 @property(nonatomic, assign) BOOL hasReceivedSdp; |
36 @property(nonatomic, readonly) BOOL hasJoinedRoomServerRoom; | 37 @property(nonatomic, readonly) BOOL hasJoinedRoomServerRoom; |
37 | 38 |
38 @property(nonatomic, strong) NSString *roomId; | 39 @property(nonatomic, strong) NSString *roomId; |
39 @property(nonatomic, strong) NSString *clientId; | 40 @property(nonatomic, strong) NSString *clientId; |
40 @property(nonatomic, assign) BOOL isInitiator; | 41 @property(nonatomic, assign) BOOL isInitiator; |
41 @property(nonatomic, strong) NSMutableArray *iceServers; | 42 @property(nonatomic, strong) NSMutableArray *iceServers; |
42 @property(nonatomic, strong) NSURL *webSocketURL; | 43 @property(nonatomic, strong) NSURL *webSocketURL; |
43 @property(nonatomic, strong) NSURL *webSocketRestURL; | 44 @property(nonatomic, strong) NSURL *webSocketRestURL; |
| 45 @property(nonatomic, readonly) BOOL isLoopback; |
| 46 @property(nonatomic, readonly) BOOL isAudioOnly; |
44 | 47 |
45 @property(nonatomic, strong) | 48 @property(nonatomic, strong) |
46 RTCMediaConstraints *defaultPeerConnectionConstraints; | 49 RTCMediaConstraints *defaultPeerConnectionConstraints; |
47 | 50 |
48 - (instancetype)initWithRoomServerClient:(id<ARDRoomServerClient>)rsClient | 51 - (instancetype)initWithRoomServerClient:(id<ARDRoomServerClient>)rsClient |
49 signalingChannel:(id<ARDSignalingChannel>)channel | 52 signalingChannel:(id<ARDSignalingChannel>)channel |
50 turnClient:(id<ARDTURNClient>)turnClient | 53 turnClient:(id<ARDTURNClient>)turnClient |
51 delegate:(id<ARDAppClientDelegate>)delegate; | 54 delegate:(id<ARDAppClientDelegate>)delegate; |
52 | 55 |
53 @end | 56 @end |
OLD | NEW |