MillicastSDK 2.2.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
5
6@protocol MCVideoRenderer;
7
11@class MCTrackStats;
12
13// MARK: -
14
18@property(nonatomic, readonly) int width;
20@property(nonatomic, readonly) int height;
21- (instancetype _Nonnull)init NS_UNAVAILABLE;
22@end
23
26
27@property(nonatomic, readonly) NSString * _Nonnull encodingId;
28@property(nonatomic, readonly) int bitrate;
29
30@property(nonatomic, readonly) NSNumber * _Nullable spatialLayerId;
31@property(nonatomic, readonly) NSNumber * _Nullable temporalLayerId;
32@property(nonatomic, readonly) NSNumber * _Nullable maxSpatialLayerId;
33@property(nonatomic, readonly) NSNumber * _Nullable maxTemporalLayerId;
34@property(nonatomic, readonly) NSNumber * _Nullable targetBitrate;
35@property(nonatomic, readonly) NSNumber * _Nullable targetFps;
36@property(nonatomic, readonly) NSNumber * _Nullable targetHeight;
37@property(nonatomic, readonly) NSNumber * _Nullable targetWidth;
38@property(nonatomic, readonly) MCRTSRemoteVideoTrackLayerResolution * _Nullable resolution;
39
40@end
41
47
49@property(nonatomic, readonly) NSArray<MCRTSRemoteTrackLayer *> * _Nonnull active;
52@property(nonatomic, readonly) NSArray<NSString *> * _Nonnull inactive;
53
54- (instancetype _Nonnull)init NS_UNAVAILABLE;
55
56@end
57
59@protocol MCRTSRemoteTrackDelegate <NSObject>
60
61@optional
72- (void)rtsRemoteTrackActive:(MCRTSRemoteTrack * _Nonnull)rtsRemoteTrack;
73
74@optional
85- (void)rtsRemoteTrackInactive:(MCRTSRemoteTrack * _Nonnull)rtsRemoteTrack;
86
87@optional
93- (void) rtsRemoteTrack:(MCRTSRemoteTrack * _Nonnull) rtsRemoteTrack
94 didUpdateLayers:(MCRTSRemoteTrackLayers * _Nonnull) rtsRemoteTrackLayers
95 NS_SWIFT_NAME(rtsRemoteTrack(_:didUpdateLayers:));
96
97@optional
105- (void) rtsRemoteTrack:(MCRTSRemoteTrack * _Nonnull) rtsRemoteTrack
106 didUpdateMID:(NSString * _Nullable) mid
107 NS_SWIFT_NAME(rtsRemoteTrack(_:didUpdateMID:));
108
109@optional
118- (void) rtsRemoteTrack:(MCRTSRemoteTrack * _Nonnull) rtsRemoteTrack
119 didReceiveTrackStats:(nonnull MCTrackStats *) stats
120 NS_SWIFT_NAME(rtsRemoteTrack(_:didReceiveTrackStats:));
121
122@end
123
124
132MILLICAST_API @interface MCRTSRemoteTrack : NSObject
133
135@property(atomic, weak) id<MCRTSRemoteTrackDelegate> _Nullable delegate;
136
138@property(nonatomic, readonly) NSString * _Nullable sourceID;
140@property(nonatomic, assign, readonly) MCRemoteTrackKind kind;
142@property(nonatomic, assign, readonly) BOOL isActive;
144@property(nonatomic, readonly) NSString * _Nullable currentMID;
145
148- (MCRTSRemoteVideoTrack* _Nullable) asVideo;
149
152- (MCRTSRemoteAudioTrack* _Nullable) asAudio;
153
154- (instancetype _Nonnull)init NS_UNAVAILABLE;
155
159- (void)disableWithCompletionHandler:(nonnull void (^)(NSError * _Nullable)) completionHandler;
160
161@end
162
163// MARK: -
164
168
173- (instancetype _Nonnull) initWithLayer: (MCRTSRemoteTrackLayer * _Nonnull) layer;
174
176@property(nonatomic, strong) NSString * _Nullable encodingId;
177
179@property(nonatomic, readonly) NSNumber * _Nullable spatialLayerId;
180
184- (void)setSpatialLayerId:(int)spatialLayerId;
185
187- (void)resetSpatialLayerId;
188
190@property(nonatomic, readonly) NSNumber * _Nullable temporalLayerId;
191
195- (void)setTemporalLayerId:(int)temporalLayerId;
196
198- (void)resetTemporalLayerId;
199
201@property(nonatomic, readonly) NSNumber * _Nullable maxSpatialLayerId;
202
206- (void)setMaxSpatialLayerId:(int)maxSpatialLayerId;
207
209- (void)resetMaxSpatialLayerId:(int)maxSpatialLayerId;
210
212@property(nonatomic, readonly) NSNumber * _Nullable maxTemporalLayerId;
213
217- (void)setMaxTemporalLayerId:(int)maxTemporalLayerId;
218
220- (void)resetMaxTemporalLayerId;
221@end
222
225
226- (instancetype _Nonnull)init NS_UNAVAILABLE;
227
240- (void)enableWithRenderer:(id<MCVideoRenderer> _Nonnull)renderer
241 layer:(MCRTSRemoteVideoTrackLayer * _Nonnull)layer
242 promote:(BOOL)promote
243 completionHandler:(nonnull void (^)(NSError * _Nullable)) completionHandler
244 NS_SWIFT_NAME(enable(renderer:layer:promote:completionHandler:));
245
253- (void)enableWithRenderer:(id<MCVideoRenderer> _Nonnull)renderer
254 promote:(BOOL)promote
255 completionHandler:(nonnull void (^)(NSError * _Nullable)) completionHandler
256 NS_SWIFT_NAME(enable(renderer:promote:completionHandler:));
257
265- (void)enableWithRenderer:(id<MCVideoRenderer> _Nonnull)renderer
266 layer:(MCRTSRemoteVideoTrackLayer * _Nonnull)layer
267 completionHandler:(nonnull void (^)(NSError * _Nullable)) completionHandler
268 NS_SWIFT_NAME(enable(renderer:layer:completionHandler:));
269
274- (void)enableWithRenderer:(id<MCVideoRenderer> _Nonnull)renderer
275 completionHandler:(nonnull void (^)(NSError * _Nullable)) completionHandler
276 NS_SWIFT_NAME(enable(renderer:completionHandler:));
277@end
278
279// MARK: -
280
283
284- (instancetype _Nonnull)init NS_UNAVAILABLE;
285
289- (void)enableWithCompletionHandler:(nonnull void (^)(NSError * _Nullable)) completionHandler;
290
299- (void)setVolume:(double)volume
300completionHandler:(nonnull void (^)(NSError * _Nullable)) completionHandler
301 NS_SWIFT_NAME(setVolume(_:completionHandler:));
302
303@end
304
305#endif /* rts_remote_track_h */
#define MILLICAST_API
Definition exports.h:51
The RTS logical track's audio interface.
Definition rts_remote_track.h:283
Represents an layer entry in the layers event received by the media server.
Definition rts_remote_track.h:26
Definition rts_remote_track.h:47
Represents resolution of a video frame.
Definition rts_remote_track.h:17
int width
Width in pixels.
Definition rts_remote_track.h:18
int height
Height in pixels.
Definition rts_remote_track.h:20
instancetype _Nonnull NS_UNAVAILABLE()
Definition MCSubscriberStats.h:49
void NSError *_Nullable completionHandler
Definition viewer.h:126