IVSStageRenderer
Objective-C
@protocol IVSStageRenderer <NSObject>
                Swift
protocol IVSStageRenderer : NSObjectProtocol
                A protocol to implement that can be used to build user interfaces.
Implementing a IVSStageRenderer provides all the necessary information about a Stage to create a complete UI.
- 
                  
                  
The connection state of the associated
IVSStagehas changed.Declaration
Objective-C
- (void)stage:(nonnull IVSStage *)stage didChangeConnectionState:(IVSStageConnectionState)connectionState withError:(nullable NSError *)error;Swift
optional func stage(_ stage: Any!, didChangeConnectionState connectionState: Any!, withError error: (any Error)?)Parameters
stageThe
IVSStagethat had the connection state change.connectionStateThe new connection state of the Stage.
errorAn error, if the state unexpected turned to disconnected.
 - 
                  
                  
A new participant has joined the Stage and started publishing.
Declaration
Objective-C
- (void)stage:(nonnull IVSStage *)stage participantDidJoin:(nonnull IVSParticipantInfo *)participant;Swift
optional func stage(_ stage: Any!, participantDidJoin participant: IVSParticipantInfo)Parameters
stageThe
IVSStagethat the participant joined and started publishing.participantA description of the participant that joined and started publishing.
 - 
                  
                  
A participant has left the Stage or stopped publishing.
Declaration
Objective-C
- (void)stage:(nonnull IVSStage *)stage participantDidLeave:(nonnull IVSParticipantInfo *)participant;Swift
optional func stage(_ stage: Any!, participantDidLeave participant: IVSParticipantInfo)Parameters
stageThe
IVSStagethat the participant left or stopped publishing.participantA description of the participant that left or stopped publishing.
 - 
                  
                  
The publish state of a participant has changed.
Declaration
Objective-C
- (void)stage:(nonnull IVSStage *)stage participant:(nonnull IVSParticipantInfo *)participant didChangePublishState:(IVSParticipantPublishState)publishState;Swift
optional func stage(_ stage: Any!, participant: IVSParticipantInfo, didChange publishState: IVSParticipantPublishState)Parameters
stageThe
IVSStageassociated with the participant that changed their publish state.participantThe participant that changed their publish state.
publishStateThe new publish state.
 - 
                  
                  
The subscribe state of the local participant has changed with respect to a remote publisher. This callback only fires when the local participant’s subscribe state changes. Participants are not made aware of subscription updates for other participants via this callback.
Declaration
Objective-C
- (void)stage:(nonnull IVSStage *)stage participant:(nonnull IVSParticipantInfo *)participant didChangeSubscribeState:(IVSParticipantSubscribeState)subscribeState;Swift
optional func stage(_ stage: Any!, participant: IVSParticipantInfo, didChange subscribeState: IVSParticipantSubscribeState)Parameters
stageThe
IVSStageassociated with the participant that changed their subscribe state.participantThe publishing participant for whom the local participant has changed their subscribe state.
subscribeStateThe new subscribe state.
 - 
                  
                  
A participant added media streams that can be rendered locally or attached to an
IVSBroadcastSession.Declaration
Objective-C
- (void)stage:(nonnull IVSStage *)stage participant:(nonnull IVSParticipantInfo *)participant didAddStreams:(nonnull NSArray<IVSStageStream *> *)streams;Swift
optional func stage(_ stage: Any!, participant: IVSParticipantInfo, didAdd streams: [IVSStageStream])Parameters
stageThe
IVSStageassociated with the new media streams.participantThe participant associated with the new media streams.
streamsThe new media streams.
 - 
                  
                  
A participant removed media streams. They could have unpublished or stopped sharing a certain media type.
Declaration
Objective-C
- (void)stage:(nonnull IVSStage *)stage participant:(nonnull IVSParticipantInfo *)participant didRemoveStreams:(nonnull NSArray<IVSStageStream *> *)streams;Swift
optional func stage(_ stage: Any!, participant: IVSParticipantInfo, didRemove streams: [IVSStageStream])Parameters
stageThe
IVSStageassociated with the removed media streams.participantThe participant associated with the removed media streams.
streamsThe removed media streams.
 - 
                  
                  
Some media streams have had their muted status changed.
Declaration
Objective-C
- (void)stage:(nonnull IVSStage *)stage participant:(nonnull IVSParticipantInfo *)participant didChangeMutedStreams:(nonnull NSArray<IVSStageStream *> *)streams;Swift
optional func stage(_ stage: Any!, participant: IVSParticipantInfo, didChangeMutedStreams streams: [IVSStageStream])Parameters
stageThe
IVSStageassociated with the updated media streams.participantThe participant associated with the updated media streams.
streamsThe media streams that have had their mute status changed.
 - 
                  
                  
Some remote stream have had its layers changed.
Declaration
Objective-C
- (void)stage:(nonnull IVSStage *)stage participant:(nonnull IVSParticipantInfo *)participant stream:(nonnull IVSRemoteStageStream *)stream didChangeStreamLayers: (nonnull NSArray<IVSRemoteStageStreamLayer *> *)layers;Swift
optional func stage(_ stage: Any!, participant: IVSParticipantInfo, stream: IVSRemoteStageStream, didChange layers: [IVSRemoteStageStreamLayer])Parameters
stageThe
IVSStageassociated with the remote stream.participantThe participant associated with the remote stream.
streamThe remote stream that have had its layers changed.
layersThe updated layers.
 - 
                  
                  
Some remote stream have had its selected layer changed.
Declaration
Objective-C
- (void)stage:(nonnull IVSStage *)stage participant:(nonnull IVSParticipantInfo *)participant stream:(nonnull IVSRemoteStageStream *)stream didSelectStreamLayer:(nullable IVSRemoteStageStreamLayer *)layer reason:(IVSRemoteStageStreamLayerSelectedReason)reason;Parameters
stageThe
IVSStageassociated with the remote stream.participantThe participant associated with the remote stream.
streamThe remote stream that have had its layers changed.
layerThe updated selected layer.
reasonThe reason that slected layer changed.
 - 
                  
                  
Some remote stream have had its adaption changed.
Declaration
Objective-C
- (void)stage:(nonnull IVSStage *)stage participant:(nonnull IVSParticipantInfo *)participant stream:(nonnull IVSRemoteStageStream *)stream didChangeStreamAdaption:(BOOL)adaption;Swift
optional func stage(_ stage: Any!, participant: IVSParticipantInfo, stream: IVSRemoteStageStream, didChangeStreamAdaption adaption: Bool)Parameters
stageThe
IVSStageassociated with the remote stream.participantThe participant associated with the remote stream.
streamThe remote stream that have had its adaption changed.
adaptionWhether dynamic adaption is enabled.