/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace MediaConvert
{
namespace Model
{
/**
* MPEG-2 TS container settings. These apply to outputs in a File output group when
* the output's container is MPEG-2 Transport Stream (M2TS). In these assets, data
* is organized by the program map table (PMT). Each transport stream program
* contains subsets of data, including audio, video, and metadata. Each of these
* subsets of data has a numerical label called a packet identifier (PID). Each
* transport stream program corresponds to one MediaConvert output. The PMT lists
* the types of data in a program along with their PID. Downstream systems and
* players use the program map table to look up the PID for each type of data it
* accesses and then uses the PIDs to locate specific data within the
* asset.See Also:
AWS
* API Reference
*/
class M2tsSettings
{
public:
AWS_MEDIACONVERT_API M2tsSettings();
AWS_MEDIACONVERT_API M2tsSettings(Aws::Utils::Json::JsonView jsonValue);
AWS_MEDIACONVERT_API M2tsSettings& operator=(Aws::Utils::Json::JsonView jsonValue);
AWS_MEDIACONVERT_API Aws::Utils::Json::JsonValue Jsonize() const;
/**
* Selects between the DVB and ATSC buffer models for Dolby Digital audio.
*/
inline const M2tsAudioBufferModel& GetAudioBufferModel() const{ return m_audioBufferModel; }
/**
* Selects between the DVB and ATSC buffer models for Dolby Digital audio.
*/
inline bool AudioBufferModelHasBeenSet() const { return m_audioBufferModelHasBeenSet; }
/**
* Selects between the DVB and ATSC buffer models for Dolby Digital audio.
*/
inline void SetAudioBufferModel(const M2tsAudioBufferModel& value) { m_audioBufferModelHasBeenSet = true; m_audioBufferModel = value; }
/**
* Selects between the DVB and ATSC buffer models for Dolby Digital audio.
*/
inline void SetAudioBufferModel(M2tsAudioBufferModel&& value) { m_audioBufferModelHasBeenSet = true; m_audioBufferModel = std::move(value); }
/**
* Selects between the DVB and ATSC buffer models for Dolby Digital audio.
*/
inline M2tsSettings& WithAudioBufferModel(const M2tsAudioBufferModel& value) { SetAudioBufferModel(value); return *this;}
/**
* Selects between the DVB and ATSC buffer models for Dolby Digital audio.
*/
inline M2tsSettings& WithAudioBufferModel(M2tsAudioBufferModel&& value) { SetAudioBufferModel(std::move(value)); return *this;}
/**
* Specify this setting only when your output will be consumed by a downstream
* repackaging workflow that is sensitive to very small duration differences
* between video and audio. For this situation, choose Match video duration. In all
* other cases, keep the default value, Default codec duration. When you choose
* Match video duration, MediaConvert pads the output audio streams with silence or
* trims them to ensure that the total duration of each audio stream is at least as
* long as the total duration of the video stream. After padding or trimming, the
* audio stream duration is no more than one frame longer than the video stream.
* MediaConvert applies audio padding or trimming only to the end of the last
* segment of the output. For unsegmented outputs, MediaConvert adds padding only
* to the end of the file. When you keep the default value, any minor discrepancies
* between audio and video duration will depend on your output audio codec.
*/
inline const M2tsAudioDuration& GetAudioDuration() const{ return m_audioDuration; }
/**
* Specify this setting only when your output will be consumed by a downstream
* repackaging workflow that is sensitive to very small duration differences
* between video and audio. For this situation, choose Match video duration. In all
* other cases, keep the default value, Default codec duration. When you choose
* Match video duration, MediaConvert pads the output audio streams with silence or
* trims them to ensure that the total duration of each audio stream is at least as
* long as the total duration of the video stream. After padding or trimming, the
* audio stream duration is no more than one frame longer than the video stream.
* MediaConvert applies audio padding or trimming only to the end of the last
* segment of the output. For unsegmented outputs, MediaConvert adds padding only
* to the end of the file. When you keep the default value, any minor discrepancies
* between audio and video duration will depend on your output audio codec.
*/
inline bool AudioDurationHasBeenSet() const { return m_audioDurationHasBeenSet; }
/**
* Specify this setting only when your output will be consumed by a downstream
* repackaging workflow that is sensitive to very small duration differences
* between video and audio. For this situation, choose Match video duration. In all
* other cases, keep the default value, Default codec duration. When you choose
* Match video duration, MediaConvert pads the output audio streams with silence or
* trims them to ensure that the total duration of each audio stream is at least as
* long as the total duration of the video stream. After padding or trimming, the
* audio stream duration is no more than one frame longer than the video stream.
* MediaConvert applies audio padding or trimming only to the end of the last
* segment of the output. For unsegmented outputs, MediaConvert adds padding only
* to the end of the file. When you keep the default value, any minor discrepancies
* between audio and video duration will depend on your output audio codec.
*/
inline void SetAudioDuration(const M2tsAudioDuration& value) { m_audioDurationHasBeenSet = true; m_audioDuration = value; }
/**
* Specify this setting only when your output will be consumed by a downstream
* repackaging workflow that is sensitive to very small duration differences
* between video and audio. For this situation, choose Match video duration. In all
* other cases, keep the default value, Default codec duration. When you choose
* Match video duration, MediaConvert pads the output audio streams with silence or
* trims them to ensure that the total duration of each audio stream is at least as
* long as the total duration of the video stream. After padding or trimming, the
* audio stream duration is no more than one frame longer than the video stream.
* MediaConvert applies audio padding or trimming only to the end of the last
* segment of the output. For unsegmented outputs, MediaConvert adds padding only
* to the end of the file. When you keep the default value, any minor discrepancies
* between audio and video duration will depend on your output audio codec.
*/
inline void SetAudioDuration(M2tsAudioDuration&& value) { m_audioDurationHasBeenSet = true; m_audioDuration = std::move(value); }
/**
* Specify this setting only when your output will be consumed by a downstream
* repackaging workflow that is sensitive to very small duration differences
* between video and audio. For this situation, choose Match video duration. In all
* other cases, keep the default value, Default codec duration. When you choose
* Match video duration, MediaConvert pads the output audio streams with silence or
* trims them to ensure that the total duration of each audio stream is at least as
* long as the total duration of the video stream. After padding or trimming, the
* audio stream duration is no more than one frame longer than the video stream.
* MediaConvert applies audio padding or trimming only to the end of the last
* segment of the output. For unsegmented outputs, MediaConvert adds padding only
* to the end of the file. When you keep the default value, any minor discrepancies
* between audio and video duration will depend on your output audio codec.
*/
inline M2tsSettings& WithAudioDuration(const M2tsAudioDuration& value) { SetAudioDuration(value); return *this;}
/**
* Specify this setting only when your output will be consumed by a downstream
* repackaging workflow that is sensitive to very small duration differences
* between video and audio. For this situation, choose Match video duration. In all
* other cases, keep the default value, Default codec duration. When you choose
* Match video duration, MediaConvert pads the output audio streams with silence or
* trims them to ensure that the total duration of each audio stream is at least as
* long as the total duration of the video stream. After padding or trimming, the
* audio stream duration is no more than one frame longer than the video stream.
* MediaConvert applies audio padding or trimming only to the end of the last
* segment of the output. For unsegmented outputs, MediaConvert adds padding only
* to the end of the file. When you keep the default value, any minor discrepancies
* between audio and video duration will depend on your output audio codec.
*/
inline M2tsSettings& WithAudioDuration(M2tsAudioDuration&& value) { SetAudioDuration(std::move(value)); return *this;}
/**
* The number of audio frames to insert for each PES packet.
*/
inline int GetAudioFramesPerPes() const{ return m_audioFramesPerPes; }
/**
* The number of audio frames to insert for each PES packet.
*/
inline bool AudioFramesPerPesHasBeenSet() const { return m_audioFramesPerPesHasBeenSet; }
/**
* The number of audio frames to insert for each PES packet.
*/
inline void SetAudioFramesPerPes(int value) { m_audioFramesPerPesHasBeenSet = true; m_audioFramesPerPes = value; }
/**
* The number of audio frames to insert for each PES packet.
*/
inline M2tsSettings& WithAudioFramesPerPes(int value) { SetAudioFramesPerPes(value); return *this;}
/**
* Specify the packet identifiers (PIDs) for any elementary audio streams you
* include in this output. Specify multiple PIDs as a JSON array. Default is the
* range 482-492.
*/
inline const Aws::Vector& GetAudioPids() const{ return m_audioPids; }
/**
* Specify the packet identifiers (PIDs) for any elementary audio streams you
* include in this output. Specify multiple PIDs as a JSON array. Default is the
* range 482-492.
*/
inline bool AudioPidsHasBeenSet() const { return m_audioPidsHasBeenSet; }
/**
* Specify the packet identifiers (PIDs) for any elementary audio streams you
* include in this output. Specify multiple PIDs as a JSON array. Default is the
* range 482-492.
*/
inline void SetAudioPids(const Aws::Vector& value) { m_audioPidsHasBeenSet = true; m_audioPids = value; }
/**
* Specify the packet identifiers (PIDs) for any elementary audio streams you
* include in this output. Specify multiple PIDs as a JSON array. Default is the
* range 482-492.
*/
inline void SetAudioPids(Aws::Vector&& value) { m_audioPidsHasBeenSet = true; m_audioPids = std::move(value); }
/**
* Specify the packet identifiers (PIDs) for any elementary audio streams you
* include in this output. Specify multiple PIDs as a JSON array. Default is the
* range 482-492.
*/
inline M2tsSettings& WithAudioPids(const Aws::Vector& value) { SetAudioPids(value); return *this;}
/**
* Specify the packet identifiers (PIDs) for any elementary audio streams you
* include in this output. Specify multiple PIDs as a JSON array. Default is the
* range 482-492.
*/
inline M2tsSettings& WithAudioPids(Aws::Vector&& value) { SetAudioPids(std::move(value)); return *this;}
/**
* Specify the packet identifiers (PIDs) for any elementary audio streams you
* include in this output. Specify multiple PIDs as a JSON array. Default is the
* range 482-492.
*/
inline M2tsSettings& AddAudioPids(int value) { m_audioPidsHasBeenSet = true; m_audioPids.push_back(value); return *this; }
/**
* Specify the output bitrate of the transport stream in bits per second. Setting
* to 0 lets the muxer automatically determine the appropriate bitrate. Other
* common values are 3750000, 7500000, and 15000000.
*/
inline int GetBitrate() const{ return m_bitrate; }
/**
* Specify the output bitrate of the transport stream in bits per second. Setting
* to 0 lets the muxer automatically determine the appropriate bitrate. Other
* common values are 3750000, 7500000, and 15000000.
*/
inline bool BitrateHasBeenSet() const { return m_bitrateHasBeenSet; }
/**
* Specify the output bitrate of the transport stream in bits per second. Setting
* to 0 lets the muxer automatically determine the appropriate bitrate. Other
* common values are 3750000, 7500000, and 15000000.
*/
inline void SetBitrate(int value) { m_bitrateHasBeenSet = true; m_bitrate = value; }
/**
* Specify the output bitrate of the transport stream in bits per second. Setting
* to 0 lets the muxer automatically determine the appropriate bitrate. Other
* common values are 3750000, 7500000, and 15000000.
*/
inline M2tsSettings& WithBitrate(int value) { SetBitrate(value); return *this;}
/**
* Controls what buffer model to use for accurate interleaving. If set to
* MULTIPLEX, use multiplex buffer model. If set to NONE, this can lead to lower
* latency, but low-memory devices may not be able to play back the stream without
* interruptions.
*/
inline const M2tsBufferModel& GetBufferModel() const{ return m_bufferModel; }
/**
* Controls what buffer model to use for accurate interleaving. If set to
* MULTIPLEX, use multiplex buffer model. If set to NONE, this can lead to lower
* latency, but low-memory devices may not be able to play back the stream without
* interruptions.
*/
inline bool BufferModelHasBeenSet() const { return m_bufferModelHasBeenSet; }
/**
* Controls what buffer model to use for accurate interleaving. If set to
* MULTIPLEX, use multiplex buffer model. If set to NONE, this can lead to lower
* latency, but low-memory devices may not be able to play back the stream without
* interruptions.
*/
inline void SetBufferModel(const M2tsBufferModel& value) { m_bufferModelHasBeenSet = true; m_bufferModel = value; }
/**
* Controls what buffer model to use for accurate interleaving. If set to
* MULTIPLEX, use multiplex buffer model. If set to NONE, this can lead to lower
* latency, but low-memory devices may not be able to play back the stream without
* interruptions.
*/
inline void SetBufferModel(M2tsBufferModel&& value) { m_bufferModelHasBeenSet = true; m_bufferModel = std::move(value); }
/**
* Controls what buffer model to use for accurate interleaving. If set to
* MULTIPLEX, use multiplex buffer model. If set to NONE, this can lead to lower
* latency, but low-memory devices may not be able to play back the stream without
* interruptions.
*/
inline M2tsSettings& WithBufferModel(const M2tsBufferModel& value) { SetBufferModel(value); return *this;}
/**
* Controls what buffer model to use for accurate interleaving. If set to
* MULTIPLEX, use multiplex buffer model. If set to NONE, this can lead to lower
* latency, but low-memory devices may not be able to play back the stream without
* interruptions.
*/
inline M2tsSettings& WithBufferModel(M2tsBufferModel&& value) { SetBufferModel(std::move(value)); return *this;}
/**
* If you select ALIGN_TO_VIDEO, MediaConvert writes captions and data packets with
* Presentation Timestamp (PTS) values greater than or equal to the first video
* packet PTS (MediaConvert drops captions and data packets with lesser PTS
* values). Keep the default value to allow all PTS values.
*/
inline const M2tsDataPtsControl& GetDataPTSControl() const{ return m_dataPTSControl; }
/**
* If you select ALIGN_TO_VIDEO, MediaConvert writes captions and data packets with
* Presentation Timestamp (PTS) values greater than or equal to the first video
* packet PTS (MediaConvert drops captions and data packets with lesser PTS
* values). Keep the default value to allow all PTS values.
*/
inline bool DataPTSControlHasBeenSet() const { return m_dataPTSControlHasBeenSet; }
/**
* If you select ALIGN_TO_VIDEO, MediaConvert writes captions and data packets with
* Presentation Timestamp (PTS) values greater than or equal to the first video
* packet PTS (MediaConvert drops captions and data packets with lesser PTS
* values). Keep the default value to allow all PTS values.
*/
inline void SetDataPTSControl(const M2tsDataPtsControl& value) { m_dataPTSControlHasBeenSet = true; m_dataPTSControl = value; }
/**
* If you select ALIGN_TO_VIDEO, MediaConvert writes captions and data packets with
* Presentation Timestamp (PTS) values greater than or equal to the first video
* packet PTS (MediaConvert drops captions and data packets with lesser PTS
* values). Keep the default value to allow all PTS values.
*/
inline void SetDataPTSControl(M2tsDataPtsControl&& value) { m_dataPTSControlHasBeenSet = true; m_dataPTSControl = std::move(value); }
/**
* If you select ALIGN_TO_VIDEO, MediaConvert writes captions and data packets with
* Presentation Timestamp (PTS) values greater than or equal to the first video
* packet PTS (MediaConvert drops captions and data packets with lesser PTS
* values). Keep the default value to allow all PTS values.
*/
inline M2tsSettings& WithDataPTSControl(const M2tsDataPtsControl& value) { SetDataPTSControl(value); return *this;}
/**
* If you select ALIGN_TO_VIDEO, MediaConvert writes captions and data packets with
* Presentation Timestamp (PTS) values greater than or equal to the first video
* packet PTS (MediaConvert drops captions and data packets with lesser PTS
* values). Keep the default value to allow all PTS values.
*/
inline M2tsSettings& WithDataPTSControl(M2tsDataPtsControl&& value) { SetDataPTSControl(std::move(value)); return *this;}
/**
* Use these settings to insert a DVB Network Information Table (NIT) in the
* transport stream of this output.
*/
inline const DvbNitSettings& GetDvbNitSettings() const{ return m_dvbNitSettings; }
/**
* Use these settings to insert a DVB Network Information Table (NIT) in the
* transport stream of this output.
*/
inline bool DvbNitSettingsHasBeenSet() const { return m_dvbNitSettingsHasBeenSet; }
/**
* Use these settings to insert a DVB Network Information Table (NIT) in the
* transport stream of this output.
*/
inline void SetDvbNitSettings(const DvbNitSettings& value) { m_dvbNitSettingsHasBeenSet = true; m_dvbNitSettings = value; }
/**
* Use these settings to insert a DVB Network Information Table (NIT) in the
* transport stream of this output.
*/
inline void SetDvbNitSettings(DvbNitSettings&& value) { m_dvbNitSettingsHasBeenSet = true; m_dvbNitSettings = std::move(value); }
/**
* Use these settings to insert a DVB Network Information Table (NIT) in the
* transport stream of this output.
*/
inline M2tsSettings& WithDvbNitSettings(const DvbNitSettings& value) { SetDvbNitSettings(value); return *this;}
/**
* Use these settings to insert a DVB Network Information Table (NIT) in the
* transport stream of this output.
*/
inline M2tsSettings& WithDvbNitSettings(DvbNitSettings&& value) { SetDvbNitSettings(std::move(value)); return *this;}
/**
* Use these settings to insert a DVB Service Description Table (SDT) in the
* transport stream of this output.
*/
inline const DvbSdtSettings& GetDvbSdtSettings() const{ return m_dvbSdtSettings; }
/**
* Use these settings to insert a DVB Service Description Table (SDT) in the
* transport stream of this output.
*/
inline bool DvbSdtSettingsHasBeenSet() const { return m_dvbSdtSettingsHasBeenSet; }
/**
* Use these settings to insert a DVB Service Description Table (SDT) in the
* transport stream of this output.
*/
inline void SetDvbSdtSettings(const DvbSdtSettings& value) { m_dvbSdtSettingsHasBeenSet = true; m_dvbSdtSettings = value; }
/**
* Use these settings to insert a DVB Service Description Table (SDT) in the
* transport stream of this output.
*/
inline void SetDvbSdtSettings(DvbSdtSettings&& value) { m_dvbSdtSettingsHasBeenSet = true; m_dvbSdtSettings = std::move(value); }
/**
* Use these settings to insert a DVB Service Description Table (SDT) in the
* transport stream of this output.
*/
inline M2tsSettings& WithDvbSdtSettings(const DvbSdtSettings& value) { SetDvbSdtSettings(value); return *this;}
/**
* Use these settings to insert a DVB Service Description Table (SDT) in the
* transport stream of this output.
*/
inline M2tsSettings& WithDvbSdtSettings(DvbSdtSettings&& value) { SetDvbSdtSettings(std::move(value)); return *this;}
/**
* Specify the packet identifiers (PIDs) for DVB subtitle data included in this
* output. Specify multiple PIDs as a JSON array. Default is the range 460-479.
*/
inline const Aws::Vector& GetDvbSubPids() const{ return m_dvbSubPids; }
/**
* Specify the packet identifiers (PIDs) for DVB subtitle data included in this
* output. Specify multiple PIDs as a JSON array. Default is the range 460-479.
*/
inline bool DvbSubPidsHasBeenSet() const { return m_dvbSubPidsHasBeenSet; }
/**
* Specify the packet identifiers (PIDs) for DVB subtitle data included in this
* output. Specify multiple PIDs as a JSON array. Default is the range 460-479.
*/
inline void SetDvbSubPids(const Aws::Vector& value) { m_dvbSubPidsHasBeenSet = true; m_dvbSubPids = value; }
/**
* Specify the packet identifiers (PIDs) for DVB subtitle data included in this
* output. Specify multiple PIDs as a JSON array. Default is the range 460-479.
*/
inline void SetDvbSubPids(Aws::Vector&& value) { m_dvbSubPidsHasBeenSet = true; m_dvbSubPids = std::move(value); }
/**
* Specify the packet identifiers (PIDs) for DVB subtitle data included in this
* output. Specify multiple PIDs as a JSON array. Default is the range 460-479.
*/
inline M2tsSettings& WithDvbSubPids(const Aws::Vector& value) { SetDvbSubPids(value); return *this;}
/**
* Specify the packet identifiers (PIDs) for DVB subtitle data included in this
* output. Specify multiple PIDs as a JSON array. Default is the range 460-479.
*/
inline M2tsSettings& WithDvbSubPids(Aws::Vector&& value) { SetDvbSubPids(std::move(value)); return *this;}
/**
* Specify the packet identifiers (PIDs) for DVB subtitle data included in this
* output. Specify multiple PIDs as a JSON array. Default is the range 460-479.
*/
inline M2tsSettings& AddDvbSubPids(int value) { m_dvbSubPidsHasBeenSet = true; m_dvbSubPids.push_back(value); return *this; }
/**
* Use these settings to insert a DVB Time and Date Table (TDT) in the transport
* stream of this output.
*/
inline const DvbTdtSettings& GetDvbTdtSettings() const{ return m_dvbTdtSettings; }
/**
* Use these settings to insert a DVB Time and Date Table (TDT) in the transport
* stream of this output.
*/
inline bool DvbTdtSettingsHasBeenSet() const { return m_dvbTdtSettingsHasBeenSet; }
/**
* Use these settings to insert a DVB Time and Date Table (TDT) in the transport
* stream of this output.
*/
inline void SetDvbTdtSettings(const DvbTdtSettings& value) { m_dvbTdtSettingsHasBeenSet = true; m_dvbTdtSettings = value; }
/**
* Use these settings to insert a DVB Time and Date Table (TDT) in the transport
* stream of this output.
*/
inline void SetDvbTdtSettings(DvbTdtSettings&& value) { m_dvbTdtSettingsHasBeenSet = true; m_dvbTdtSettings = std::move(value); }
/**
* Use these settings to insert a DVB Time and Date Table (TDT) in the transport
* stream of this output.
*/
inline M2tsSettings& WithDvbTdtSettings(const DvbTdtSettings& value) { SetDvbTdtSettings(value); return *this;}
/**
* Use these settings to insert a DVB Time and Date Table (TDT) in the transport
* stream of this output.
*/
inline M2tsSettings& WithDvbTdtSettings(DvbTdtSettings&& value) { SetDvbTdtSettings(std::move(value)); return *this;}
/**
* Specify the packet identifier (PID) for DVB teletext data you include in this
* output. Default is 499.
*/
inline int GetDvbTeletextPid() const{ return m_dvbTeletextPid; }
/**
* Specify the packet identifier (PID) for DVB teletext data you include in this
* output. Default is 499.
*/
inline bool DvbTeletextPidHasBeenSet() const { return m_dvbTeletextPidHasBeenSet; }
/**
* Specify the packet identifier (PID) for DVB teletext data you include in this
* output. Default is 499.
*/
inline void SetDvbTeletextPid(int value) { m_dvbTeletextPidHasBeenSet = true; m_dvbTeletextPid = value; }
/**
* Specify the packet identifier (PID) for DVB teletext data you include in this
* output. Default is 499.
*/
inline M2tsSettings& WithDvbTeletextPid(int value) { SetDvbTeletextPid(value); return *this;}
/**
* When set to VIDEO_AND_FIXED_INTERVALS, audio EBP markers will be added to
* partitions 3 and 4. The interval between these additional markers will be fixed,
* and will be slightly shorter than the video EBP marker interval. When set to
* VIDEO_INTERVAL, these additional markers will not be inserted. Only applicable
* when EBP segmentation markers are is selected (segmentationMarkers is EBP or
* EBP_LEGACY).
*/
inline const M2tsEbpAudioInterval& GetEbpAudioInterval() const{ return m_ebpAudioInterval; }
/**
* When set to VIDEO_AND_FIXED_INTERVALS, audio EBP markers will be added to
* partitions 3 and 4. The interval between these additional markers will be fixed,
* and will be slightly shorter than the video EBP marker interval. When set to
* VIDEO_INTERVAL, these additional markers will not be inserted. Only applicable
* when EBP segmentation markers are is selected (segmentationMarkers is EBP or
* EBP_LEGACY).
*/
inline bool EbpAudioIntervalHasBeenSet() const { return m_ebpAudioIntervalHasBeenSet; }
/**
* When set to VIDEO_AND_FIXED_INTERVALS, audio EBP markers will be added to
* partitions 3 and 4. The interval between these additional markers will be fixed,
* and will be slightly shorter than the video EBP marker interval. When set to
* VIDEO_INTERVAL, these additional markers will not be inserted. Only applicable
* when EBP segmentation markers are is selected (segmentationMarkers is EBP or
* EBP_LEGACY).
*/
inline void SetEbpAudioInterval(const M2tsEbpAudioInterval& value) { m_ebpAudioIntervalHasBeenSet = true; m_ebpAudioInterval = value; }
/**
* When set to VIDEO_AND_FIXED_INTERVALS, audio EBP markers will be added to
* partitions 3 and 4. The interval between these additional markers will be fixed,
* and will be slightly shorter than the video EBP marker interval. When set to
* VIDEO_INTERVAL, these additional markers will not be inserted. Only applicable
* when EBP segmentation markers are is selected (segmentationMarkers is EBP or
* EBP_LEGACY).
*/
inline void SetEbpAudioInterval(M2tsEbpAudioInterval&& value) { m_ebpAudioIntervalHasBeenSet = true; m_ebpAudioInterval = std::move(value); }
/**
* When set to VIDEO_AND_FIXED_INTERVALS, audio EBP markers will be added to
* partitions 3 and 4. The interval between these additional markers will be fixed,
* and will be slightly shorter than the video EBP marker interval. When set to
* VIDEO_INTERVAL, these additional markers will not be inserted. Only applicable
* when EBP segmentation markers are is selected (segmentationMarkers is EBP or
* EBP_LEGACY).
*/
inline M2tsSettings& WithEbpAudioInterval(const M2tsEbpAudioInterval& value) { SetEbpAudioInterval(value); return *this;}
/**
* When set to VIDEO_AND_FIXED_INTERVALS, audio EBP markers will be added to
* partitions 3 and 4. The interval between these additional markers will be fixed,
* and will be slightly shorter than the video EBP marker interval. When set to
* VIDEO_INTERVAL, these additional markers will not be inserted. Only applicable
* when EBP segmentation markers are is selected (segmentationMarkers is EBP or
* EBP_LEGACY).
*/
inline M2tsSettings& WithEbpAudioInterval(M2tsEbpAudioInterval&& value) { SetEbpAudioInterval(std::move(value)); return *this;}
/**
* Selects which PIDs to place EBP markers on. They can either be placed only on
* the video PID, or on both the video PID and all audio PIDs. Only applicable when
* EBP segmentation markers are is selected (segmentationMarkers is EBP or
* EBP_LEGACY).
*/
inline const M2tsEbpPlacement& GetEbpPlacement() const{ return m_ebpPlacement; }
/**
* Selects which PIDs to place EBP markers on. They can either be placed only on
* the video PID, or on both the video PID and all audio PIDs. Only applicable when
* EBP segmentation markers are is selected (segmentationMarkers is EBP or
* EBP_LEGACY).
*/
inline bool EbpPlacementHasBeenSet() const { return m_ebpPlacementHasBeenSet; }
/**
* Selects which PIDs to place EBP markers on. They can either be placed only on
* the video PID, or on both the video PID and all audio PIDs. Only applicable when
* EBP segmentation markers are is selected (segmentationMarkers is EBP or
* EBP_LEGACY).
*/
inline void SetEbpPlacement(const M2tsEbpPlacement& value) { m_ebpPlacementHasBeenSet = true; m_ebpPlacement = value; }
/**
* Selects which PIDs to place EBP markers on. They can either be placed only on
* the video PID, or on both the video PID and all audio PIDs. Only applicable when
* EBP segmentation markers are is selected (segmentationMarkers is EBP or
* EBP_LEGACY).
*/
inline void SetEbpPlacement(M2tsEbpPlacement&& value) { m_ebpPlacementHasBeenSet = true; m_ebpPlacement = std::move(value); }
/**
* Selects which PIDs to place EBP markers on. They can either be placed only on
* the video PID, or on both the video PID and all audio PIDs. Only applicable when
* EBP segmentation markers are is selected (segmentationMarkers is EBP or
* EBP_LEGACY).
*/
inline M2tsSettings& WithEbpPlacement(const M2tsEbpPlacement& value) { SetEbpPlacement(value); return *this;}
/**
* Selects which PIDs to place EBP markers on. They can either be placed only on
* the video PID, or on both the video PID and all audio PIDs. Only applicable when
* EBP segmentation markers are is selected (segmentationMarkers is EBP or
* EBP_LEGACY).
*/
inline M2tsSettings& WithEbpPlacement(M2tsEbpPlacement&& value) { SetEbpPlacement(std::move(value)); return *this;}
/**
* Controls whether to include the ES Rate field in the PES header.
*/
inline const M2tsEsRateInPes& GetEsRateInPes() const{ return m_esRateInPes; }
/**
* Controls whether to include the ES Rate field in the PES header.
*/
inline bool EsRateInPesHasBeenSet() const { return m_esRateInPesHasBeenSet; }
/**
* Controls whether to include the ES Rate field in the PES header.
*/
inline void SetEsRateInPes(const M2tsEsRateInPes& value) { m_esRateInPesHasBeenSet = true; m_esRateInPes = value; }
/**
* Controls whether to include the ES Rate field in the PES header.
*/
inline void SetEsRateInPes(M2tsEsRateInPes&& value) { m_esRateInPesHasBeenSet = true; m_esRateInPes = std::move(value); }
/**
* Controls whether to include the ES Rate field in the PES header.
*/
inline M2tsSettings& WithEsRateInPes(const M2tsEsRateInPes& value) { SetEsRateInPes(value); return *this;}
/**
* Controls whether to include the ES Rate field in the PES header.
*/
inline M2tsSettings& WithEsRateInPes(M2tsEsRateInPes&& value) { SetEsRateInPes(std::move(value)); return *this;}
/**
* Keep the default value unless you know that your audio EBP markers are
* incorrectly appearing before your video EBP markers. To correct this problem,
* set this value to Force.
*/
inline const M2tsForceTsVideoEbpOrder& GetForceTsVideoEbpOrder() const{ return m_forceTsVideoEbpOrder; }
/**
* Keep the default value unless you know that your audio EBP markers are
* incorrectly appearing before your video EBP markers. To correct this problem,
* set this value to Force.
*/
inline bool ForceTsVideoEbpOrderHasBeenSet() const { return m_forceTsVideoEbpOrderHasBeenSet; }
/**
* Keep the default value unless you know that your audio EBP markers are
* incorrectly appearing before your video EBP markers. To correct this problem,
* set this value to Force.
*/
inline void SetForceTsVideoEbpOrder(const M2tsForceTsVideoEbpOrder& value) { m_forceTsVideoEbpOrderHasBeenSet = true; m_forceTsVideoEbpOrder = value; }
/**
* Keep the default value unless you know that your audio EBP markers are
* incorrectly appearing before your video EBP markers. To correct this problem,
* set this value to Force.
*/
inline void SetForceTsVideoEbpOrder(M2tsForceTsVideoEbpOrder&& value) { m_forceTsVideoEbpOrderHasBeenSet = true; m_forceTsVideoEbpOrder = std::move(value); }
/**
* Keep the default value unless you know that your audio EBP markers are
* incorrectly appearing before your video EBP markers. To correct this problem,
* set this value to Force.
*/
inline M2tsSettings& WithForceTsVideoEbpOrder(const M2tsForceTsVideoEbpOrder& value) { SetForceTsVideoEbpOrder(value); return *this;}
/**
* Keep the default value unless you know that your audio EBP markers are
* incorrectly appearing before your video EBP markers. To correct this problem,
* set this value to Force.
*/
inline M2tsSettings& WithForceTsVideoEbpOrder(M2tsForceTsVideoEbpOrder&& value) { SetForceTsVideoEbpOrder(std::move(value)); return *this;}
/**
* The length, in seconds, of each fragment. Only used with EBP markers.
*/
inline double GetFragmentTime() const{ return m_fragmentTime; }
/**
* The length, in seconds, of each fragment. Only used with EBP markers.
*/
inline bool FragmentTimeHasBeenSet() const { return m_fragmentTimeHasBeenSet; }
/**
* The length, in seconds, of each fragment. Only used with EBP markers.
*/
inline void SetFragmentTime(double value) { m_fragmentTimeHasBeenSet = true; m_fragmentTime = value; }
/**
* The length, in seconds, of each fragment. Only used with EBP markers.
*/
inline M2tsSettings& WithFragmentTime(double value) { SetFragmentTime(value); return *this;}
/**
* To include key-length-value metadata in this output: Set KLV metadata insertion
* to Passthrough. MediaConvert reads KLV metadata present in your input and passes
* it through to the output transport stream. To exclude this KLV metadata: Set KLV
* metadata insertion to None or leave blank.
*/
inline const M2tsKlvMetadata& GetKlvMetadata() const{ return m_klvMetadata; }
/**
* To include key-length-value metadata in this output: Set KLV metadata insertion
* to Passthrough. MediaConvert reads KLV metadata present in your input and passes
* it through to the output transport stream. To exclude this KLV metadata: Set KLV
* metadata insertion to None or leave blank.
*/
inline bool KlvMetadataHasBeenSet() const { return m_klvMetadataHasBeenSet; }
/**
* To include key-length-value metadata in this output: Set KLV metadata insertion
* to Passthrough. MediaConvert reads KLV metadata present in your input and passes
* it through to the output transport stream. To exclude this KLV metadata: Set KLV
* metadata insertion to None or leave blank.
*/
inline void SetKlvMetadata(const M2tsKlvMetadata& value) { m_klvMetadataHasBeenSet = true; m_klvMetadata = value; }
/**
* To include key-length-value metadata in this output: Set KLV metadata insertion
* to Passthrough. MediaConvert reads KLV metadata present in your input and passes
* it through to the output transport stream. To exclude this KLV metadata: Set KLV
* metadata insertion to None or leave blank.
*/
inline void SetKlvMetadata(M2tsKlvMetadata&& value) { m_klvMetadataHasBeenSet = true; m_klvMetadata = std::move(value); }
/**
* To include key-length-value metadata in this output: Set KLV metadata insertion
* to Passthrough. MediaConvert reads KLV metadata present in your input and passes
* it through to the output transport stream. To exclude this KLV metadata: Set KLV
* metadata insertion to None or leave blank.
*/
inline M2tsSettings& WithKlvMetadata(const M2tsKlvMetadata& value) { SetKlvMetadata(value); return *this;}
/**
* To include key-length-value metadata in this output: Set KLV metadata insertion
* to Passthrough. MediaConvert reads KLV metadata present in your input and passes
* it through to the output transport stream. To exclude this KLV metadata: Set KLV
* metadata insertion to None or leave blank.
*/
inline M2tsSettings& WithKlvMetadata(M2tsKlvMetadata&& value) { SetKlvMetadata(std::move(value)); return *this;}
/**
* Specify the maximum time, in milliseconds, between Program Clock References
* (PCRs) inserted into the transport stream.
*/
inline int GetMaxPcrInterval() const{ return m_maxPcrInterval; }
/**
* Specify the maximum time, in milliseconds, between Program Clock References
* (PCRs) inserted into the transport stream.
*/
inline bool MaxPcrIntervalHasBeenSet() const { return m_maxPcrIntervalHasBeenSet; }
/**
* Specify the maximum time, in milliseconds, between Program Clock References
* (PCRs) inserted into the transport stream.
*/
inline void SetMaxPcrInterval(int value) { m_maxPcrIntervalHasBeenSet = true; m_maxPcrInterval = value; }
/**
* Specify the maximum time, in milliseconds, between Program Clock References
* (PCRs) inserted into the transport stream.
*/
inline M2tsSettings& WithMaxPcrInterval(int value) { SetMaxPcrInterval(value); return *this;}
/**
* When set, enforces that Encoder Boundary Points do not come within the specified
* time interval of each other by looking ahead at input video. If another EBP is
* going to come in within the specified time interval, the current EBP is not
* emitted, and the segment is "stretched" to the next marker. The lookahead value
* does not add latency to the system. The Live Event must be configured elsewhere
* to create sufficient latency to make the lookahead accurate.
*/
inline int GetMinEbpInterval() const{ return m_minEbpInterval; }
/**
* When set, enforces that Encoder Boundary Points do not come within the specified
* time interval of each other by looking ahead at input video. If another EBP is
* going to come in within the specified time interval, the current EBP is not
* emitted, and the segment is "stretched" to the next marker. The lookahead value
* does not add latency to the system. The Live Event must be configured elsewhere
* to create sufficient latency to make the lookahead accurate.
*/
inline bool MinEbpIntervalHasBeenSet() const { return m_minEbpIntervalHasBeenSet; }
/**
* When set, enforces that Encoder Boundary Points do not come within the specified
* time interval of each other by looking ahead at input video. If another EBP is
* going to come in within the specified time interval, the current EBP is not
* emitted, and the segment is "stretched" to the next marker. The lookahead value
* does not add latency to the system. The Live Event must be configured elsewhere
* to create sufficient latency to make the lookahead accurate.
*/
inline void SetMinEbpInterval(int value) { m_minEbpIntervalHasBeenSet = true; m_minEbpInterval = value; }
/**
* When set, enforces that Encoder Boundary Points do not come within the specified
* time interval of each other by looking ahead at input video. If another EBP is
* going to come in within the specified time interval, the current EBP is not
* emitted, and the segment is "stretched" to the next marker. The lookahead value
* does not add latency to the system. The Live Event must be configured elsewhere
* to create sufficient latency to make the lookahead accurate.
*/
inline M2tsSettings& WithMinEbpInterval(int value) { SetMinEbpInterval(value); return *this;}
/**
* If INSERT, Nielsen inaudible tones for media tracking will be detected in the
* input audio and an equivalent ID3 tag will be inserted in the output.
*/
inline const M2tsNielsenId3& GetNielsenId3() const{ return m_nielsenId3; }
/**
* If INSERT, Nielsen inaudible tones for media tracking will be detected in the
* input audio and an equivalent ID3 tag will be inserted in the output.
*/
inline bool NielsenId3HasBeenSet() const { return m_nielsenId3HasBeenSet; }
/**
* If INSERT, Nielsen inaudible tones for media tracking will be detected in the
* input audio and an equivalent ID3 tag will be inserted in the output.
*/
inline void SetNielsenId3(const M2tsNielsenId3& value) { m_nielsenId3HasBeenSet = true; m_nielsenId3 = value; }
/**
* If INSERT, Nielsen inaudible tones for media tracking will be detected in the
* input audio and an equivalent ID3 tag will be inserted in the output.
*/
inline void SetNielsenId3(M2tsNielsenId3&& value) { m_nielsenId3HasBeenSet = true; m_nielsenId3 = std::move(value); }
/**
* If INSERT, Nielsen inaudible tones for media tracking will be detected in the
* input audio and an equivalent ID3 tag will be inserted in the output.
*/
inline M2tsSettings& WithNielsenId3(const M2tsNielsenId3& value) { SetNielsenId3(value); return *this;}
/**
* If INSERT, Nielsen inaudible tones for media tracking will be detected in the
* input audio and an equivalent ID3 tag will be inserted in the output.
*/
inline M2tsSettings& WithNielsenId3(M2tsNielsenId3&& value) { SetNielsenId3(std::move(value)); return *this;}
/**
* Value in bits per second of extra null packets to insert into the transport
* stream. This can be used if a downstream encryption system requires periodic
* null packets.
*/
inline double GetNullPacketBitrate() const{ return m_nullPacketBitrate; }
/**
* Value in bits per second of extra null packets to insert into the transport
* stream. This can be used if a downstream encryption system requires periodic
* null packets.
*/
inline bool NullPacketBitrateHasBeenSet() const { return m_nullPacketBitrateHasBeenSet; }
/**
* Value in bits per second of extra null packets to insert into the transport
* stream. This can be used if a downstream encryption system requires periodic
* null packets.
*/
inline void SetNullPacketBitrate(double value) { m_nullPacketBitrateHasBeenSet = true; m_nullPacketBitrate = value; }
/**
* Value in bits per second of extra null packets to insert into the transport
* stream. This can be used if a downstream encryption system requires periodic
* null packets.
*/
inline M2tsSettings& WithNullPacketBitrate(double value) { SetNullPacketBitrate(value); return *this;}
/**
* The number of milliseconds between instances of this table in the output
* transport stream.
*/
inline int GetPatInterval() const{ return m_patInterval; }
/**
* The number of milliseconds between instances of this table in the output
* transport stream.
*/
inline bool PatIntervalHasBeenSet() const { return m_patIntervalHasBeenSet; }
/**
* The number of milliseconds between instances of this table in the output
* transport stream.
*/
inline void SetPatInterval(int value) { m_patIntervalHasBeenSet = true; m_patInterval = value; }
/**
* The number of milliseconds between instances of this table in the output
* transport stream.
*/
inline M2tsSettings& WithPatInterval(int value) { SetPatInterval(value); return *this;}
/**
* When set to PCR_EVERY_PES_PACKET, a Program Clock Reference value is inserted
* for every Packetized Elementary Stream (PES) header. This is effective only when
* the PCR PID is the same as the video or audio elementary stream.
*/
inline const M2tsPcrControl& GetPcrControl() const{ return m_pcrControl; }
/**
* When set to PCR_EVERY_PES_PACKET, a Program Clock Reference value is inserted
* for every Packetized Elementary Stream (PES) header. This is effective only when
* the PCR PID is the same as the video or audio elementary stream.
*/
inline bool PcrControlHasBeenSet() const { return m_pcrControlHasBeenSet; }
/**
* When set to PCR_EVERY_PES_PACKET, a Program Clock Reference value is inserted
* for every Packetized Elementary Stream (PES) header. This is effective only when
* the PCR PID is the same as the video or audio elementary stream.
*/
inline void SetPcrControl(const M2tsPcrControl& value) { m_pcrControlHasBeenSet = true; m_pcrControl = value; }
/**
* When set to PCR_EVERY_PES_PACKET, a Program Clock Reference value is inserted
* for every Packetized Elementary Stream (PES) header. This is effective only when
* the PCR PID is the same as the video or audio elementary stream.
*/
inline void SetPcrControl(M2tsPcrControl&& value) { m_pcrControlHasBeenSet = true; m_pcrControl = std::move(value); }
/**
* When set to PCR_EVERY_PES_PACKET, a Program Clock Reference value is inserted
* for every Packetized Elementary Stream (PES) header. This is effective only when
* the PCR PID is the same as the video or audio elementary stream.
*/
inline M2tsSettings& WithPcrControl(const M2tsPcrControl& value) { SetPcrControl(value); return *this;}
/**
* When set to PCR_EVERY_PES_PACKET, a Program Clock Reference value is inserted
* for every Packetized Elementary Stream (PES) header. This is effective only when
* the PCR PID is the same as the video or audio elementary stream.
*/
inline M2tsSettings& WithPcrControl(M2tsPcrControl&& value) { SetPcrControl(std::move(value)); return *this;}
/**
* Specify the packet identifier (PID) for the program clock reference (PCR) in
* this output. If you do not specify a value, the service will use the value for
* Video PID.
*/
inline int GetPcrPid() const{ return m_pcrPid; }
/**
* Specify the packet identifier (PID) for the program clock reference (PCR) in
* this output. If you do not specify a value, the service will use the value for
* Video PID.
*/
inline bool PcrPidHasBeenSet() const { return m_pcrPidHasBeenSet; }
/**
* Specify the packet identifier (PID) for the program clock reference (PCR) in
* this output. If you do not specify a value, the service will use the value for
* Video PID.
*/
inline void SetPcrPid(int value) { m_pcrPidHasBeenSet = true; m_pcrPid = value; }
/**
* Specify the packet identifier (PID) for the program clock reference (PCR) in
* this output. If you do not specify a value, the service will use the value for
* Video PID.
*/
inline M2tsSettings& WithPcrPid(int value) { SetPcrPid(value); return *this;}
/**
* Specify the number of milliseconds between instances of the program map table
* (PMT) in the output transport stream.
*/
inline int GetPmtInterval() const{ return m_pmtInterval; }
/**
* Specify the number of milliseconds between instances of the program map table
* (PMT) in the output transport stream.
*/
inline bool PmtIntervalHasBeenSet() const { return m_pmtIntervalHasBeenSet; }
/**
* Specify the number of milliseconds between instances of the program map table
* (PMT) in the output transport stream.
*/
inline void SetPmtInterval(int value) { m_pmtIntervalHasBeenSet = true; m_pmtInterval = value; }
/**
* Specify the number of milliseconds between instances of the program map table
* (PMT) in the output transport stream.
*/
inline M2tsSettings& WithPmtInterval(int value) { SetPmtInterval(value); return *this;}
/**
* Specify the packet identifier (PID) for the program map table (PMT) itself.
* Default is 480.
*/
inline int GetPmtPid() const{ return m_pmtPid; }
/**
* Specify the packet identifier (PID) for the program map table (PMT) itself.
* Default is 480.
*/
inline bool PmtPidHasBeenSet() const { return m_pmtPidHasBeenSet; }
/**
* Specify the packet identifier (PID) for the program map table (PMT) itself.
* Default is 480.
*/
inline void SetPmtPid(int value) { m_pmtPidHasBeenSet = true; m_pmtPid = value; }
/**
* Specify the packet identifier (PID) for the program map table (PMT) itself.
* Default is 480.
*/
inline M2tsSettings& WithPmtPid(int value) { SetPmtPid(value); return *this;}
/**
* Specify the packet identifier (PID) of the private metadata stream. Default is
* 503.
*/
inline int GetPrivateMetadataPid() const{ return m_privateMetadataPid; }
/**
* Specify the packet identifier (PID) of the private metadata stream. Default is
* 503.
*/
inline bool PrivateMetadataPidHasBeenSet() const { return m_privateMetadataPidHasBeenSet; }
/**
* Specify the packet identifier (PID) of the private metadata stream. Default is
* 503.
*/
inline void SetPrivateMetadataPid(int value) { m_privateMetadataPidHasBeenSet = true; m_privateMetadataPid = value; }
/**
* Specify the packet identifier (PID) of the private metadata stream. Default is
* 503.
*/
inline M2tsSettings& WithPrivateMetadataPid(int value) { SetPrivateMetadataPid(value); return *this;}
/**
* Use Program number to specify the program number used in the program map table
* (PMT) for this output. Default is 1. Program numbers and program map tables are
* parts of MPEG-2 transport stream containers, used for organizing data.
*/
inline int GetProgramNumber() const{ return m_programNumber; }
/**
* Use Program number to specify the program number used in the program map table
* (PMT) for this output. Default is 1. Program numbers and program map tables are
* parts of MPEG-2 transport stream containers, used for organizing data.
*/
inline bool ProgramNumberHasBeenSet() const { return m_programNumberHasBeenSet; }
/**
* Use Program number to specify the program number used in the program map table
* (PMT) for this output. Default is 1. Program numbers and program map tables are
* parts of MPEG-2 transport stream containers, used for organizing data.
*/
inline void SetProgramNumber(int value) { m_programNumberHasBeenSet = true; m_programNumber = value; }
/**
* Use Program number to specify the program number used in the program map table
* (PMT) for this output. Default is 1. Program numbers and program map tables are
* parts of MPEG-2 transport stream containers, used for organizing data.
*/
inline M2tsSettings& WithProgramNumber(int value) { SetProgramNumber(value); return *this;}
/**
* When set to CBR, inserts null packets into transport stream to fill specified
* bitrate. When set to VBR, the bitrate setting acts as the maximum bitrate, but
* the output will not be padded up to that bitrate.
*/
inline const M2tsRateMode& GetRateMode() const{ return m_rateMode; }
/**
* When set to CBR, inserts null packets into transport stream to fill specified
* bitrate. When set to VBR, the bitrate setting acts as the maximum bitrate, but
* the output will not be padded up to that bitrate.
*/
inline bool RateModeHasBeenSet() const { return m_rateModeHasBeenSet; }
/**
* When set to CBR, inserts null packets into transport stream to fill specified
* bitrate. When set to VBR, the bitrate setting acts as the maximum bitrate, but
* the output will not be padded up to that bitrate.
*/
inline void SetRateMode(const M2tsRateMode& value) { m_rateModeHasBeenSet = true; m_rateMode = value; }
/**
* When set to CBR, inserts null packets into transport stream to fill specified
* bitrate. When set to VBR, the bitrate setting acts as the maximum bitrate, but
* the output will not be padded up to that bitrate.
*/
inline void SetRateMode(M2tsRateMode&& value) { m_rateModeHasBeenSet = true; m_rateMode = std::move(value); }
/**
* When set to CBR, inserts null packets into transport stream to fill specified
* bitrate. When set to VBR, the bitrate setting acts as the maximum bitrate, but
* the output will not be padded up to that bitrate.
*/
inline M2tsSettings& WithRateMode(const M2tsRateMode& value) { SetRateMode(value); return *this;}
/**
* When set to CBR, inserts null packets into transport stream to fill specified
* bitrate. When set to VBR, the bitrate setting acts as the maximum bitrate, but
* the output will not be padded up to that bitrate.
*/
inline M2tsSettings& WithRateMode(M2tsRateMode&& value) { SetRateMode(std::move(value)); return *this;}
/**
* Include this in your job settings to put SCTE-35 markers in your HLS and
* transport stream outputs at the insertion points that you specify in an ESAM XML
* document. Provide the document in the setting SCC XML.
*/
inline const M2tsScte35Esam& GetScte35Esam() const{ return m_scte35Esam; }
/**
* Include this in your job settings to put SCTE-35 markers in your HLS and
* transport stream outputs at the insertion points that you specify in an ESAM XML
* document. Provide the document in the setting SCC XML.
*/
inline bool Scte35EsamHasBeenSet() const { return m_scte35EsamHasBeenSet; }
/**
* Include this in your job settings to put SCTE-35 markers in your HLS and
* transport stream outputs at the insertion points that you specify in an ESAM XML
* document. Provide the document in the setting SCC XML.
*/
inline void SetScte35Esam(const M2tsScte35Esam& value) { m_scte35EsamHasBeenSet = true; m_scte35Esam = value; }
/**
* Include this in your job settings to put SCTE-35 markers in your HLS and
* transport stream outputs at the insertion points that you specify in an ESAM XML
* document. Provide the document in the setting SCC XML.
*/
inline void SetScte35Esam(M2tsScte35Esam&& value) { m_scte35EsamHasBeenSet = true; m_scte35Esam = std::move(value); }
/**
* Include this in your job settings to put SCTE-35 markers in your HLS and
* transport stream outputs at the insertion points that you specify in an ESAM XML
* document. Provide the document in the setting SCC XML.
*/
inline M2tsSettings& WithScte35Esam(const M2tsScte35Esam& value) { SetScte35Esam(value); return *this;}
/**
* Include this in your job settings to put SCTE-35 markers in your HLS and
* transport stream outputs at the insertion points that you specify in an ESAM XML
* document. Provide the document in the setting SCC XML.
*/
inline M2tsSettings& WithScte35Esam(M2tsScte35Esam&& value) { SetScte35Esam(std::move(value)); return *this;}
/**
* Specify the packet identifier (PID) of the SCTE-35 stream in the transport
* stream.
*/
inline int GetScte35Pid() const{ return m_scte35Pid; }
/**
* Specify the packet identifier (PID) of the SCTE-35 stream in the transport
* stream.
*/
inline bool Scte35PidHasBeenSet() const { return m_scte35PidHasBeenSet; }
/**
* Specify the packet identifier (PID) of the SCTE-35 stream in the transport
* stream.
*/
inline void SetScte35Pid(int value) { m_scte35PidHasBeenSet = true; m_scte35Pid = value; }
/**
* Specify the packet identifier (PID) of the SCTE-35 stream in the transport
* stream.
*/
inline M2tsSettings& WithScte35Pid(int value) { SetScte35Pid(value); return *this;}
/**
* For SCTE-35 markers from your input-- Choose Passthrough if you want SCTE-35
* markers that appear in your input to also appear in this output. Choose None if
* you don't want SCTE-35 markers in this output. For SCTE-35 markers from an ESAM
* XML document-- Choose None. Also provide the ESAM XML as a string in the setting
* Signal processing notification XML. Also enable ESAM SCTE-35 (include the
* property scte35Esam).
*/
inline const M2tsScte35Source& GetScte35Source() const{ return m_scte35Source; }
/**
* For SCTE-35 markers from your input-- Choose Passthrough if you want SCTE-35
* markers that appear in your input to also appear in this output. Choose None if
* you don't want SCTE-35 markers in this output. For SCTE-35 markers from an ESAM
* XML document-- Choose None. Also provide the ESAM XML as a string in the setting
* Signal processing notification XML. Also enable ESAM SCTE-35 (include the
* property scte35Esam).
*/
inline bool Scte35SourceHasBeenSet() const { return m_scte35SourceHasBeenSet; }
/**
* For SCTE-35 markers from your input-- Choose Passthrough if you want SCTE-35
* markers that appear in your input to also appear in this output. Choose None if
* you don't want SCTE-35 markers in this output. For SCTE-35 markers from an ESAM
* XML document-- Choose None. Also provide the ESAM XML as a string in the setting
* Signal processing notification XML. Also enable ESAM SCTE-35 (include the
* property scte35Esam).
*/
inline void SetScte35Source(const M2tsScte35Source& value) { m_scte35SourceHasBeenSet = true; m_scte35Source = value; }
/**
* For SCTE-35 markers from your input-- Choose Passthrough if you want SCTE-35
* markers that appear in your input to also appear in this output. Choose None if
* you don't want SCTE-35 markers in this output. For SCTE-35 markers from an ESAM
* XML document-- Choose None. Also provide the ESAM XML as a string in the setting
* Signal processing notification XML. Also enable ESAM SCTE-35 (include the
* property scte35Esam).
*/
inline void SetScte35Source(M2tsScte35Source&& value) { m_scte35SourceHasBeenSet = true; m_scte35Source = std::move(value); }
/**
* For SCTE-35 markers from your input-- Choose Passthrough if you want SCTE-35
* markers that appear in your input to also appear in this output. Choose None if
* you don't want SCTE-35 markers in this output. For SCTE-35 markers from an ESAM
* XML document-- Choose None. Also provide the ESAM XML as a string in the setting
* Signal processing notification XML. Also enable ESAM SCTE-35 (include the
* property scte35Esam).
*/
inline M2tsSettings& WithScte35Source(const M2tsScte35Source& value) { SetScte35Source(value); return *this;}
/**
* For SCTE-35 markers from your input-- Choose Passthrough if you want SCTE-35
* markers that appear in your input to also appear in this output. Choose None if
* you don't want SCTE-35 markers in this output. For SCTE-35 markers from an ESAM
* XML document-- Choose None. Also provide the ESAM XML as a string in the setting
* Signal processing notification XML. Also enable ESAM SCTE-35 (include the
* property scte35Esam).
*/
inline M2tsSettings& WithScte35Source(M2tsScte35Source&& value) { SetScte35Source(std::move(value)); return *this;}
/**
* Inserts segmentation markers at each segmentation_time period. rai_segstart sets
* the Random Access Indicator bit in the adaptation field. rai_adapt sets the RAI
* bit and adds the current timecode in the private data bytes. psi_segstart
* inserts PAT and PMT tables at the start of segments. ebp adds Encoder Boundary
* Point information to the adaptation field as per OpenCable specification
* OC-SP-EBP-I01-130118. ebp_legacy adds Encoder Boundary Point information to the
* adaptation field using a legacy proprietary format.
*/
inline const M2tsSegmentationMarkers& GetSegmentationMarkers() const{ return m_segmentationMarkers; }
/**
* Inserts segmentation markers at each segmentation_time period. rai_segstart sets
* the Random Access Indicator bit in the adaptation field. rai_adapt sets the RAI
* bit and adds the current timecode in the private data bytes. psi_segstart
* inserts PAT and PMT tables at the start of segments. ebp adds Encoder Boundary
* Point information to the adaptation field as per OpenCable specification
* OC-SP-EBP-I01-130118. ebp_legacy adds Encoder Boundary Point information to the
* adaptation field using a legacy proprietary format.
*/
inline bool SegmentationMarkersHasBeenSet() const { return m_segmentationMarkersHasBeenSet; }
/**
* Inserts segmentation markers at each segmentation_time period. rai_segstart sets
* the Random Access Indicator bit in the adaptation field. rai_adapt sets the RAI
* bit and adds the current timecode in the private data bytes. psi_segstart
* inserts PAT and PMT tables at the start of segments. ebp adds Encoder Boundary
* Point information to the adaptation field as per OpenCable specification
* OC-SP-EBP-I01-130118. ebp_legacy adds Encoder Boundary Point information to the
* adaptation field using a legacy proprietary format.
*/
inline void SetSegmentationMarkers(const M2tsSegmentationMarkers& value) { m_segmentationMarkersHasBeenSet = true; m_segmentationMarkers = value; }
/**
* Inserts segmentation markers at each segmentation_time period. rai_segstart sets
* the Random Access Indicator bit in the adaptation field. rai_adapt sets the RAI
* bit and adds the current timecode in the private data bytes. psi_segstart
* inserts PAT and PMT tables at the start of segments. ebp adds Encoder Boundary
* Point information to the adaptation field as per OpenCable specification
* OC-SP-EBP-I01-130118. ebp_legacy adds Encoder Boundary Point information to the
* adaptation field using a legacy proprietary format.
*/
inline void SetSegmentationMarkers(M2tsSegmentationMarkers&& value) { m_segmentationMarkersHasBeenSet = true; m_segmentationMarkers = std::move(value); }
/**
* Inserts segmentation markers at each segmentation_time period. rai_segstart sets
* the Random Access Indicator bit in the adaptation field. rai_adapt sets the RAI
* bit and adds the current timecode in the private data bytes. psi_segstart
* inserts PAT and PMT tables at the start of segments. ebp adds Encoder Boundary
* Point information to the adaptation field as per OpenCable specification
* OC-SP-EBP-I01-130118. ebp_legacy adds Encoder Boundary Point information to the
* adaptation field using a legacy proprietary format.
*/
inline M2tsSettings& WithSegmentationMarkers(const M2tsSegmentationMarkers& value) { SetSegmentationMarkers(value); return *this;}
/**
* Inserts segmentation markers at each segmentation_time period. rai_segstart sets
* the Random Access Indicator bit in the adaptation field. rai_adapt sets the RAI
* bit and adds the current timecode in the private data bytes. psi_segstart
* inserts PAT and PMT tables at the start of segments. ebp adds Encoder Boundary
* Point information to the adaptation field as per OpenCable specification
* OC-SP-EBP-I01-130118. ebp_legacy adds Encoder Boundary Point information to the
* adaptation field using a legacy proprietary format.
*/
inline M2tsSettings& WithSegmentationMarkers(M2tsSegmentationMarkers&& value) { SetSegmentationMarkers(std::move(value)); return *this;}
/**
* The segmentation style parameter controls how segmentation markers are inserted
* into the transport stream. With avails, it is possible that segments may be
* truncated, which can influence where future segmentation markers are inserted.
* When a segmentation style of "reset_cadence" is selected and a segment is
* truncated due to an avail, we will reset the segmentation cadence. This means
* the subsequent segment will have a duration of of $segmentation_time seconds.
* When a segmentation style of "maintain_cadence" is selected and a segment is
* truncated due to an avail, we will not reset the segmentation cadence. This
* means the subsequent segment will likely be truncated as well. However, all
* segments after that will have a duration of $segmentation_time seconds. Note
* that EBP lookahead is a slight exception to this rule.
*/
inline const M2tsSegmentationStyle& GetSegmentationStyle() const{ return m_segmentationStyle; }
/**
* The segmentation style parameter controls how segmentation markers are inserted
* into the transport stream. With avails, it is possible that segments may be
* truncated, which can influence where future segmentation markers are inserted.
* When a segmentation style of "reset_cadence" is selected and a segment is
* truncated due to an avail, we will reset the segmentation cadence. This means
* the subsequent segment will have a duration of of $segmentation_time seconds.
* When a segmentation style of "maintain_cadence" is selected and a segment is
* truncated due to an avail, we will not reset the segmentation cadence. This
* means the subsequent segment will likely be truncated as well. However, all
* segments after that will have a duration of $segmentation_time seconds. Note
* that EBP lookahead is a slight exception to this rule.
*/
inline bool SegmentationStyleHasBeenSet() const { return m_segmentationStyleHasBeenSet; }
/**
* The segmentation style parameter controls how segmentation markers are inserted
* into the transport stream. With avails, it is possible that segments may be
* truncated, which can influence where future segmentation markers are inserted.
* When a segmentation style of "reset_cadence" is selected and a segment is
* truncated due to an avail, we will reset the segmentation cadence. This means
* the subsequent segment will have a duration of of $segmentation_time seconds.
* When a segmentation style of "maintain_cadence" is selected and a segment is
* truncated due to an avail, we will not reset the segmentation cadence. This
* means the subsequent segment will likely be truncated as well. However, all
* segments after that will have a duration of $segmentation_time seconds. Note
* that EBP lookahead is a slight exception to this rule.
*/
inline void SetSegmentationStyle(const M2tsSegmentationStyle& value) { m_segmentationStyleHasBeenSet = true; m_segmentationStyle = value; }
/**
* The segmentation style parameter controls how segmentation markers are inserted
* into the transport stream. With avails, it is possible that segments may be
* truncated, which can influence where future segmentation markers are inserted.
* When a segmentation style of "reset_cadence" is selected and a segment is
* truncated due to an avail, we will reset the segmentation cadence. This means
* the subsequent segment will have a duration of of $segmentation_time seconds.
* When a segmentation style of "maintain_cadence" is selected and a segment is
* truncated due to an avail, we will not reset the segmentation cadence. This
* means the subsequent segment will likely be truncated as well. However, all
* segments after that will have a duration of $segmentation_time seconds. Note
* that EBP lookahead is a slight exception to this rule.
*/
inline void SetSegmentationStyle(M2tsSegmentationStyle&& value) { m_segmentationStyleHasBeenSet = true; m_segmentationStyle = std::move(value); }
/**
* The segmentation style parameter controls how segmentation markers are inserted
* into the transport stream. With avails, it is possible that segments may be
* truncated, which can influence where future segmentation markers are inserted.
* When a segmentation style of "reset_cadence" is selected and a segment is
* truncated due to an avail, we will reset the segmentation cadence. This means
* the subsequent segment will have a duration of of $segmentation_time seconds.
* When a segmentation style of "maintain_cadence" is selected and a segment is
* truncated due to an avail, we will not reset the segmentation cadence. This
* means the subsequent segment will likely be truncated as well. However, all
* segments after that will have a duration of $segmentation_time seconds. Note
* that EBP lookahead is a slight exception to this rule.
*/
inline M2tsSettings& WithSegmentationStyle(const M2tsSegmentationStyle& value) { SetSegmentationStyle(value); return *this;}
/**
* The segmentation style parameter controls how segmentation markers are inserted
* into the transport stream. With avails, it is possible that segments may be
* truncated, which can influence where future segmentation markers are inserted.
* When a segmentation style of "reset_cadence" is selected and a segment is
* truncated due to an avail, we will reset the segmentation cadence. This means
* the subsequent segment will have a duration of of $segmentation_time seconds.
* When a segmentation style of "maintain_cadence" is selected and a segment is
* truncated due to an avail, we will not reset the segmentation cadence. This
* means the subsequent segment will likely be truncated as well. However, all
* segments after that will have a duration of $segmentation_time seconds. Note
* that EBP lookahead is a slight exception to this rule.
*/
inline M2tsSettings& WithSegmentationStyle(M2tsSegmentationStyle&& value) { SetSegmentationStyle(std::move(value)); return *this;}
/**
* Specify the length, in seconds, of each segment. Required unless markers is set
* to _none_.
*/
inline double GetSegmentationTime() const{ return m_segmentationTime; }
/**
* Specify the length, in seconds, of each segment. Required unless markers is set
* to _none_.
*/
inline bool SegmentationTimeHasBeenSet() const { return m_segmentationTimeHasBeenSet; }
/**
* Specify the length, in seconds, of each segment. Required unless markers is set
* to _none_.
*/
inline void SetSegmentationTime(double value) { m_segmentationTimeHasBeenSet = true; m_segmentationTime = value; }
/**
* Specify the length, in seconds, of each segment. Required unless markers is set
* to _none_.
*/
inline M2tsSettings& WithSegmentationTime(double value) { SetSegmentationTime(value); return *this;}
/**
* Packet Identifier (PID) of the ID3 metadata stream in the transport stream.
*/
inline int GetTimedMetadataPid() const{ return m_timedMetadataPid; }
/**
* Packet Identifier (PID) of the ID3 metadata stream in the transport stream.
*/
inline bool TimedMetadataPidHasBeenSet() const { return m_timedMetadataPidHasBeenSet; }
/**
* Packet Identifier (PID) of the ID3 metadata stream in the transport stream.
*/
inline void SetTimedMetadataPid(int value) { m_timedMetadataPidHasBeenSet = true; m_timedMetadataPid = value; }
/**
* Packet Identifier (PID) of the ID3 metadata stream in the transport stream.
*/
inline M2tsSettings& WithTimedMetadataPid(int value) { SetTimedMetadataPid(value); return *this;}
/**
* Specify the ID for the transport stream itself in the program map table for this
* output. Transport stream IDs and program map tables are parts of MPEG-2
* transport stream containers, used for organizing data.
*/
inline int GetTransportStreamId() const{ return m_transportStreamId; }
/**
* Specify the ID for the transport stream itself in the program map table for this
* output. Transport stream IDs and program map tables are parts of MPEG-2
* transport stream containers, used for organizing data.
*/
inline bool TransportStreamIdHasBeenSet() const { return m_transportStreamIdHasBeenSet; }
/**
* Specify the ID for the transport stream itself in the program map table for this
* output. Transport stream IDs and program map tables are parts of MPEG-2
* transport stream containers, used for organizing data.
*/
inline void SetTransportStreamId(int value) { m_transportStreamIdHasBeenSet = true; m_transportStreamId = value; }
/**
* Specify the ID for the transport stream itself in the program map table for this
* output. Transport stream IDs and program map tables are parts of MPEG-2
* transport stream containers, used for organizing data.
*/
inline M2tsSettings& WithTransportStreamId(int value) { SetTransportStreamId(value); return *this;}
/**
* Specify the packet identifier (PID) of the elementary video stream in the
* transport stream.
*/
inline int GetVideoPid() const{ return m_videoPid; }
/**
* Specify the packet identifier (PID) of the elementary video stream in the
* transport stream.
*/
inline bool VideoPidHasBeenSet() const { return m_videoPidHasBeenSet; }
/**
* Specify the packet identifier (PID) of the elementary video stream in the
* transport stream.
*/
inline void SetVideoPid(int value) { m_videoPidHasBeenSet = true; m_videoPid = value; }
/**
* Specify the packet identifier (PID) of the elementary video stream in the
* transport stream.
*/
inline M2tsSettings& WithVideoPid(int value) { SetVideoPid(value); return *this;}
private:
M2tsAudioBufferModel m_audioBufferModel;
bool m_audioBufferModelHasBeenSet = false;
M2tsAudioDuration m_audioDuration;
bool m_audioDurationHasBeenSet = false;
int m_audioFramesPerPes;
bool m_audioFramesPerPesHasBeenSet = false;
Aws::Vector m_audioPids;
bool m_audioPidsHasBeenSet = false;
int m_bitrate;
bool m_bitrateHasBeenSet = false;
M2tsBufferModel m_bufferModel;
bool m_bufferModelHasBeenSet = false;
M2tsDataPtsControl m_dataPTSControl;
bool m_dataPTSControlHasBeenSet = false;
DvbNitSettings m_dvbNitSettings;
bool m_dvbNitSettingsHasBeenSet = false;
DvbSdtSettings m_dvbSdtSettings;
bool m_dvbSdtSettingsHasBeenSet = false;
Aws::Vector m_dvbSubPids;
bool m_dvbSubPidsHasBeenSet = false;
DvbTdtSettings m_dvbTdtSettings;
bool m_dvbTdtSettingsHasBeenSet = false;
int m_dvbTeletextPid;
bool m_dvbTeletextPidHasBeenSet = false;
M2tsEbpAudioInterval m_ebpAudioInterval;
bool m_ebpAudioIntervalHasBeenSet = false;
M2tsEbpPlacement m_ebpPlacement;
bool m_ebpPlacementHasBeenSet = false;
M2tsEsRateInPes m_esRateInPes;
bool m_esRateInPesHasBeenSet = false;
M2tsForceTsVideoEbpOrder m_forceTsVideoEbpOrder;
bool m_forceTsVideoEbpOrderHasBeenSet = false;
double m_fragmentTime;
bool m_fragmentTimeHasBeenSet = false;
M2tsKlvMetadata m_klvMetadata;
bool m_klvMetadataHasBeenSet = false;
int m_maxPcrInterval;
bool m_maxPcrIntervalHasBeenSet = false;
int m_minEbpInterval;
bool m_minEbpIntervalHasBeenSet = false;
M2tsNielsenId3 m_nielsenId3;
bool m_nielsenId3HasBeenSet = false;
double m_nullPacketBitrate;
bool m_nullPacketBitrateHasBeenSet = false;
int m_patInterval;
bool m_patIntervalHasBeenSet = false;
M2tsPcrControl m_pcrControl;
bool m_pcrControlHasBeenSet = false;
int m_pcrPid;
bool m_pcrPidHasBeenSet = false;
int m_pmtInterval;
bool m_pmtIntervalHasBeenSet = false;
int m_pmtPid;
bool m_pmtPidHasBeenSet = false;
int m_privateMetadataPid;
bool m_privateMetadataPidHasBeenSet = false;
int m_programNumber;
bool m_programNumberHasBeenSet = false;
M2tsRateMode m_rateMode;
bool m_rateModeHasBeenSet = false;
M2tsScte35Esam m_scte35Esam;
bool m_scte35EsamHasBeenSet = false;
int m_scte35Pid;
bool m_scte35PidHasBeenSet = false;
M2tsScte35Source m_scte35Source;
bool m_scte35SourceHasBeenSet = false;
M2tsSegmentationMarkers m_segmentationMarkers;
bool m_segmentationMarkersHasBeenSet = false;
M2tsSegmentationStyle m_segmentationStyle;
bool m_segmentationStyleHasBeenSet = false;
double m_segmentationTime;
bool m_segmentationTimeHasBeenSet = false;
int m_timedMetadataPid;
bool m_timedMetadataPidHasBeenSet = false;
int m_transportStreamId;
bool m_transportStreamIdHasBeenSet = false;
int m_videoPid;
bool m_videoPidHasBeenSet = false;
};
} // namespace Model
} // namespace MediaConvert
} // namespace Aws