#[non_exhaustive]
pub struct HlsPackage { pub ad_markers: Option<AdMarkers>, pub ad_triggers: Option<Vec<AdTriggersElement>>, pub ads_on_delivery_restrictions: Option<AdsOnDeliveryRestrictions>, pub encryption: Option<HlsEncryption>, pub include_dvb_subtitles: bool, pub include_iframe_only_stream: bool, pub playlist_type: Option<PlaylistType>, pub playlist_window_seconds: i32, pub program_date_time_interval_seconds: i32, pub segment_duration_seconds: i32, pub stream_selection: Option<StreamSelection>, pub use_audio_rendition_group: bool, }
Expand description

An HTTP Live Streaming (HLS) packaging configuration.

Fields (Non-exhaustive)

This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.
ad_markers: Option<AdMarkers>

This setting controls how ad markers are included in the packaged OriginEndpoint. “NONE” will omit all SCTE-35 ad markers from the output. “PASSTHROUGH” causes the manifest to contain a copy of the SCTE-35 ad markers (comments) taken directly from the input HTTP Live Streaming (HLS) manifest. “SCTE35_ENHANCED” generates ad markers and blackout tags based on SCTE-35 messages in the input source. “DATERANGE” inserts EXT-X-DATERANGE tags to signal ad and program transition events in HLS and CMAF manifests. For this option, you must set a programDateTimeIntervalSeconds value that is greater than 0.

ad_triggers: Option<Vec<AdTriggersElement>>

A list of SCTE-35 message types that are treated as ad markers in the output. If empty, no ad markers are output. Specify multiple items to create ad markers for all of the included message types.

ads_on_delivery_restrictions: Option<AdsOnDeliveryRestrictions>

This setting allows the delivery restriction flags on SCTE-35 segmentation descriptors to determine whether a message signals an ad. Choosing “NONE” means no SCTE-35 messages become ads. Choosing “RESTRICTED” means SCTE-35 messages of the types specified in AdTriggers that contain delivery restrictions will be treated as ads. Choosing “UNRESTRICTED” means SCTE-35 messages of the types specified in AdTriggers that do not contain delivery restrictions will be treated as ads. Choosing “BOTH” means all SCTE-35 messages of the types specified in AdTriggers will be treated as ads. Note that Splice Insert messages do not have these flags and are always treated as ads if specified in AdTriggers.

encryption: Option<HlsEncryption>

An HTTP Live Streaming (HLS) encryption configuration.

include_dvb_subtitles: bool

When enabled, MediaPackage passes through digital video broadcasting (DVB) subtitles into the output.

include_iframe_only_stream: bool

When enabled, an I-Frame only stream will be included in the output.

playlist_type: Option<PlaylistType>

The HTTP Live Streaming (HLS) playlist type. When either “EVENT” or “VOD” is specified, a corresponding EXT-X-PLAYLIST-TYPE entry will be included in the media playlist.

playlist_window_seconds: i32

Time window (in seconds) contained in each parent manifest.

program_date_time_interval_seconds: i32

The interval (in seconds) between each EXT-X-PROGRAM-DATE-TIME tag inserted into manifests. Additionally, when an interval is specified ID3Timed Metadata messages will be generated every 5 seconds using the ingest time of the content. If the interval is not specified, or set to 0, then no EXT-X-PROGRAM-DATE-TIME tags will be inserted into manifests and no ID3Timed Metadata messages will be generated. Note that irrespective of this parameter, if any ID3 Timed Metadata is found in HTTP Live Streaming (HLS) input, it will be passed through to HLS output.

segment_duration_seconds: i32

Duration (in seconds) of each fragment. Actual fragments will be rounded to the nearest multiple of the source fragment duration.

stream_selection: Option<StreamSelection>

A StreamSelection configuration.

use_audio_rendition_group: bool

When enabled, audio streams will be placed in rendition groups in the output.

Implementations

This setting controls how ad markers are included in the packaged OriginEndpoint. “NONE” will omit all SCTE-35 ad markers from the output. “PASSTHROUGH” causes the manifest to contain a copy of the SCTE-35 ad markers (comments) taken directly from the input HTTP Live Streaming (HLS) manifest. “SCTE35_ENHANCED” generates ad markers and blackout tags based on SCTE-35 messages in the input source. “DATERANGE” inserts EXT-X-DATERANGE tags to signal ad and program transition events in HLS and CMAF manifests. For this option, you must set a programDateTimeIntervalSeconds value that is greater than 0.

A list of SCTE-35 message types that are treated as ad markers in the output. If empty, no ad markers are output. Specify multiple items to create ad markers for all of the included message types.

This setting allows the delivery restriction flags on SCTE-35 segmentation descriptors to determine whether a message signals an ad. Choosing “NONE” means no SCTE-35 messages become ads. Choosing “RESTRICTED” means SCTE-35 messages of the types specified in AdTriggers that contain delivery restrictions will be treated as ads. Choosing “UNRESTRICTED” means SCTE-35 messages of the types specified in AdTriggers that do not contain delivery restrictions will be treated as ads. Choosing “BOTH” means all SCTE-35 messages of the types specified in AdTriggers will be treated as ads. Note that Splice Insert messages do not have these flags and are always treated as ads if specified in AdTriggers.

An HTTP Live Streaming (HLS) encryption configuration.

When enabled, MediaPackage passes through digital video broadcasting (DVB) subtitles into the output.

When enabled, an I-Frame only stream will be included in the output.

The HTTP Live Streaming (HLS) playlist type. When either “EVENT” or “VOD” is specified, a corresponding EXT-X-PLAYLIST-TYPE entry will be included in the media playlist.

Time window (in seconds) contained in each parent manifest.

The interval (in seconds) between each EXT-X-PROGRAM-DATE-TIME tag inserted into manifests. Additionally, when an interval is specified ID3Timed Metadata messages will be generated every 5 seconds using the ingest time of the content. If the interval is not specified, or set to 0, then no EXT-X-PROGRAM-DATE-TIME tags will be inserted into manifests and no ID3Timed Metadata messages will be generated. Note that irrespective of this parameter, if any ID3 Timed Metadata is found in HTTP Live Streaming (HLS) input, it will be passed through to HLS output.

Duration (in seconds) of each fragment. Actual fragments will be rounded to the nearest multiple of the source fragment duration.

A StreamSelection configuration.

When enabled, audio streams will be placed in rendition groups in the output.

Creates a new builder-style object to manufacture HlsPackage

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more