/**
* 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: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.
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.
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.
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.
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.
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.
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.
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.
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.
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