/*
* 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
{
///
/// Information about the master playlist.
///
public partial class CreateJobPlaylist
{
private string _format;
private HlsContentProtection _hlsContentProtection;
private string _name;
private List _outputKeys = new List();
private PlayReadyDrm _playReadyDrm;
///
/// 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:Key
00000.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;
}
}
}