MillicastSDK 2.0.0
Loading...
Searching...
No Matches
webrtc_remote_track.h
Go to the documentation of this file.
1#ifndef webrtc_remote_track_h
2#define webrtc_remote_track_h
3
5#import <Foundation/Foundation.h>
6
7
8@protocol MCVideoRenderer;
9@protocol MCAudioRenderer;
10
17
18// MARK: -
19
21@protocol MCWebrtcRemoteTrackDelegate <NSObject>
22
23@optional
30- (void)webrtcRemoteTrackDisabled:(MCWebrtcRemoteTrack * _Nonnull) webrtcRemoteTrack;
31
32@optional
47- (void)webrtcRemoteTrack:(MCWebrtcRemoteTrack * _Nonnull) webrtcRemoteTrack
48 didUpdateMID:(NSString * _Nullable)mid;
49
50@end
51
61
63@property(atomic, weak) id<MCWebrtcRemoteTrackDelegate> _Nullable delegate;
64
66@property(nonatomic, assign, readonly) MCRemoteTrackKind kind;
67
75@property(nonatomic, readonly) NSString * _Nonnull currentMID;
76
78@property(nonatomic, readonly) NSString * _Nonnull cName;
79
83
87
92- (void)unprojectWithCompletionHandler:(nonnull void (^)(NSError * _Nullable)) completionHandler;
93
94@end
95
96// MARK: -
97
100
122- (void)projectWithRTSRemoteVideoTrack:(MCRTSRemoteVideoTrack * _Nonnull)rtsRemoteVideoTrack
123 layer:(MCRTSRemoteVideoTrackLayer * _Nonnull)layer
124 promote:(BOOL)promote
125 completionHandler:(nonnull void (^)(NSError * _Nullable)) completionHandler
126 NS_SWIFT_NAME(project(rtsRemoteVideoTrack:layer:promote:completionHandler:));
127
136- (void)projectWithRTSRemoteVideoTrack:(MCRTSRemoteVideoTrack * _Nonnull)rtsRemoteVideoTrack
137 layer:(MCRTSRemoteVideoTrackLayer * _Nonnull)layer
138 completionHandler:(nonnull void (^)(NSError * _Nullable)) completionHandler
139 NS_SWIFT_NAME(project(rtsRemoteVideoTrack:layer:completionHandler:));
140
146- (void)projectWithRTSRemoteVideoTrack:(MCRTSRemoteVideoTrack * _Nonnull) rtsRemoteVideoTrack
147 completionHandler:(nonnull void (^)(NSError * _Nullable)) completionHandler
148 NS_SWIFT_NAME(project(rtsRemoteVideoTrack:completionHandler:));
149
156- (void)addRenderer:(id<MCVideoRenderer> _Nonnull)renderer
157 completionHandler:(nonnull void (^)(NSError * _Nullable))completionHandler
158 NS_SWIFT_NAME(addRenderer(_:completionHandler:));
159
164- (void)removeRenderer:(id<MCVideoRenderer> _Nonnull)renderer
165 completionHandler:(nonnull void (^)(NSError * _Nullable))completionHandler
166 NS_SWIFT_NAME(removeRenderer(_:completionHandler:));
167
168
179- (void)currentProjectionWithCompletionHandler:(nonnull void (^)(MCRTSRemoteVideoTrack * _Nullable, NSError * _Nullable)) completionHandler;
180
181@end
182
183// MARK: -
184
187
202- (void)projectWithRTSRemoteAudioTrack:(MCRTSRemoteAudioTrack * _Nonnull)rtsRemoteAudioTrack
203 completionHandler:(nonnull void (^)(NSError * _Nullable)) completionHandler
204 NS_SWIFT_NAME(project(rtsRemoteAudioTrack:completionHandler:));
205
206
215- (void)setVolume:(double)volume
216completionHandler:(nonnull void (^)(NSError * _Nullable)) completionHandler
217 NS_SWIFT_NAME(setVolume(_:completionHandler:));
218
219- (void)currentProjectionWithCompletionHandler:(nonnull void (^)(MCRTSRemoteAudioTrack * _Nullable, NSError * _Nullable)) completionHandler;
220
221@end
222
223#endif /* webrtc_remote_track_h */
#define MILLICAST_API
Definition exports.h:51
The RTS logical track's audio interface.
Definition rts_remote_track.h:269
The RTS logical track's video interface.
Definition rts_remote_track.h:211
Definition rts_remote_track.h:154
The webrtc logical track's audio interface.
Definition webrtc_remote_track.h:187
Definition webrtc_remote_track.h:61
MCRemoteTrackKind kind
Either an Audio or Video track.
Definition webrtc_remote_track.h:66
id< MCWebrtcRemoteTrackDelegate > _Nullable delegate
Delegate to receive track related events.
Definition webrtc_remote_track.h:63
MCWebrtcRemoteAudioTrack *_Nullable asAudio()
NSString *_Nonnull cName
The cname of the track. Cname represents a grouping for synchronization purposes.
Definition webrtc_remote_track.h:78
NSString *_Nonnull currentMID
Definition webrtc_remote_track.h:75
MCWebrtcRemoteVideoTrack *_Nullable asVideo()
The webrtc logical track's video interface.
Definition webrtc_remote_track.h:100