#[non_exhaustive]
pub struct DashPackageBuilder { /* private fields */ }
Expand description

A builder for DashPackage.

Implementations§

source§

impl DashPackageBuilder

source

pub fn ad_triggers(self, input: AdTriggersElement) -> Self

Appends an item to ad_triggers.

To override the contents of this collection use set_ad_triggers.

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.

source

pub fn set_ad_triggers(self, input: Option<Vec<AdTriggersElement>>) -> Self

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.

source

pub fn get_ad_triggers(&self) -> &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.

source

pub fn ads_on_delivery_restrictions( self, input: AdsOnDeliveryRestrictions, ) -> Self

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.

source

pub fn set_ads_on_delivery_restrictions( self, input: Option<AdsOnDeliveryRestrictions>, ) -> Self

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.

source

pub fn get_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.

source

pub fn encryption(self, input: DashEncryption) -> Self

A Dynamic Adaptive Streaming over HTTP (DASH) encryption configuration.

source

pub fn set_encryption(self, input: Option<DashEncryption>) -> Self

A Dynamic Adaptive Streaming over HTTP (DASH) encryption configuration.

source

pub fn get_encryption(&self) -> &Option<DashEncryption>

A Dynamic Adaptive Streaming over HTTP (DASH) encryption configuration.

source

pub fn include_iframe_only_stream(self, input: bool) -> Self

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

source

pub fn set_include_iframe_only_stream(self, input: Option<bool>) -> Self

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

source

pub fn get_include_iframe_only_stream(&self) -> &Option<bool>

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

source

pub fn manifest_layout(self, input: ManifestLayout) -> Self

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.

source

pub fn set_manifest_layout(self, input: Option<ManifestLayout>) -> Self

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.

source

pub fn get_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.

source

pub fn manifest_window_seconds(self, input: i32) -> Self

Time window (in seconds) contained in each manifest.

source

pub fn set_manifest_window_seconds(self, input: Option<i32>) -> Self

Time window (in seconds) contained in each manifest.

source

pub fn get_manifest_window_seconds(&self) -> &Option<i32>

Time window (in seconds) contained in each manifest.

source

pub fn min_buffer_time_seconds(self, input: i32) -> Self

Minimum duration (in seconds) that a player will buffer media before starting the presentation.

source

pub fn set_min_buffer_time_seconds(self, input: Option<i32>) -> Self

Minimum duration (in seconds) that a player will buffer media before starting the presentation.

source

pub fn get_min_buffer_time_seconds(&self) -> &Option<i32>

Minimum duration (in seconds) that a player will buffer media before starting the presentation.

source

pub fn min_update_period_seconds(self, input: i32) -> Self

Minimum duration (in seconds) between potential changes to the Dynamic Adaptive Streaming over HTTP (DASH) Media Presentation Description (MPD).

source

pub fn set_min_update_period_seconds(self, input: Option<i32>) -> Self

Minimum duration (in seconds) between potential changes to the Dynamic Adaptive Streaming over HTTP (DASH) Media Presentation Description (MPD).

source

pub fn get_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).

source

pub fn period_triggers(self, input: PeriodTriggersElement) -> Self

Appends an item to period_triggers.

To override the contents of this collection use set_period_triggers.

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.

source

pub fn set_period_triggers( self, input: Option<Vec<PeriodTriggersElement>>, ) -> Self

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.

source

pub fn get_period_triggers(&self) -> &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.

source

pub fn profile(self, input: Profile) -> Self

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.

source

pub fn set_profile(self, input: Option<Profile>) -> Self

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.

source

pub fn get_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.

source

pub fn segment_duration_seconds(self, input: i32) -> Self

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

source

pub fn set_segment_duration_seconds(self, input: Option<i32>) -> Self

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

source

pub fn get_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.

source

pub fn segment_template_format(self, input: SegmentTemplateFormat) -> Self

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.

source

pub fn set_segment_template_format( self, input: Option<SegmentTemplateFormat>, ) -> Self

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.

source

pub fn get_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.

source

pub fn stream_selection(self, input: StreamSelection) -> Self

A StreamSelection configuration.

source

pub fn set_stream_selection(self, input: Option<StreamSelection>) -> Self

A StreamSelection configuration.

source

pub fn get_stream_selection(&self) -> &Option<StreamSelection>

A StreamSelection configuration.

source

pub fn suggested_presentation_delay_seconds(self, input: i32) -> Self

Duration (in seconds) to delay live content before presentation.

source

pub fn set_suggested_presentation_delay_seconds( self, input: Option<i32>, ) -> Self

Duration (in seconds) to delay live content before presentation.

source

pub fn get_suggested_presentation_delay_seconds(&self) -> &Option<i32>

Duration (in seconds) to delay live content before presentation.

source

pub fn utc_timing(self, input: UtcTiming) -> Self

Determines the type of UTCTiming included in the Media Presentation Description (MPD)

source

pub fn set_utc_timing(self, input: Option<UtcTiming>) -> Self

Determines the type of UTCTiming included in the Media Presentation Description (MPD)

source

pub fn get_utc_timing(&self) -> &Option<UtcTiming>

Determines the type of UTCTiming included in the Media Presentation Description (MPD)

source

pub fn utc_timing_uri(self, input: impl Into<String>) -> Self

Specifies the value attribute of the UTCTiming field when utcTiming is set to HTTP-ISO, HTTP-HEAD or HTTP-XSDATE

source

pub fn set_utc_timing_uri(self, input: Option<String>) -> Self

Specifies the value attribute of the UTCTiming field when utcTiming is set to HTTP-ISO, HTTP-HEAD or HTTP-XSDATE

source

pub fn get_utc_timing_uri(&self) -> &Option<String>

Specifies the value attribute of the UTCTiming field when utcTiming is set to HTTP-ISO, HTTP-HEAD or HTTP-XSDATE

source

pub fn build(self) -> DashPackage

Consumes the builder and constructs a DashPackage.

Trait Implementations§

source§

impl Clone for DashPackageBuilder

source§

fn clone(&self) -> DashPackageBuilder

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for DashPackageBuilder

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for DashPackageBuilder

source§

fn default() -> DashPackageBuilder

Returns the “default value” for a type. Read more
source§

impl PartialEq for DashPackageBuilder

source§

fn eq(&self, other: &DashPackageBuilder) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl StructuralPartialEq for DashPackageBuilder

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where T: Clone,

source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

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

fn in_current_span(self) -> Instrumented<Self>

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

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

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

source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts 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 more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts 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 more
source§

impl<Unshared, Shared> IntoShared<Shared> for Unshared
where Shared: FromUnshared<Unshared>,

source§

fn into_shared(self) -> Shared

Creates a shared type from an unshared type.
source§

impl<T> Same for T

source§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where T: Clone,

source§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

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

fn clone_into(&self, target: &mut T)

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

impl<T, U> TryFrom<U> for T
where U: Into<T>,

source§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

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

fn with_current_subscriber(self) -> WithDispatch<Self>

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