#[non_exhaustive]pub struct DashFragmentSelectorBuilder { /* private fields */ }
Expand description
A builder for DashFragmentSelector
.
Implementations§
source§impl DashFragmentSelectorBuilder
impl DashFragmentSelectorBuilder
sourcepub fn fragment_selector_type(self, input: DashFragmentSelectorType) -> Self
pub fn fragment_selector_type(self, input: DashFragmentSelectorType) -> Self
The source of the timestamps for the requested media.
When FragmentSelectorType
is set to PRODUCER_TIMESTAMP
and GetDASHStreamingSessionURLInput$PlaybackMode
is ON_DEMAND
or LIVE_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 the TimestampRange
ingested immediately following the first fragment (up to the GetDASHStreamingSessionURLInput$MaxManifestFragmentResults
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 MPEG-DASH manifest 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 to PRODUCER_TIMESTAMP
and GetDASHStreamingSessionURLInput$PlaybackMode
is LIVE
, 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 MPEG-DASH manifest. 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
.
sourcepub fn set_fragment_selector_type(
self,
input: Option<DashFragmentSelectorType>
) -> Self
pub fn set_fragment_selector_type( self, input: Option<DashFragmentSelectorType> ) -> Self
The source of the timestamps for the requested media.
When FragmentSelectorType
is set to PRODUCER_TIMESTAMP
and GetDASHStreamingSessionURLInput$PlaybackMode
is ON_DEMAND
or LIVE_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 the TimestampRange
ingested immediately following the first fragment (up to the GetDASHStreamingSessionURLInput$MaxManifestFragmentResults
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 MPEG-DASH manifest 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 to PRODUCER_TIMESTAMP
and GetDASHStreamingSessionURLInput$PlaybackMode
is LIVE
, 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 MPEG-DASH manifest. 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
.
sourcepub fn get_fragment_selector_type(&self) -> &Option<DashFragmentSelectorType>
pub fn get_fragment_selector_type(&self) -> &Option<DashFragmentSelectorType>
The source of the timestamps for the requested media.
When FragmentSelectorType
is set to PRODUCER_TIMESTAMP
and GetDASHStreamingSessionURLInput$PlaybackMode
is ON_DEMAND
or LIVE_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 the TimestampRange
ingested immediately following the first fragment (up to the GetDASHStreamingSessionURLInput$MaxManifestFragmentResults
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 MPEG-DASH manifest 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 to PRODUCER_TIMESTAMP
and GetDASHStreamingSessionURLInput$PlaybackMode
is LIVE
, 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 MPEG-DASH manifest. 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
.
sourcepub fn timestamp_range(self, input: DashTimestampRange) -> Self
pub fn timestamp_range(self, input: DashTimestampRange) -> Self
The start and end of the timestamp range for the requested media.
This value should not be present if PlaybackType
is LIVE
.
sourcepub fn set_timestamp_range(self, input: Option<DashTimestampRange>) -> Self
pub fn set_timestamp_range(self, input: Option<DashTimestampRange>) -> Self
The start and end of the timestamp range for the requested media.
This value should not be present if PlaybackType
is LIVE
.
sourcepub fn get_timestamp_range(&self) -> &Option<DashTimestampRange>
pub fn get_timestamp_range(&self) -> &Option<DashTimestampRange>
The start and end of the timestamp range for the requested media.
This value should not be present if PlaybackType
is LIVE
.
sourcepub fn build(self) -> DashFragmentSelector
pub fn build(self) -> DashFragmentSelector
Consumes the builder and constructs a DashFragmentSelector
.
Trait Implementations§
source§impl Clone for DashFragmentSelectorBuilder
impl Clone for DashFragmentSelectorBuilder
source§fn clone(&self) -> DashFragmentSelectorBuilder
fn clone(&self) -> DashFragmentSelectorBuilder
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for DashFragmentSelectorBuilder
impl Debug for DashFragmentSelectorBuilder
source§impl Default for DashFragmentSelectorBuilder
impl Default for DashFragmentSelectorBuilder
source§fn default() -> DashFragmentSelectorBuilder
fn default() -> DashFragmentSelectorBuilder
source§impl PartialEq for DashFragmentSelectorBuilder
impl PartialEq for DashFragmentSelectorBuilder
source§fn eq(&self, other: &DashFragmentSelectorBuilder) -> bool
fn eq(&self, other: &DashFragmentSelectorBuilder) -> bool
self
and other
values to be equal, and is used
by ==
.