Package com.amazonaws.ivs.broadcast
Interface Stage.BaseStrategy
- All Known Subinterfaces:
Stage.Strategy,Stage.StrategyV2
- Enclosing class:
Stage
@RequiresApi(api=28)
public static interface Stage.BaseStrategy
Everything a Stage asks of a strategy except the desired subscription.
Implement Stage.Strategy or Stage.StrategyV2 rather than this directly: a Stage asks one of them
which media it should subscribe to, and a strategy that answers neither subscribes to nothing.
-
Method Summary
Modifier and TypeMethodDescriptiondefault RemoteStageStream.LayerpreferredLayerForStream(Stage stage, ParticipantInfo participantInfo, RemoteStageStream stream) Return theRemoteStageStream.Layerto be preferred for specific remote streams.booleanshouldPublishFromParticipant(Stage stage, ParticipantInfo participantInfo) Return `true` to publish the associated participant, or `false` to not publish them.stageStreamsToPublishForParticipant(Stage stage, ParticipantInfo participantInfo) Return an array of media streams to publish with the associated participant.default SubscribeConfigurationsubscribeConfigrationForParticipant(Stage stage, ParticipantInfo participantInfo) Return theSubscribeConfigurationto subscribe to the associated participant.
-
Method Details
-
stageStreamsToPublishForParticipant
@NonNull 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, callStage.refreshStrategy()to use the new streams.- Parameters:
stage- TheStageto publish the streams to.participantInfo- TheParticipantInfothat will be associated with the returned streams.- Returns:
- A non-null (empty is okay) list of
LocalStageStreamobjects 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, callStage.refreshStrategy()update the local publishing state. This will only be invoked on participants that have the publish capability.- Parameters:
stage- TheStageassociated with the participant.participantInfo- TheParticipantInfothat will be published or unpublished- Returns:
- Whether or not the participant should publish.
-
subscribeConfigrationForParticipant
default SubscribeConfiguration subscribeConfigrationForParticipant(@NonNull Stage stage, @NonNull ParticipantInfo participantInfo) Return theSubscribeConfigurationto subscribe to the associated participant.- Parameters:
stage- TheStageassociated with the participant.participantInfo- TheParticipantInfothat will be associated with the returned configuration.- Returns:
- The
SubscribeConfigurationfor the associated participant.
-
preferredLayerForStream
@Nullable default RemoteStageStream.Layer preferredLayerForStream(@NonNull Stage stage, @NonNull ParticipantInfo participantInfo, @NonNull RemoteStageStream stream) Return theRemoteStageStream.Layerto be preferred for specific remote streams.- Parameters:
stage- TheStageassociated with the participant.participantInfo- TheParticipantInfothat will be associated with the returned layer.stream- TheRemoteStageStreamthat will be associated with the returned layer.- Returns:
- The
RemoteStageStream.Layerfor the associated participant.
-