/** * 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 namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace MediaConvert { namespace Model { /** * These settings relate to the MPEG-2 transport stream (MPEG2-TS) container for * the MPEG2-TS segments in your HLS outputs.

See Also:

AWS * API Reference

*/ class M3u8Settings { public: AWS_MEDIACONVERT_API M3u8Settings(); AWS_MEDIACONVERT_API M3u8Settings(Aws::Utils::Json::JsonView jsonValue); AWS_MEDIACONVERT_API M3u8Settings& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_MEDIACONVERT_API Aws::Utils::Json::JsonValue Jsonize() const; /** * 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 M3u8AudioDuration& 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 M3u8AudioDuration& 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(M3u8AudioDuration&& 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 M3u8Settings& WithAudioDuration(const M3u8AudioDuration& 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 M3u8Settings& WithAudioDuration(M3u8AudioDuration&& 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 M3u8Settings& WithAudioFramesPerPes(int value) { SetAudioFramesPerPes(value); return *this;} /** * Packet Identifier (PID) of the elementary audio stream(s) in the transport * stream. Multiple values are accepted, and can be entered in ranges and/or by * comma separation. */ inline const Aws::Vector& GetAudioPids() const{ return m_audioPids; } /** * Packet Identifier (PID) of the elementary audio stream(s) in the transport * stream. Multiple values are accepted, and can be entered in ranges and/or by * comma separation. */ inline bool AudioPidsHasBeenSet() const { return m_audioPidsHasBeenSet; } /** * Packet Identifier (PID) of the elementary audio stream(s) in the transport * stream. Multiple values are accepted, and can be entered in ranges and/or by * comma separation. */ inline void SetAudioPids(const Aws::Vector& value) { m_audioPidsHasBeenSet = true; m_audioPids = value; } /** * Packet Identifier (PID) of the elementary audio stream(s) in the transport * stream. Multiple values are accepted, and can be entered in ranges and/or by * comma separation. */ inline void SetAudioPids(Aws::Vector&& value) { m_audioPidsHasBeenSet = true; m_audioPids = std::move(value); } /** * Packet Identifier (PID) of the elementary audio stream(s) in the transport * stream. Multiple values are accepted, and can be entered in ranges and/or by * comma separation. */ inline M3u8Settings& WithAudioPids(const Aws::Vector& value) { SetAudioPids(value); return *this;} /** * Packet Identifier (PID) of the elementary audio stream(s) in the transport * stream. Multiple values are accepted, and can be entered in ranges and/or by * comma separation. */ inline M3u8Settings& WithAudioPids(Aws::Vector&& value) { SetAudioPids(std::move(value)); return *this;} /** * Packet Identifier (PID) of the elementary audio stream(s) in the transport * stream. Multiple values are accepted, and can be entered in ranges and/or by * comma separation. */ inline M3u8Settings& AddAudioPids(int value) { m_audioPidsHasBeenSet = true; m_audioPids.push_back(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 AUTO to allow all PTS values. */ inline const M3u8DataPtsControl& 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 AUTO 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 AUTO to allow all PTS values. */ inline void SetDataPTSControl(const M3u8DataPtsControl& 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 AUTO to allow all PTS values. */ inline void SetDataPTSControl(M3u8DataPtsControl&& 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 AUTO to allow all PTS values. */ inline M3u8Settings& WithDataPTSControl(const M3u8DataPtsControl& 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 AUTO to allow all PTS values. */ inline M3u8Settings& WithDataPTSControl(M3u8DataPtsControl&& value) { SetDataPTSControl(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 M3u8Settings& WithMaxPcrInterval(int value) { SetMaxPcrInterval(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 M3u8NielsenId3& 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 M3u8NielsenId3& 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(M3u8NielsenId3&& 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 M3u8Settings& WithNielsenId3(const M3u8NielsenId3& 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 M3u8Settings& WithNielsenId3(M3u8NielsenId3&& value) { SetNielsenId3(std::move(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 M3u8Settings& 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 parameter is effective * only when the PCR PID is the same as the video or audio elementary stream. */ inline const M3u8PcrControl& 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 parameter 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 parameter is effective * only when the PCR PID is the same as the video or audio elementary stream. */ inline void SetPcrControl(const M3u8PcrControl& 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 parameter is effective * only when the PCR PID is the same as the video or audio elementary stream. */ inline void SetPcrControl(M3u8PcrControl&& 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 parameter is effective * only when the PCR PID is the same as the video or audio elementary stream. */ inline M3u8Settings& WithPcrControl(const M3u8PcrControl& 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 parameter is effective * only when the PCR PID is the same as the video or audio elementary stream. */ inline M3u8Settings& WithPcrControl(M3u8PcrControl&& value) { SetPcrControl(std::move(value)); return *this;} /** * Packet Identifier (PID) of the Program Clock Reference (PCR) in the transport * stream. When no value is given, the encoder will assign the same value as the * Video PID. */ inline int GetPcrPid() const{ return m_pcrPid; } /** * Packet Identifier (PID) of the Program Clock Reference (PCR) in the transport * stream. When no value is given, the encoder will assign the same value as the * Video PID. */ inline bool PcrPidHasBeenSet() const { return m_pcrPidHasBeenSet; } /** * Packet Identifier (PID) of the Program Clock Reference (PCR) in the transport * stream. When no value is given, the encoder will assign the same value as the * Video PID. */ inline void SetPcrPid(int value) { m_pcrPidHasBeenSet = true; m_pcrPid = value; } /** * Packet Identifier (PID) of the Program Clock Reference (PCR) in the transport * stream. When no value is given, the encoder will assign the same value as the * Video PID. */ inline M3u8Settings& WithPcrPid(int value) { SetPcrPid(value); return *this;} /** * The number of milliseconds between instances of this table in the output * transport stream. */ inline int GetPmtInterval() const{ return m_pmtInterval; } /** * The number of milliseconds between instances of this table in the output * transport stream. */ inline bool PmtIntervalHasBeenSet() const { return m_pmtIntervalHasBeenSet; } /** * The number of milliseconds between instances of this table in the output * transport stream. */ inline void SetPmtInterval(int value) { m_pmtIntervalHasBeenSet = true; m_pmtInterval = value; } /** * The number of milliseconds between instances of this table in the output * transport stream. */ inline M3u8Settings& WithPmtInterval(int value) { SetPmtInterval(value); return *this;} /** * Packet Identifier (PID) for the Program Map Table (PMT) in the transport stream. */ inline int GetPmtPid() const{ return m_pmtPid; } /** * Packet Identifier (PID) for the Program Map Table (PMT) in the transport stream. */ inline bool PmtPidHasBeenSet() const { return m_pmtPidHasBeenSet; } /** * Packet Identifier (PID) for the Program Map Table (PMT) in the transport stream. */ inline void SetPmtPid(int value) { m_pmtPidHasBeenSet = true; m_pmtPid = value; } /** * Packet Identifier (PID) for the Program Map Table (PMT) in the transport stream. */ inline M3u8Settings& WithPmtPid(int value) { SetPmtPid(value); return *this;} /** * Packet Identifier (PID) of the private metadata stream in the transport stream. */ inline int GetPrivateMetadataPid() const{ return m_privateMetadataPid; } /** * Packet Identifier (PID) of the private metadata stream in the transport stream. */ inline bool PrivateMetadataPidHasBeenSet() const { return m_privateMetadataPidHasBeenSet; } /** * Packet Identifier (PID) of the private metadata stream in the transport stream. */ inline void SetPrivateMetadataPid(int value) { m_privateMetadataPidHasBeenSet = true; m_privateMetadataPid = value; } /** * Packet Identifier (PID) of the private metadata stream in the transport stream. */ inline M3u8Settings& WithPrivateMetadataPid(int value) { SetPrivateMetadataPid(value); return *this;} /** * The value of the program number field in the Program Map Table. */ inline int GetProgramNumber() const{ return m_programNumber; } /** * The value of the program number field in the Program Map Table. */ inline bool ProgramNumberHasBeenSet() const { return m_programNumberHasBeenSet; } /** * The value of the program number field in the Program Map Table. */ inline void SetProgramNumber(int value) { m_programNumberHasBeenSet = true; m_programNumber = value; } /** * The value of the program number field in the Program Map Table. */ inline M3u8Settings& WithProgramNumber(int value) { SetProgramNumber(value); return *this;} /** * Packet Identifier (PID) of the SCTE-35 stream in the transport stream. */ inline int GetScte35Pid() const{ return m_scte35Pid; } /** * Packet Identifier (PID) of the SCTE-35 stream in the transport stream. */ inline bool Scte35PidHasBeenSet() const { return m_scte35PidHasBeenSet; } /** * Packet Identifier (PID) of the SCTE-35 stream in the transport stream. */ inline void SetScte35Pid(int value) { m_scte35PidHasBeenSet = true; m_scte35Pid = value; } /** * Packet Identifier (PID) of the SCTE-35 stream in the transport stream. */ inline M3u8Settings& 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 if you don't want manifest conditioning. Choose * Passthrough and choose Ad markers if you do want manifest conditioning. In both * cases, also provide the ESAM XML as a string in the setting Signal processing * notification XML. */ inline const M3u8Scte35Source& 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 if you don't want manifest conditioning. Choose * Passthrough and choose Ad markers if you do want manifest conditioning. In both * cases, also provide the ESAM XML as a string in the setting Signal processing * notification XML. */ 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 if you don't want manifest conditioning. Choose * Passthrough and choose Ad markers if you do want manifest conditioning. In both * cases, also provide the ESAM XML as a string in the setting Signal processing * notification XML. */ inline void SetScte35Source(const M3u8Scte35Source& 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 if you don't want manifest conditioning. Choose * Passthrough and choose Ad markers if you do want manifest conditioning. In both * cases, also provide the ESAM XML as a string in the setting Signal processing * notification XML. */ inline void SetScte35Source(M3u8Scte35Source&& 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 if you don't want manifest conditioning. Choose * Passthrough and choose Ad markers if you do want manifest conditioning. In both * cases, also provide the ESAM XML as a string in the setting Signal processing * notification XML. */ inline M3u8Settings& WithScte35Source(const M3u8Scte35Source& 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 if you don't want manifest conditioning. Choose * Passthrough and choose Ad markers if you do want manifest conditioning. In both * cases, also provide the ESAM XML as a string in the setting Signal processing * notification XML. */ inline M3u8Settings& WithScte35Source(M3u8Scte35Source&& value) { SetScte35Source(std::move(value)); return *this;} /** * Set ID3 metadata to Passthrough to include ID3 metadata in this output. This * includes ID3 metadata from the following features: ID3 timestamp period, and * Custom ID3 metadata inserter. To exclude this ID3 metadata in this output: set * ID3 metadata to None or leave blank. */ inline const TimedMetadata& GetTimedMetadata() const{ return m_timedMetadata; } /** * Set ID3 metadata to Passthrough to include ID3 metadata in this output. This * includes ID3 metadata from the following features: ID3 timestamp period, and * Custom ID3 metadata inserter. To exclude this ID3 metadata in this output: set * ID3 metadata to None or leave blank. */ inline bool TimedMetadataHasBeenSet() const { return m_timedMetadataHasBeenSet; } /** * Set ID3 metadata to Passthrough to include ID3 metadata in this output. This * includes ID3 metadata from the following features: ID3 timestamp period, and * Custom ID3 metadata inserter. To exclude this ID3 metadata in this output: set * ID3 metadata to None or leave blank. */ inline void SetTimedMetadata(const TimedMetadata& value) { m_timedMetadataHasBeenSet = true; m_timedMetadata = value; } /** * Set ID3 metadata to Passthrough to include ID3 metadata in this output. This * includes ID3 metadata from the following features: ID3 timestamp period, and * Custom ID3 metadata inserter. To exclude this ID3 metadata in this output: set * ID3 metadata to None or leave blank. */ inline void SetTimedMetadata(TimedMetadata&& value) { m_timedMetadataHasBeenSet = true; m_timedMetadata = std::move(value); } /** * Set ID3 metadata to Passthrough to include ID3 metadata in this output. This * includes ID3 metadata from the following features: ID3 timestamp period, and * Custom ID3 metadata inserter. To exclude this ID3 metadata in this output: set * ID3 metadata to None or leave blank. */ inline M3u8Settings& WithTimedMetadata(const TimedMetadata& value) { SetTimedMetadata(value); return *this;} /** * Set ID3 metadata to Passthrough to include ID3 metadata in this output. This * includes ID3 metadata from the following features: ID3 timestamp period, and * Custom ID3 metadata inserter. To exclude this ID3 metadata in this output: set * ID3 metadata to None or leave blank. */ inline M3u8Settings& WithTimedMetadata(TimedMetadata&& value) { SetTimedMetadata(std::move(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 M3u8Settings& WithTimedMetadataPid(int value) { SetTimedMetadataPid(value); return *this;} /** * The value of the transport stream ID field in the Program Map Table. */ inline int GetTransportStreamId() const{ return m_transportStreamId; } /** * The value of the transport stream ID field in the Program Map Table. */ inline bool TransportStreamIdHasBeenSet() const { return m_transportStreamIdHasBeenSet; } /** * The value of the transport stream ID field in the Program Map Table. */ inline void SetTransportStreamId(int value) { m_transportStreamIdHasBeenSet = true; m_transportStreamId = value; } /** * The value of the transport stream ID field in the Program Map Table. */ inline M3u8Settings& WithTransportStreamId(int value) { SetTransportStreamId(value); return *this;} /** * Packet Identifier (PID) of the elementary video stream in the transport stream. */ inline int GetVideoPid() const{ return m_videoPid; } /** * Packet Identifier (PID) of the elementary video stream in the transport stream. */ inline bool VideoPidHasBeenSet() const { return m_videoPidHasBeenSet; } /** * Packet Identifier (PID) of the elementary video stream in the transport stream. */ inline void SetVideoPid(int value) { m_videoPidHasBeenSet = true; m_videoPid = value; } /** * Packet Identifier (PID) of the elementary video stream in the transport stream. */ inline M3u8Settings& WithVideoPid(int value) { SetVideoPid(value); return *this;} private: M3u8AudioDuration m_audioDuration; bool m_audioDurationHasBeenSet = false; int m_audioFramesPerPes; bool m_audioFramesPerPesHasBeenSet = false; Aws::Vector m_audioPids; bool m_audioPidsHasBeenSet = false; M3u8DataPtsControl m_dataPTSControl; bool m_dataPTSControlHasBeenSet = false; int m_maxPcrInterval; bool m_maxPcrIntervalHasBeenSet = false; M3u8NielsenId3 m_nielsenId3; bool m_nielsenId3HasBeenSet = false; int m_patInterval; bool m_patIntervalHasBeenSet = false; M3u8PcrControl 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; int m_scte35Pid; bool m_scte35PidHasBeenSet = false; M3u8Scte35Source m_scte35Source; bool m_scte35SourceHasBeenSet = false; TimedMetadata m_timedMetadata; bool m_timedMetadataHasBeenSet = 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