MillicastSDK 2.0.0
|
The webrtc logical track's video interface. More...
#import <webrtc_remote_track.h>
Instance Methods | |
(void) | - projectWithRTSRemoteVideoTrack:layer:promote:completionHandler: |
(void) | - projectWithRTSRemoteVideoTrack:layer:completionHandler: |
(void) | - projectWithRTSRemoteVideoTrack:completionHandler: |
(void) | - addRenderer:completionHandler: |
(void) | - removeRenderer:completionHandler: |
(void) | - currentProjectionWithCompletionHandler: |
Instance Methods inherited from MCWebrtcRemoteTrack | |
(MCWebrtcRemoteAudioTrack *_Nullable) | - asAudio |
(MCWebrtcRemoteVideoTrack *_Nullable) | - asVideo |
(void) | - unprojectWithCompletionHandler: |
webrtcRemoteTrackWithNativeTrack: | |
Additional Inherited Members | |
Properties inherited from MCWebrtcRemoteTrack | |
id< MCWebrtcRemoteTrackDelegate > _Nullable | delegate |
Delegate to receive track related events. | |
MCRemoteTrackKind | kind |
Either an Audio or Video track. | |
NSString *_Nonnull | currentMID |
NSString *_Nonnull | cName |
The cname of the track. Cname represents a grouping for synchronization purposes. | |
The webrtc logical track's video interface.
- (void) addRenderer: | (id< MCVideoRenderer > _Nonnull) | renderer | |
completionHandler: | (addRenderer(_:completionHandler:)) | NS_SWIFT_NAME | |
Attach a renderer to this track so it receives frames when projected.
MCAcceleratedVideoRenderer
or MCCMSampleBufferVideoRenderer
which are directly attachable to Views. Otherwise, if you have a specific usecase for receiving video frames and managing them yourself, then you can implement your own MCVideoRenderer
- (void) currentProjectionWithCompletionHandler: | (nonnull void(^)(MCRTSRemoteVideoTrack *_Nullable, NSError *_Nullable)) | completionHandler |
Get the RTS track which is currently projected onto this webrtc track.
Note: properly written applicatioprojectWithRTSRemoteVideoTrack:layer:promote:completionHandler:nous status of the MCWebrtcRemoteVideoTrack/projectWithRTSRemoteVideoTrack
operation only.
- (void) projectWithRTSRemoteVideoTrack: | (MCRTSRemoteVideoTrack *_Nonnull) | rtsRemoteVideoTrack | |
completionHandler: | (project(rtsRemoteVideoTrack:completionHandler:)) | NS_SWIFT_NAME | |
Enable the track and project from given RTS track, with default promote and layer behaviour.
- (void) projectWithRTSRemoteVideoTrack: | (MCRTSRemoteVideoTrack *_Nonnull) | rtsRemoteVideoTrack | |
layer: | (MCRTSRemoteVideoTrackLayer *_Nonnull) | layer | |
completionHandler: | (project(rtsRemoteVideoTrack:layer:completionHandler:)) | NS_SWIFT_NAME | |
Enable the track and project from given RTS track, with default promote behaviour, which is false.
- (void) projectWithRTSRemoteVideoTrack: | (MCRTSRemoteVideoTrack *_Nonnull) | rtsRemoteVideoTrack | |
layer: | (MCRTSRemoteVideoTrackLayer *_Nonnull) | layer | |
promote: | (BOOL) | promote | |
completionHandler: | (project(rtsRemoteVideoTrack:layer:promote:completionHandler:)) | NS_SWIFT_NAME | |
Enable the track and project from given RTS track.
Note that unlike the simple API for the RTS track, this API is more flexible, but requires more handling by the application. Specifically:
You can project the same RTS track onto multiple webrtc logical tracks.
- (void) removeRenderer: | (id< MCVideoRenderer > _Nonnull) | renderer | |
completionHandler: | (removeRenderer(_:completionHandler:)) | NS_SWIFT_NAME | |
Remove a previously attached video renderer.