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
IVSStage
has 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
stage
The
IVSStage
that had the connection state change.connectionState
The new connection state of the Stage.
error
An 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
stage
The
IVSStage
that the participant joined and started publishing.participant
A 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
stage
The
IVSStage
that the participant left or stopped publishing.participant
A 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
stage
The
IVSStage
associated with the participant that changed their publish state.participant
The participant that changed their publish state.
publishState
The 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
stage
The
IVSStage
associated with the participant that changed their subscribe state.participant
The publishing participant for whom the local participant has changed their subscribe state.
subscribeState
The 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
stage
The
IVSStage
associated with the new media streams.participant
The participant associated with the new media streams.
streams
The 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
stage
The
IVSStage
associated with the removed media streams.participant
The participant associated with the removed media streams.
streams
The 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
stage
The
IVSStage
associated with the updated media streams.participant
The participant associated with the updated media streams.
streams
The media streams that have had their mute status changed.