/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Information about the master playlist.See Also:
AWS
* API Reference
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.
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.
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.
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.
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.
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.
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.
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.
The format of the output playlist. Valid formats include HLSv3
,
* HLSv4
, and Smooth
.
The format of the output playlist. Valid formats include HLSv3
,
* HLSv4
, and Smooth
.
The format of the output playlist. Valid formats include HLSv3
,
* HLSv4
, and Smooth
.
The format of the output playlist. Valid formats include HLSv3
,
* HLSv4
, and Smooth
.
The format of the output playlist. Valid formats include HLSv3
,
* HLSv4
, and Smooth
.
The format of the output playlist. Valid formats include HLSv3
,
* HLSv4
, and Smooth
.
The format of the output playlist. Valid formats include HLSv3
,
* HLSv4
, and Smooth
.
The format of the output playlist. Valid formats include HLSv3
,
* HLSv4
, and Smooth
.
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.
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.
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.
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.
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.
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.
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.
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.
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.
The HLS content protection settings, if any, that you want Elastic Transcoder * to apply to the output files associated with this playlist.
*/ inline const HlsContentProtection& GetHlsContentProtection() const{ return m_hlsContentProtection; } /** *The HLS content protection settings, if any, that you want Elastic Transcoder * to apply to the output files associated with this playlist.
*/ inline bool HlsContentProtectionHasBeenSet() const { return m_hlsContentProtectionHasBeenSet; } /** *The HLS content protection settings, if any, that you want Elastic Transcoder * to apply to the output files associated with this playlist.
*/ inline void SetHlsContentProtection(const HlsContentProtection& value) { m_hlsContentProtectionHasBeenSet = true; m_hlsContentProtection = value; } /** *The HLS content protection settings, if any, that you want Elastic Transcoder * to apply to the output files associated with this playlist.
*/ inline void SetHlsContentProtection(HlsContentProtection&& value) { m_hlsContentProtectionHasBeenSet = true; m_hlsContentProtection = std::move(value); } /** *The HLS content protection settings, if any, that you want Elastic Transcoder * to apply to the output files associated with this playlist.
*/ inline CreateJobPlaylist& WithHlsContentProtection(const HlsContentProtection& value) { SetHlsContentProtection(value); return *this;} /** *The HLS content protection settings, if any, that you want Elastic Transcoder * to apply to the output files associated with this playlist.
*/ inline CreateJobPlaylist& WithHlsContentProtection(HlsContentProtection&& value) { SetHlsContentProtection(std::move(value)); return *this;} /** *The DRM settings, if any, that you want Elastic Transcoder to apply to the * output files associated with this playlist.
*/ inline const PlayReadyDrm& GetPlayReadyDrm() const{ return m_playReadyDrm; } /** *The DRM settings, if any, that you want Elastic Transcoder to apply to the * output files associated with this playlist.
*/ inline bool PlayReadyDrmHasBeenSet() const { return m_playReadyDrmHasBeenSet; } /** *The DRM settings, if any, that you want Elastic Transcoder to apply to the * output files associated with this playlist.
*/ inline void SetPlayReadyDrm(const PlayReadyDrm& value) { m_playReadyDrmHasBeenSet = true; m_playReadyDrm = value; } /** *The DRM settings, if any, that you want Elastic Transcoder to apply to the * output files associated with this playlist.
*/ inline void SetPlayReadyDrm(PlayReadyDrm&& value) { m_playReadyDrmHasBeenSet = true; m_playReadyDrm = std::move(value); } /** *The DRM settings, if any, that you want Elastic Transcoder to apply to the * output files associated with this playlist.
*/ inline CreateJobPlaylist& WithPlayReadyDrm(const PlayReadyDrm& value) { SetPlayReadyDrm(value); return *this;} /** *The DRM settings, if any, that you want Elastic Transcoder to apply to the * output files associated with this playlist.
*/ inline CreateJobPlaylist& WithPlayReadyDrm(PlayReadyDrm&& value) { SetPlayReadyDrm(std::move(value)); return *this;} private: Aws::String m_name; bool m_nameHasBeenSet = false; Aws::String m_format; bool m_formatHasBeenSet = false; Aws::Vector