Class HLSFragmentSelector
- All Implemented Interfaces:
Serializable
,SdkPojo
,ToCopyableBuilder<HLSFragmentSelector.Builder,
HLSFragmentSelector>
Contains the range of timestamps for the requested media, and the source of the timestamps.
- See Also:
-
Nested Class Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic HLSFragmentSelector.Builder
builder()
final boolean
final boolean
equalsBySdkFields
(Object obj) Indicates whether some other object is "equal to" this one by SDK fields.final HLSFragmentSelectorType
The source of the timestamps for the requested media.final String
The source of the timestamps for the requested media.final <T> Optional
<T> getValueForField
(String fieldName, Class<T> clazz) final int
hashCode()
static Class
<? extends HLSFragmentSelector.Builder> final HLSTimestampRange
The start and end of the timestamp range for the requested media.Take this object and create a builder that contains all of the current property values of this object.final String
toString()
Returns a string representation of this object.Methods inherited from interface software.amazon.awssdk.utils.builder.ToCopyableBuilder
copy
-
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
.If the service returns an enum value that is not available in the current SDK version,
fragmentSelectorType
will returnHLSFragmentSelectorType.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available fromfragmentSelectorTypeAsString()
.- Returns:
- 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
. - See Also:
-
fragmentSelectorTypeAsString
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
.If the service returns an enum value that is not available in the current SDK version,
fragmentSelectorType
will returnHLSFragmentSelectorType.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available fromfragmentSelectorTypeAsString()
.- Returns:
- 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
. - See Also:
-
timestampRange
The start and end of the timestamp range for the requested media.
This value should not be present if
PlaybackType
isLIVE
.- Returns:
- The start and end of the timestamp range for the requested media.
This value should not be present if
PlaybackType
isLIVE
.
-
toBuilder
Description copied from interface:ToCopyableBuilder
Take this object and create a builder that contains all of the current property values of this object.- Specified by:
toBuilder
in interfaceToCopyableBuilder<HLSFragmentSelector.Builder,
HLSFragmentSelector> - Returns:
- a builder for type T
-
builder
-
serializableBuilderClass
-
hashCode
public final int hashCode() -
equals
-
equalsBySdkFields
Description copied from interface:SdkPojo
Indicates whether some other object is "equal to" this one by SDK fields. An SDK field is a modeled, non-inherited field in anSdkPojo
class, and is generated based on a service model.If an
SdkPojo
class does not have any inherited fields,equalsBySdkFields
andequals
are essentially the same.- Specified by:
equalsBySdkFields
in interfaceSdkPojo
- Parameters:
obj
- the object to be compared with- Returns:
- true if the other object equals to this object by sdk fields, false otherwise.
-
toString
Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be redacted from this string using a placeholder value. -
getValueForField
-
sdkFields
-