#[non_exhaustive]pub struct DashPackage {Show 16 fields
pub ad_triggers: Option<Vec<AdTriggersElement>>,
pub ads_on_delivery_restrictions: Option<AdsOnDeliveryRestrictions>,
pub encryption: Option<DashEncryption>,
pub include_iframe_only_stream: Option<bool>,
pub manifest_layout: Option<ManifestLayout>,
pub manifest_window_seconds: Option<i32>,
pub min_buffer_time_seconds: Option<i32>,
pub min_update_period_seconds: Option<i32>,
pub period_triggers: Option<Vec<PeriodTriggersElement>>,
pub profile: Option<Profile>,
pub segment_duration_seconds: Option<i32>,
pub segment_template_format: Option<SegmentTemplateFormat>,
pub stream_selection: Option<StreamSelection>,
pub suggested_presentation_delay_seconds: Option<i32>,
pub utc_timing: Option<UtcTiming>,
pub utc_timing_uri: Option<String>,
}
Expand description
A Dynamic Adaptive Streaming over HTTP (DASH) 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_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<DashEncryption>
A Dynamic Adaptive Streaming over HTTP (DASH) encryption configuration.
include_iframe_only_stream: Option<bool>
When enabled, an I-Frame only stream will be included in the output.
manifest_layout: Option<ManifestLayout>
Determines the position of some tags in the Media Presentation Description (MPD). When set to FULL, elements like SegmentTemplate and ContentProtection are included in each Representation. When set to COMPACT, duplicate elements are combined and presented at the AdaptationSet level. When set to DRM_TOP_LEVEL_COMPACT, content protection elements are placed the MPD level and referenced at the AdaptationSet level.
manifest_window_seconds: Option<i32>
Time window (in seconds) contained in each manifest.
min_buffer_time_seconds: Option<i32>
Minimum duration (in seconds) that a player will buffer media before starting the presentation.
min_update_period_seconds: Option<i32>
Minimum duration (in seconds) between potential changes to the Dynamic Adaptive Streaming over HTTP (DASH) Media Presentation Description (MPD).
period_triggers: Option<Vec<PeriodTriggersElement>>
A list of triggers that controls when the outgoing Dynamic Adaptive Streaming over HTTP (DASH) Media Presentation Description (MPD) will be partitioned into multiple periods. If empty, the content will not be partitioned into more than one period. If the list contains “ADS”, new periods will be created where the Channel source contains SCTE-35 ad markers.
profile: Option<Profile>
The Dynamic Adaptive Streaming over HTTP (DASH) profile type. When set to “HBBTV_1_5”, HbbTV 1.5 compliant output is enabled. When set to “DVB-DASH_2014”, DVB-DASH 2014 compliant output is enabled.
segment_duration_seconds: Option<i32>
Duration (in seconds) of each segment. Actual segments will be rounded to the nearest multiple of the source segment duration.
segment_template_format: Option<SegmentTemplateFormat>
Determines the type of SegmentTemplate included in the Media Presentation Description (MPD). When set to NUMBER_WITH_TIMELINE, a full timeline is presented in each SegmentTemplate, with $Number$ media URLs. When set to TIME_WITH_TIMELINE, a full timeline is presented in each SegmentTemplate, with $Time$ media URLs. When set to NUMBER_WITH_DURATION, only a duration is included in each SegmentTemplate, with $Number$ media URLs.
stream_selection: Option<StreamSelection>
A StreamSelection configuration.
suggested_presentation_delay_seconds: Option<i32>
Duration (in seconds) to delay live content before presentation.
utc_timing: Option<UtcTiming>
Determines the type of UTCTiming included in the Media Presentation Description (MPD)
utc_timing_uri: Option<String>
Specifies the value attribute of the UTCTiming field when utcTiming is set to HTTP-ISO, HTTP-HEAD or HTTP-XSDATE
Implementations§
Source§impl DashPackage
impl DashPackage
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<&DashEncryption>
pub fn encryption(&self) -> Option<&DashEncryption>
A Dynamic Adaptive Streaming over HTTP (DASH) encryption configuration.
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 manifest_layout(&self) -> Option<&ManifestLayout>
pub fn manifest_layout(&self) -> Option<&ManifestLayout>
Determines the position of some tags in the Media Presentation Description (MPD). When set to FULL, elements like SegmentTemplate and ContentProtection are included in each Representation. When set to COMPACT, duplicate elements are combined and presented at the AdaptationSet level. When set to DRM_TOP_LEVEL_COMPACT, content protection elements are placed the MPD level and referenced at the AdaptationSet level.
Sourcepub fn manifest_window_seconds(&self) -> Option<i32>
pub fn manifest_window_seconds(&self) -> Option<i32>
Time window (in seconds) contained in each manifest.
Sourcepub fn min_buffer_time_seconds(&self) -> Option<i32>
pub fn min_buffer_time_seconds(&self) -> Option<i32>
Minimum duration (in seconds) that a player will buffer media before starting the presentation.
Sourcepub fn min_update_period_seconds(&self) -> Option<i32>
pub fn min_update_period_seconds(&self) -> Option<i32>
Minimum duration (in seconds) between potential changes to the Dynamic Adaptive Streaming over HTTP (DASH) Media Presentation Description (MPD).
Sourcepub fn period_triggers(&self) -> &[PeriodTriggersElement]
pub fn period_triggers(&self) -> &[PeriodTriggersElement]
A list of triggers that controls when the outgoing Dynamic Adaptive Streaming over HTTP (DASH) Media Presentation Description (MPD) will be partitioned into multiple periods. If empty, the content will not be partitioned into more than one period. If the list contains “ADS”, new periods will be created where the Channel source contains SCTE-35 ad markers.
If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use .period_triggers.is_none()
.
Sourcepub fn profile(&self) -> Option<&Profile>
pub fn profile(&self) -> Option<&Profile>
The Dynamic Adaptive Streaming over HTTP (DASH) profile type. When set to “HBBTV_1_5”, HbbTV 1.5 compliant output is enabled. When set to “DVB-DASH_2014”, DVB-DASH 2014 compliant output is enabled.
Sourcepub fn segment_duration_seconds(&self) -> Option<i32>
pub fn segment_duration_seconds(&self) -> Option<i32>
Duration (in seconds) of each segment. Actual segments will be rounded to the nearest multiple of the source segment duration.
Sourcepub fn segment_template_format(&self) -> Option<&SegmentTemplateFormat>
pub fn segment_template_format(&self) -> Option<&SegmentTemplateFormat>
Determines the type of SegmentTemplate included in the Media Presentation Description (MPD). When set to NUMBER_WITH_TIMELINE, a full timeline is presented in each SegmentTemplate, with $Number$ media URLs. When set to TIME_WITH_TIMELINE, a full timeline is presented in each SegmentTemplate, with $Time$ media URLs. When set to NUMBER_WITH_DURATION, only a duration is included in each SegmentTemplate, with $Number$ media URLs.
Sourcepub fn stream_selection(&self) -> Option<&StreamSelection>
pub fn stream_selection(&self) -> Option<&StreamSelection>
A StreamSelection configuration.
Sourcepub fn suggested_presentation_delay_seconds(&self) -> Option<i32>
pub fn suggested_presentation_delay_seconds(&self) -> Option<i32>
Duration (in seconds) to delay live content before presentation.
Sourcepub fn utc_timing(&self) -> Option<&UtcTiming>
pub fn utc_timing(&self) -> Option<&UtcTiming>
Determines the type of UTCTiming included in the Media Presentation Description (MPD)
Sourcepub fn utc_timing_uri(&self) -> Option<&str>
pub fn utc_timing_uri(&self) -> Option<&str>
Specifies the value attribute of the UTCTiming field when utcTiming is set to HTTP-ISO, HTTP-HEAD or HTTP-XSDATE
Source§impl DashPackage
impl DashPackage
Sourcepub fn builder() -> DashPackageBuilder
pub fn builder() -> DashPackageBuilder
Creates a new builder-style object to manufacture DashPackage
.
Trait Implementations§
Source§impl Clone for DashPackage
impl Clone for DashPackage
Source§fn clone(&self) -> DashPackage
fn clone(&self) -> DashPackage
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for DashPackage
impl Debug for DashPackage
Source§impl PartialEq for DashPackage
impl PartialEq for DashPackage
impl StructuralPartialEq for DashPackage
Auto Trait Implementations§
impl Freeze for DashPackage
impl RefUnwindSafe for DashPackage
impl Send for DashPackage
impl Sync for DashPackage
impl Unpin for DashPackage
impl UnwindSafe for DashPackage
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);