Interface HLSFragmentSelector.Builder
- All Superinterfaces:
Buildable
,CopyableBuilder<HLSFragmentSelector.Builder,
,HLSFragmentSelector> SdkBuilder<HLSFragmentSelector.Builder,
,HLSFragmentSelector> SdkPojo
- Enclosing class:
HLSFragmentSelector
-
Method Summary
Modifier and TypeMethodDescriptionfragmentSelectorType
(String fragmentSelectorType) The source of the timestamps for the requested media.fragmentSelectorType
(HLSFragmentSelectorType fragmentSelectorType) The source of the timestamps for the requested media.default HLSFragmentSelector.Builder
timestampRange
(Consumer<HLSTimestampRange.Builder> timestampRange) The start and end of the timestamp range for the requested media.timestampRange
(HLSTimestampRange timestampRange) The start and end of the timestamp range for the requested media.Methods inherited from interface software.amazon.awssdk.utils.builder.CopyableBuilder
copy
Methods inherited from interface software.amazon.awssdk.utils.builder.SdkBuilder
applyMutation, build
Methods inherited from interface software.amazon.awssdk.core.SdkPojo
equalsBySdkFields, sdkFields
-
Method Details
-
fragmentSelectorType
The source of the timestamps for the requested media.
When
FragmentSelectorType
is set toPRODUCER_TIMESTAMP
and GetHLSStreamingSessionURLInput$PlaybackMode isON_DEMAND
orLIVE_REPLAY
, the first fragment ingested with a producer timestamp within the specified FragmentSelector$TimestampRange is included in the media playlist. In addition, the fragments with producer timestamps within theTimestampRange
ingested immediately following the first fragment (up to the GetHLSStreamingSessionURLInput$MaxMediaPlaylistFragmentResults value) are included.Fragments that have duplicate producer timestamps are deduplicated. This means that if producers are producing a stream of fragments with producer timestamps that are approximately equal to the true clock time, the HLS media playlists will contain all of the fragments within the requested timestamp range. If some fragments are ingested within the same time range and very different points in time, only the oldest ingested collection of fragments are returned.
When
FragmentSelectorType
is set toPRODUCER_TIMESTAMP
and GetHLSStreamingSessionURLInput$PlaybackMode isLIVE
, the producer timestamps are used in the MP4 fragments and for deduplication. But the most recently ingested fragments based on server timestamps are included in the HLS media playlist. This means that even if fragments ingested in the past have producer timestamps with values now, they are not included in the HLS media playlist.The default is
SERVER_TIMESTAMP
.- Parameters:
fragmentSelectorType
- The source of the timestamps for the requested media.When
FragmentSelectorType
is set toPRODUCER_TIMESTAMP
and GetHLSStreamingSessionURLInput$PlaybackMode isON_DEMAND
orLIVE_REPLAY
, the first fragment ingested with a producer timestamp within the specified FragmentSelector$TimestampRange is included in the media playlist. In addition, the fragments with producer timestamps within theTimestampRange
ingested immediately following the first fragment (up to the GetHLSStreamingSessionURLInput$MaxMediaPlaylistFragmentResults value) are included.Fragments that have duplicate producer timestamps are deduplicated. This means that if producers are producing a stream of fragments with producer timestamps that are approximately equal to the true clock time, the HLS media playlists will contain all of the fragments within the requested timestamp range. If some fragments are ingested within the same time range and very different points in time, only the oldest ingested collection of fragments are returned.
When
FragmentSelectorType
is set toPRODUCER_TIMESTAMP
and GetHLSStreamingSessionURLInput$PlaybackMode isLIVE
, the producer timestamps are used in the MP4 fragments and for deduplication. But the most recently ingested fragments based on server timestamps are included in the HLS media playlist. This means that even if fragments ingested in the past have producer timestamps with values now, they are not included in the HLS media playlist.The default is
SERVER_TIMESTAMP
.- Returns:
- Returns a reference to this object so that method calls can be chained together.
- See Also:
-
fragmentSelectorType
The source of the timestamps for the requested media.
When
FragmentSelectorType
is set toPRODUCER_TIMESTAMP
and GetHLSStreamingSessionURLInput$PlaybackMode isON_DEMAND
orLIVE_REPLAY
, the first fragment ingested with a producer timestamp within the specified FragmentSelector$TimestampRange is included in the media playlist. In addition, the fragments with producer timestamps within theTimestampRange
ingested immediately following the first fragment (up to the GetHLSStreamingSessionURLInput$MaxMediaPlaylistFragmentResults value) are included.Fragments that have duplicate producer timestamps are deduplicated. This means that if producers are producing a stream of fragments with producer timestamps that are approximately equal to the true clock time, the HLS media playlists will contain all of the fragments within the requested timestamp range. If some fragments are ingested within the same time range and very different points in time, only the oldest ingested collection of fragments are returned.
When
FragmentSelectorType
is set toPRODUCER_TIMESTAMP
and GetHLSStreamingSessionURLInput$PlaybackMode isLIVE
, the producer timestamps are used in the MP4 fragments and for deduplication. But the most recently ingested fragments based on server timestamps are included in the HLS media playlist. This means that even if fragments ingested in the past have producer timestamps with values now, they are not included in the HLS media playlist.The default is
SERVER_TIMESTAMP
.- Parameters:
fragmentSelectorType
- The source of the timestamps for the requested media.When
FragmentSelectorType
is set toPRODUCER_TIMESTAMP
and GetHLSStreamingSessionURLInput$PlaybackMode isON_DEMAND
orLIVE_REPLAY
, the first fragment ingested with a producer timestamp within the specified FragmentSelector$TimestampRange is included in the media playlist. In addition, the fragments with producer timestamps within theTimestampRange
ingested immediately following the first fragment (up to the GetHLSStreamingSessionURLInput$MaxMediaPlaylistFragmentResults value) are included.Fragments that have duplicate producer timestamps are deduplicated. This means that if producers are producing a stream of fragments with producer timestamps that are approximately equal to the true clock time, the HLS media playlists will contain all of the fragments within the requested timestamp range. If some fragments are ingested within the same time range and very different points in time, only the oldest ingested collection of fragments are returned.
When
FragmentSelectorType
is set toPRODUCER_TIMESTAMP
and GetHLSStreamingSessionURLInput$PlaybackMode isLIVE
, the producer timestamps are used in the MP4 fragments and for deduplication. But the most recently ingested fragments based on server timestamps are included in the HLS media playlist. This means that even if fragments ingested in the past have producer timestamps with values now, they are not included in the HLS media playlist.The default is
SERVER_TIMESTAMP
.- Returns:
- Returns a reference to this object so that method calls can be chained together.
- See Also:
-
timestampRange
The start and end of the timestamp range for the requested media.
This value should not be present if
PlaybackType
isLIVE
.- Parameters:
timestampRange
- The start and end of the timestamp range for the requested media.This value should not be present if
PlaybackType
isLIVE
.- Returns:
- Returns a reference to this object so that method calls can be chained together.
-
timestampRange
default HLSFragmentSelector.Builder timestampRange(Consumer<HLSTimestampRange.Builder> timestampRange) The start and end of the timestamp range for the requested media.
This value should not be present if
This is a convenience method that creates an instance of thePlaybackType
isLIVE
.HLSTimestampRange.Builder
avoiding the need to create one manually viaHLSTimestampRange.builder()
.When the
Consumer
completes,SdkBuilder.build()
is called immediately and its result is passed totimestampRange(HLSTimestampRange)
.- Parameters:
timestampRange
- a consumer that will call methods onHLSTimestampRange.Builder
- Returns:
- Returns a reference to this object so that method calls can be chained together.
- See Also:
-