/* * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). * You may not use this file except in compliance with the License. * A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either * express or implied. See the License for the specific language governing * permissions and limitations under the License. */ /* * Do not modify this file. This file is generated from the mediapackage-2017-10-12.normal.json service model. */ using System; using System.Collections.Generic; using System.Xml.Serialization; using System.Text; using System.IO; using System.Net; using Amazon.Runtime; using Amazon.Runtime.Internal; namespace Amazon.MediaPackage.Model { /// /// A Dynamic Adaptive Streaming over HTTP (DASH) packaging configuration. /// public partial class DashPackage { private AdsOnDeliveryRestrictions _adsOnDeliveryRestrictions; private List _adTriggers = new List(); private DashEncryption _encryption; private bool? _includeIframeOnlyStream; private ManifestLayout _manifestLayout; private int? _manifestWindowSeconds; private int? _minBufferTimeSeconds; private int? _minUpdatePeriodSeconds; private List _periodTriggers = new List(); private Profile _profile; private int? _segmentDurationSeconds; private SegmentTemplateFormat _segmentTemplateFormat; private StreamSelection _streamSelection; private int? _suggestedPresentationDelaySeconds; private UtcTiming _utcTiming; private string _utcTimingUri; /// /// Gets and sets the property AdsOnDeliveryRestrictions. /// public AdsOnDeliveryRestrictions AdsOnDeliveryRestrictions { get { return this._adsOnDeliveryRestrictions; } set { this._adsOnDeliveryRestrictions = value; } } // Check to see if AdsOnDeliveryRestrictions property is set internal bool IsSetAdsOnDeliveryRestrictions() { return this._adsOnDeliveryRestrictions != null; } /// /// Gets and sets the property AdTriggers. /// public List AdTriggers { get { return this._adTriggers; } set { this._adTriggers = value; } } // Check to see if AdTriggers property is set internal bool IsSetAdTriggers() { return this._adTriggers != null && this._adTriggers.Count > 0; } /// /// Gets and sets the property Encryption. /// public DashEncryption Encryption { get { return this._encryption; } set { this._encryption = value; } } // Check to see if Encryption property is set internal bool IsSetEncryption() { return this._encryption != null; } /// /// Gets and sets the property IncludeIframeOnlyStream. When enabled, an I-Frame only /// stream will be included in the output. /// public bool IncludeIframeOnlyStream { get { return this._includeIframeOnlyStream.GetValueOrDefault(); } set { this._includeIframeOnlyStream = value; } } // Check to see if IncludeIframeOnlyStream property is set internal bool IsSetIncludeIframeOnlyStream() { return this._includeIframeOnlyStream.HasValue; } /// /// Gets and sets the property 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. /// public ManifestLayout ManifestLayout { get { return this._manifestLayout; } set { this._manifestLayout = value; } } // Check to see if ManifestLayout property is set internal bool IsSetManifestLayout() { return this._manifestLayout != null; } /// /// Gets and sets the property ManifestWindowSeconds. Time window (in seconds) contained /// in each manifest. /// public int ManifestWindowSeconds { get { return this._manifestWindowSeconds.GetValueOrDefault(); } set { this._manifestWindowSeconds = value; } } // Check to see if ManifestWindowSeconds property is set internal bool IsSetManifestWindowSeconds() { return this._manifestWindowSeconds.HasValue; } /// /// Gets and sets the property MinBufferTimeSeconds. Minimum duration (in seconds) that /// a player will buffer media before starting the presentation. /// public int MinBufferTimeSeconds { get { return this._minBufferTimeSeconds.GetValueOrDefault(); } set { this._minBufferTimeSeconds = value; } } // Check to see if MinBufferTimeSeconds property is set internal bool IsSetMinBufferTimeSeconds() { return this._minBufferTimeSeconds.HasValue; } /// /// Gets and sets the property MinUpdatePeriodSeconds. Minimum duration (in seconds) between /// potential changes to the Dynamic Adaptive Streaming over HTTP (DASH) Media Presentation /// Description (MPD). /// public int MinUpdatePeriodSeconds { get { return this._minUpdatePeriodSeconds.GetValueOrDefault(); } set { this._minUpdatePeriodSeconds = value; } } // Check to see if MinUpdatePeriodSeconds property is set internal bool IsSetMinUpdatePeriodSeconds() { return this._minUpdatePeriodSeconds.HasValue; } /// /// Gets and sets the property PeriodTriggers. 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 notbe /// partitioned into more than one period. If the list contains "ADS", new periods will /// be created wherethe Channel source contains SCTE-35 ad markers. /// public List PeriodTriggers { get { return this._periodTriggers; } set { this._periodTriggers = value; } } // Check to see if PeriodTriggers property is set internal bool IsSetPeriodTriggers() { return this._periodTriggers != null && this._periodTriggers.Count > 0; } /// /// Gets and sets the property 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. /// public Profile Profile { get { return this._profile; } set { this._profile = value; } } // Check to see if Profile property is set internal bool IsSetProfile() { return this._profile != null; } /// /// Gets and sets the property SegmentDurationSeconds. Duration (in seconds) of each segment. /// Actual segments will berounded to the nearest multiple of the source segment duration. /// public int SegmentDurationSeconds { get { return this._segmentDurationSeconds.GetValueOrDefault(); } set { this._segmentDurationSeconds = value; } } // Check to see if SegmentDurationSeconds property is set internal bool IsSetSegmentDurationSeconds() { return this._segmentDurationSeconds.HasValue; } /// /// Gets and sets the property 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. /// public SegmentTemplateFormat SegmentTemplateFormat { get { return this._segmentTemplateFormat; } set { this._segmentTemplateFormat = value; } } // Check to see if SegmentTemplateFormat property is set internal bool IsSetSegmentTemplateFormat() { return this._segmentTemplateFormat != null; } /// /// Gets and sets the property StreamSelection. /// public StreamSelection StreamSelection { get { return this._streamSelection; } set { this._streamSelection = value; } } // Check to see if StreamSelection property is set internal bool IsSetStreamSelection() { return this._streamSelection != null; } /// /// Gets and sets the property SuggestedPresentationDelaySeconds. Duration (in seconds) /// to delay live content before presentation. /// public int SuggestedPresentationDelaySeconds { get { return this._suggestedPresentationDelaySeconds.GetValueOrDefault(); } set { this._suggestedPresentationDelaySeconds = value; } } // Check to see if SuggestedPresentationDelaySeconds property is set internal bool IsSetSuggestedPresentationDelaySeconds() { return this._suggestedPresentationDelaySeconds.HasValue; } /// /// Gets and sets the property UtcTiming. Determines the type of UTCTiming included in /// the Media Presentation Description (MPD) /// public UtcTiming UtcTiming { get { return this._utcTiming; } set { this._utcTiming = value; } } // Check to see if UtcTiming property is set internal bool IsSetUtcTiming() { return this._utcTiming != null; } /// /// Gets and sets the property UtcTimingUri. Specifies the value attribute of the UTCTiming /// field when utcTiming is set to HTTP-ISO, HTTP-HEAD or HTTP-XSDATE /// public string UtcTimingUri { get { return this._utcTimingUri; } set { this._utcTimingUri = value; } } // Check to see if UtcTimingUri property is set internal bool IsSetUtcTimingUri() { return this._utcTimingUri != null; } } }