Interface Stage.Strategy

  • Enclosing class:
    Stage

    public static interface Stage.Strategy
    The Strategy is the decision engine associated with a Stage. It is how the Stage asks the host application what actions to take. If the host application wants to change their answer to a question, they can call Stage.refreshStrategy().
    • Method Detail

      • stageStreamsToPublishForParticipant

        @NonNull
        java.util.List<LocalStageStream> stageStreamsToPublishForParticipant​(@NonNull
                                                                             Stage stage,
                                                                             @NonNull
                                                                             ParticipantInfo participantInfo)
        Return an array of media streams to publish with the associated participant. If the return value of this function changes, call Stage.refreshStrategy() to use the new streams.
        Parameters:
        stage - The Stage to publish the streams to.
        participantInfo - The ParticipantInfo that will be associated with the returned streams.
        Returns:
        A non-null (empty is okay) list of LocalStageStream objects to publish to the Stage.
      • shouldPublishFromParticipant

        boolean shouldPublishFromParticipant​(@NonNull
                                             Stage stage,
                                             @NonNull
                                             ParticipantInfo participantInfo)
        Return `true` to publish the associated participant, or `false` to not publish them. If the return value of this function changes, call Stage.refreshStrategy() update the local publishing state This will only be invoked on participants that have the publish capability.
        Parameters:
        stage - The Stage associated with the participant.
        participantInfo - The ParticipantInfo that will be published or unpublished
        Returns:
        Whether or not the participant should publish.
      • shouldSubscribeToParticipant

        Stage.SubscribeType shouldSubscribeToParticipant​(@NonNull
                                                         Stage stage,
                                                         @NonNull
                                                         ParticipantInfo participantInfo)
        Return the Stage.SubscribeType corresponding to the type of media streams desired from the associated participant.
        Parameters:
        stage - The Stage associated with the participant.
        participantInfo - The ParticipantInfo that will be subscribed to or unsubscbribed from.
        Returns:
        The derised @link SubscribeType} for the associated participant.