/* * 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 elastictranscoder-2012-09-25.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.ElasticTranscoder.Model { /// /// Use Only for Fragmented MP4 or MPEG-TS Outputs. If you specify a preset for which /// the value of Container is fmp4 (Fragmented MP4) or ts (MPEG-TS), /// Playlists contains information about the master playlists that you want Elastic Transcoder /// to create. We recommend that you create only one master playlist per output format. /// The maximum number of master playlists in a job is 30. /// public partial class Playlist { private string _format; private HlsContentProtection _hlsContentProtection; private string _name; private List _outputKeys = new List(); private PlayReadyDrm _playReadyDrm; private string _status; private string _statusDetail; /// /// Gets and sets the property Format. /// /// The format of the output playlist. Valid formats include HLSv3, HLSv4, /// and Smooth. /// /// public string Format { get { return this._format; } set { this._format = value; } } // Check to see if Format property is set internal bool IsSetFormat() { return this._format != null; } /// /// Gets and sets the property HlsContentProtection. /// /// The HLS content protection settings, if any, that you want Elastic Transcoder to apply /// to the output files associated with this playlist. /// /// public HlsContentProtection HlsContentProtection { get { return this._hlsContentProtection; } set { this._hlsContentProtection = value; } } // Check to see if HlsContentProtection property is set internal bool IsSetHlsContentProtection() { return this._hlsContentProtection != null; } /// /// Gets and sets the property Name. /// /// The name that you want Elastic Transcoder to assign to the master playlist, for example, /// nyc-vacation.m3u8. If the name includes a / character, the section of /// the name before the last / must be identical for all Name /// objects. If you create more than one master playlist, the values of all Name /// objects must be unique. /// /// /// /// Elastic Transcoder automatically appends the relevant file extension to the file name /// (.m3u8 for HLSv3 and HLSv4 playlists, and .ism /// and .ismc for Smooth playlists). If you include a file extension /// in Name, the file name will have two extensions. /// /// /// [AWSProperty(Min=1, Max=255)] public string Name { get { return this._name; } set { this._name = value; } } // Check to see if Name property is set internal bool IsSetName() { return this._name != null; } /// /// Gets and sets the property OutputKeys. /// /// For each output in this job that you want to include in a master playlist, the value /// of the Outputs:Key object. /// ///
  • /// /// If your output is not HLS or does not have a segment duration set, the /// name of the output file is a concatenation of OutputKeyPrefix and Outputs:Key: /// /// /// /// OutputKeyPrefixOutputs:Key /// ///
  • /// /// If your output is HLSv3 and has a segment duration set, or is not included /// in a playlist, Elastic Transcoder creates an output playlist file with a file extension /// of .m3u8, and a series of .ts files that include a five-digit /// sequential counter beginning with 00000: /// /// /// /// OutputKeyPrefixOutputs:Key.m3u8 /// /// /// /// OutputKeyPrefixOutputs:Key00000.ts /// ///
  • /// /// If your output is HLSv4, has a segment duration set, and is included /// in an HLSv4 playlist, Elastic Transcoder creates an output playlist file /// with a file extension of _v4.m3u8. If the output is video, Elastic Transcoder /// also creates an output file with an extension of _iframe.m3u8: /// /// /// /// OutputKeyPrefixOutputs:Key_v4.m3u8 /// /// /// /// OutputKeyPrefixOutputs:Key_iframe.m3u8 /// /// /// /// OutputKeyPrefixOutputs:Key.ts /// ///
/// /// Elastic Transcoder automatically appends the relevant file extension to the file name. /// If you include a file extension in Output Key, the file name will have two extensions. /// /// /// /// If you include more than one output in a playlist, any segment duration settings, /// clip settings, or caption settings must be the same for all outputs in the playlist. /// For Smooth playlists, the Audio:Profile, Video:Profile, /// and Video:FrameRate to Video:KeyframesMaxDist ratio must /// be the same for all outputs. /// ///
[AWSProperty(Max=30)] public List OutputKeys { get { return this._outputKeys; } set { this._outputKeys = value; } } // Check to see if OutputKeys property is set internal bool IsSetOutputKeys() { return this._outputKeys != null && this._outputKeys.Count > 0; } /// /// Gets and sets the property PlayReadyDrm. /// /// The DRM settings, if any, that you want Elastic Transcoder to apply to the output /// files associated with this playlist. /// /// public PlayReadyDrm PlayReadyDrm { get { return this._playReadyDrm; } set { this._playReadyDrm = value; } } // Check to see if PlayReadyDrm property is set internal bool IsSetPlayReadyDrm() { return this._playReadyDrm != null; } /// /// Gets and sets the property Status. /// /// The status of the job with which the playlist is associated. /// /// public string Status { get { return this._status; } set { this._status = value; } } // Check to see if Status property is set internal bool IsSetStatus() { return this._status != null; } /// /// Gets and sets the property StatusDetail. /// /// Information that further explains the status. /// /// [AWSProperty(Min=0, Max=255)] public string StatusDetail { get { return this._statusDetail; } set { this._statusDetail = value; } } // Check to see if StatusDetail property is set internal bool IsSetStatusDetail() { return this._statusDetail != null; } } }