MillicastSDK 2.3.0
Loading...
Searching...
No Matches
rts_remote_track.h
Go to the documentation of this file.
1#ifndef rts_remote_track_h
2#define rts_remote_track_h
3
4#import <Foundation/Foundation.h>
6#import <MillicastSDK/exports.h>
7@protocol MCVideoRenderer;
8
12@class MCTrackStats;
13
14// MARK: -
15
19@property(nonatomic, readonly) int width;
21@property(nonatomic, readonly) int height;
22- (instancetype _Nonnull)init NS_UNAVAILABLE;
23@end
24
27
28@property(nonatomic, readonly) NSString * _Nonnull encodingId;
29@property(nonatomic, readonly) int bitrate;
30
31@property(nonatomic, readonly) NSNumber * _Nullable spatialLayerId;
32@property(nonatomic, readonly) NSNumber * _Nullable temporalLayerId;
33@property(nonatomic, readonly) NSNumber * _Nullable maxSpatialLayerId;
34@property(nonatomic, readonly) NSNumber * _Nullable maxTemporalLayerId;
35@property(nonatomic, readonly) NSNumber * _Nullable targetBitrate;
36@property(nonatomic, readonly) NSNumber * _Nullable targetFps;
37@property(nonatomic, readonly) NSNumber * _Nullable targetHeight;
38@property(nonatomic, readonly) NSNumber * _Nullable targetWidth;
39@property(nonatomic, readonly) MCRTSRemoteVideoTrackLayerResolution * _Nullable resolution;
40
41@end
42
48
50@property(nonatomic, readonly) NSArray<MCRTSRemoteTrackLayer *> * _Nonnull active;
53@property(nonatomic, readonly) NSArray<NSString *> * _Nonnull inactive;
54
55- (instancetype _Nonnull)init NS_UNAVAILABLE;
56
57@end
58
60@protocol MCRTSRemoteTrackDelegate <NSObject>
61
62@optional
73- (void)rtsRemoteTrackActive:(MCRTSRemoteTrack * _Nonnull)rtsRemoteTrack;
74
75@optional
86- (void)rtsRemoteTrackInactive:(MCRTSRemoteTrack * _Nonnull)rtsRemoteTrack;
87
88@optional
94- (void) rtsRemoteTrack:(MCRTSRemoteTrack * _Nonnull) rtsRemoteTrack
95 didUpdateLayers:(MCRTSRemoteTrackLayers * _Nonnull) rtsRemoteTrackLayers
96 NS_SWIFT_NAME(rtsRemoteTrack(_:didUpdateLayers:));
97
98@optional
106- (void) rtsRemoteTrack:(MCRTSRemoteTrack * _Nonnull) rtsRemoteTrack
107 didUpdateMID:(NSString * _Nullable) mid
108 NS_SWIFT_NAME(rtsRemoteTrack(_:didUpdateMID:));
109
110@optional
119- (void) rtsRemoteTrack:(MCRTSRemoteTrack * _Nonnull) rtsRemoteTrack
120 didReceiveTrackStats:(nonnull MCTrackStats *) stats
121 NS_SWIFT_NAME(rtsRemoteTrack(_:didReceiveTrackStats:));
122
123@end
124
125
133MILLICAST_API @interface MCRTSRemoteTrack : NSObject
134
136@property(atomic, weak) id<MCRTSRemoteTrackDelegate> _Nullable delegate;
137
139@property(nonatomic, readonly) NSString * _Nullable sourceID;
141@property(nonatomic, assign, readonly) MCRemoteTrackKind kind;
143@property(nonatomic, assign, readonly) BOOL isActive;
145@property(nonatomic, readonly) NSString * _Nullable currentMID;
146
149- (MCRTSRemoteVideoTrack* _Nullable) asVideo;
150
153- (MCRTSRemoteAudioTrack* _Nullable) asAudio;
154
155- (instancetype _Nonnull)init NS_UNAVAILABLE;
156
160- (void)disableWithCompletionHandler:(nonnull void (^)(NSError * _Nullable)) completionHandler;
161
162@end
163
164// MARK: -
165
169
174- (instancetype _Nonnull) initWithLayer: (MCRTSRemoteTrackLayer * _Nonnull) layer;
175
177@property(nonatomic, strong) NSString * _Nullable encodingId;
178
180@property(nonatomic, readonly) NSNumber * _Nullable spatialLayerId;
181
185- (void)setSpatialLayerId:(int)spatialLayerId;
186
188- (void)resetSpatialLayerId;
189
191@property(nonatomic, readonly) NSNumber * _Nullable temporalLayerId;
192
196- (void)setTemporalLayerId:(int)temporalLayerId;
197
199- (void)resetTemporalLayerId;
200
202@property(nonatomic, readonly) NSNumber * _Nullable maxSpatialLayerId;
203
207- (void)setMaxSpatialLayerId:(int)maxSpatialLayerId;
208
210- (void)resetMaxSpatialLayerId:(int)maxSpatialLayerId;
211
213@property(nonatomic, readonly) NSNumber * _Nullable maxTemporalLayerId;
214
218- (void)setMaxTemporalLayerId:(int)maxTemporalLayerId;
219
221- (void)resetMaxTemporalLayerId;
222@end
223
226
227- (instancetype _Nonnull)init NS_UNAVAILABLE;
228
241- (void)enableWithRenderer:(id<MCVideoRenderer> _Nonnull)renderer
242 layer:(MCRTSRemoteVideoTrackLayer * _Nonnull)layer
243 promote:(BOOL)promote
244 completionHandler:(nonnull void (^)(NSError * _Nullable)) completionHandler
245 NS_SWIFT_NAME(enable(renderer:layer:promote:completionHandler:));
246
254- (void)enableWithRenderer:(id<MCVideoRenderer> _Nonnull)renderer
255 promote:(BOOL)promote
256 completionHandler:(nonnull void (^)(NSError * _Nullable)) completionHandler
257 NS_SWIFT_NAME(enable(renderer:promote:completionHandler:));
258
266- (void)enableWithRenderer:(id<MCVideoRenderer> _Nonnull)renderer
267 layer:(MCRTSRemoteVideoTrackLayer * _Nonnull)layer
268 completionHandler:(nonnull void (^)(NSError * _Nullable)) completionHandler
269 NS_SWIFT_NAME(enable(renderer:layer:completionHandler:));
270
275- (void)enableWithRenderer:(id<MCVideoRenderer> _Nonnull)renderer
276 completionHandler:(nonnull void (^)(NSError * _Nullable)) completionHandler
277 NS_SWIFT_NAME(enable(renderer:completionHandler:));
278@end
279
280// MARK: -
281
284
285- (instancetype _Nonnull)init NS_UNAVAILABLE;
286
290- (void)enableWithCompletionHandler:(nonnull void (^)(NSError * _Nullable)) completionHandler;
291
300- (void)setVolume:(double)volume
301completionHandler:(nonnull void (^)(NSError * _Nullable)) completionHandler
302 NS_SWIFT_NAME(setVolume(_:completionHandler:));
303
304@end
305
306#endif /* rts_remote_track_h */
#define MILLICAST_API
Definition exports.h:51
The RTS logical track's audio interface.
Definition rts_remote_track.h:284
Represents an layer entry in the layers event received by the media server.
Definition rts_remote_track.h:27
Definition rts_remote_track.h:48
Represents resolution of a video frame.
Definition rts_remote_track.h:18
int width
Width in pixels.
Definition rts_remote_track.h:19
int height
Height in pixels.
Definition rts_remote_track.h:21
instancetype _Nonnull NS_UNAVAILABLE()
Definition MCSubscriberStats.h:49
void NSError *_Nullable completionHandler
Definition viewer.h:126