/* * 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-vod-2018-11-07.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.MediaPackageVod.Model { /// /// A Dynamic Adaptive Streaming over HTTP (DASH) packaging configuration. /// public partial class DashPackage { private List _dashManifests = new List(); private DashEncryption _encryption; private bool? _includeEncoderConfigurationInSegments; private bool? _includeIframeOnlyStream; private List _periodTriggers = new List(); private int? _segmentDurationSeconds; private SegmentTemplateFormat _segmentTemplateFormat; /// /// Gets and sets the property DashManifests. A list of DASH manifest configurations. /// [AWSProperty(Required=true)] public List DashManifests { get { return this._dashManifests; } set { this._dashManifests = value; } } // Check to see if DashManifests property is set internal bool IsSetDashManifests() { return this._dashManifests != null && this._dashManifests.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 IncludeEncoderConfigurationInSegments. When includeEncoderConfigurationInSegments /// is set to true, MediaPackage places your encoder's Sequence Parameter Set (SPS), Picture /// Parameter Set (PPS), and Video Parameter Set (VPS) metadata in every video segment /// instead of in the init fragment. This lets you use different SPS/PPS/VPS settings /// for your assets during content playback. /// public bool IncludeEncoderConfigurationInSegments { get { return this._includeEncoderConfigurationInSegments.GetValueOrDefault(); } set { this._includeEncoderConfigurationInSegments = value; } } // Check to see if IncludeEncoderConfigurationInSegments property is set internal bool IsSetIncludeEncoderConfigurationInSegments() { return this._includeEncoderConfigurationInSegments.HasValue; } /// /// 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 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 Asset 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 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; } } }