#[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: Option<bool>,
pub include_iframe_only_stream: Option<bool>,
pub playlist_type: Option<PlaylistType>,
pub playlist_window_seconds: Option<i32>,
pub program_date_time_interval_seconds: Option<i32>,
pub segment_duration_seconds: Option<i32>,
pub stream_selection: Option<StreamSelection>,
pub use_audio_rendition_group: Option<bool>,
}
Expand description
An HTTP Live Streaming (HLS) packaging configuration.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
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: Option<bool>
When enabled, MediaPackage passes through digital video broadcasting (DVB) subtitles into the output.
include_iframe_only_stream: Option<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: Option<i32>
Time window (in seconds) contained in each parent manifest.
program_date_time_interval_seconds: Option<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: Option<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: Option<bool>
When enabled, audio streams will be placed in rendition groups in the output.
Implementations§
Source§impl HlsPackage
impl HlsPackage
Sourcepub fn ad_markers(&self) -> Option<&AdMarkers>
pub fn ad_markers(&self) -> 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.
Sourcepub fn ad_triggers(&self) -> &[AdTriggersElement]
pub fn ad_triggers(&self) -> &[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.
If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use .ad_triggers.is_none()
.
Sourcepub fn ads_on_delivery_restrictions(&self) -> Option<&AdsOnDeliveryRestrictions>
pub fn ads_on_delivery_restrictions(&self) -> 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.
Sourcepub fn encryption(&self) -> Option<&HlsEncryption>
pub fn encryption(&self) -> Option<&HlsEncryption>
An HTTP Live Streaming (HLS) encryption configuration.
Sourcepub fn include_dvb_subtitles(&self) -> Option<bool>
pub fn include_dvb_subtitles(&self) -> Option<bool>
When enabled, MediaPackage passes through digital video broadcasting (DVB) subtitles into the output.
Sourcepub fn include_iframe_only_stream(&self) -> Option<bool>
pub fn include_iframe_only_stream(&self) -> Option<bool>
When enabled, an I-Frame only stream will be included in the output.
Sourcepub fn playlist_type(&self) -> Option<&PlaylistType>
pub fn playlist_type(&self) -> 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.
Sourcepub fn playlist_window_seconds(&self) -> Option<i32>
pub fn playlist_window_seconds(&self) -> Option<i32>
Time window (in seconds) contained in each parent manifest.
Sourcepub fn program_date_time_interval_seconds(&self) -> Option<i32>
pub fn program_date_time_interval_seconds(&self) -> Option<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.
Sourcepub fn segment_duration_seconds(&self) -> Option<i32>
pub fn segment_duration_seconds(&self) -> Option<i32>
Duration (in seconds) of each fragment. Actual fragments will be rounded to the nearest multiple of the source fragment duration.
Sourcepub fn stream_selection(&self) -> Option<&StreamSelection>
pub fn stream_selection(&self) -> Option<&StreamSelection>
A StreamSelection configuration.
Sourcepub fn use_audio_rendition_group(&self) -> Option<bool>
pub fn use_audio_rendition_group(&self) -> Option<bool>
When enabled, audio streams will be placed in rendition groups in the output.
Source§impl HlsPackage
impl HlsPackage
Sourcepub fn builder() -> HlsPackageBuilder
pub fn builder() -> HlsPackageBuilder
Creates a new builder-style object to manufacture HlsPackage
.
Trait Implementations§
Source§impl Clone for HlsPackage
impl Clone for HlsPackage
Source§fn clone(&self) -> HlsPackage
fn clone(&self) -> HlsPackage
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for HlsPackage
impl Debug for HlsPackage
Source§impl PartialEq for HlsPackage
impl PartialEq for HlsPackage
impl StructuralPartialEq for HlsPackage
Auto Trait Implementations§
impl Freeze for HlsPackage
impl RefUnwindSafe for HlsPackage
impl Send for HlsPackage
impl Sync for HlsPackage
impl Unpin for HlsPackage
impl UnwindSafe for HlsPackage
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Paint for Twhere
T: ?Sized,
impl<T> Paint for Twhere
T: ?Sized,
Source§fn fg(&self, value: Color) -> Painted<&T>
fn fg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self
with the foreground set to
value
.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like red()
and
green()
, which have the same functionality but are
pithier.
§Example
Set foreground color to white using fg()
:
use yansi::{Paint, Color};
painted.fg(Color::White);
Set foreground color to white using white()
.
use yansi::Paint;
painted.white();
Source§fn bright_black(&self) -> Painted<&T>
fn bright_black(&self) -> Painted<&T>
Source§fn bright_red(&self) -> Painted<&T>
fn bright_red(&self) -> Painted<&T>
Source§fn bright_green(&self) -> Painted<&T>
fn bright_green(&self) -> Painted<&T>
Source§fn bright_yellow(&self) -> Painted<&T>
fn bright_yellow(&self) -> Painted<&T>
Source§fn bright_blue(&self) -> Painted<&T>
fn bright_blue(&self) -> Painted<&T>
Source§fn bright_magenta(&self) -> Painted<&T>
fn bright_magenta(&self) -> Painted<&T>
Source§fn bright_cyan(&self) -> Painted<&T>
fn bright_cyan(&self) -> Painted<&T>
Source§fn bright_white(&self) -> Painted<&T>
fn bright_white(&self) -> Painted<&T>
Source§fn bg(&self, value: Color) -> Painted<&T>
fn bg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self
with the background set to
value
.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like on_red()
and
on_green()
, which have the same functionality but
are pithier.
§Example
Set background color to red using fg()
:
use yansi::{Paint, Color};
painted.bg(Color::Red);
Set background color to red using on_red()
.
use yansi::Paint;
painted.on_red();
Source§fn on_primary(&self) -> Painted<&T>
fn on_primary(&self) -> Painted<&T>
Source§fn on_magenta(&self) -> Painted<&T>
fn on_magenta(&self) -> Painted<&T>
Source§fn on_bright_black(&self) -> Painted<&T>
fn on_bright_black(&self) -> Painted<&T>
Source§fn on_bright_red(&self) -> Painted<&T>
fn on_bright_red(&self) -> Painted<&T>
Source§fn on_bright_green(&self) -> Painted<&T>
fn on_bright_green(&self) -> Painted<&T>
Source§fn on_bright_yellow(&self) -> Painted<&T>
fn on_bright_yellow(&self) -> Painted<&T>
Source§fn on_bright_blue(&self) -> Painted<&T>
fn on_bright_blue(&self) -> Painted<&T>
Source§fn on_bright_magenta(&self) -> Painted<&T>
fn on_bright_magenta(&self) -> Painted<&T>
Source§fn on_bright_cyan(&self) -> Painted<&T>
fn on_bright_cyan(&self) -> Painted<&T>
Source§fn on_bright_white(&self) -> Painted<&T>
fn on_bright_white(&self) -> Painted<&T>
Source§fn attr(&self, value: Attribute) -> Painted<&T>
fn attr(&self, value: Attribute) -> Painted<&T>
Enables the styling Attribute
value
.
This method should be used rarely. Instead, prefer to use
attribute-specific builder methods like bold()
and
underline()
, which have the same functionality
but are pithier.
§Example
Make text bold using attr()
:
use yansi::{Paint, Attribute};
painted.attr(Attribute::Bold);
Make text bold using using bold()
.
use yansi::Paint;
painted.bold();
Source§fn rapid_blink(&self) -> Painted<&T>
fn rapid_blink(&self) -> Painted<&T>
Source§fn quirk(&self, value: Quirk) -> Painted<&T>
fn quirk(&self, value: Quirk) -> Painted<&T>
Enables the yansi
Quirk
value
.
This method should be used rarely. Instead, prefer to use quirk-specific
builder methods like mask()
and
wrap()
, which have the same functionality but are
pithier.
§Example
Enable wrapping using .quirk()
:
use yansi::{Paint, Quirk};
painted.quirk(Quirk::Wrap);
Enable wrapping using wrap()
.
use yansi::Paint;
painted.wrap();
Source§fn clear(&self) -> Painted<&T>
👎Deprecated since 1.0.1: renamed to resetting()
due to conflicts with Vec::clear()
.
The clear()
method will be removed in a future release.
fn clear(&self) -> Painted<&T>
resetting()
due to conflicts with Vec::clear()
.
The clear()
method will be removed in a future release.Source§fn whenever(&self, value: Condition) -> Painted<&T>
fn whenever(&self, value: Condition) -> Painted<&T>
Conditionally enable styling based on whether the Condition
value
applies. Replaces any previous condition.
See the crate level docs for more details.
§Example
Enable styling painted
only when both stdout
and stderr
are TTYs:
use yansi::{Paint, Condition};
painted.red().on_yellow().whenever(Condition::STDOUTERR_ARE_TTY);