/** * 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 namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace MediaConvert { namespace Model { /** * These settings relate to the fragmented MP4 container for the segments in your * DASH outputs.

See Also:

AWS * API Reference

*/ class MpdSettings { public: AWS_MEDIACONVERT_API MpdSettings(); AWS_MEDIACONVERT_API MpdSettings(Aws::Utils::Json::JsonView jsonValue); AWS_MEDIACONVERT_API MpdSettings& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_MEDIACONVERT_API Aws::Utils::Json::JsonValue Jsonize() const; /** * Optional. Choose Include to have MediaConvert mark up your DASH manifest with * elements for embedded 608 captions. This markup isn't generally * required, but some video players require it to discover and play embedded 608 * captions. Keep the default value, Exclude, to leave these elements out. When you * enable this setting, this is the markup that MediaConvert includes in your * manifest: */ inline const MpdAccessibilityCaptionHints& GetAccessibilityCaptionHints() const{ return m_accessibilityCaptionHints; } /** * Optional. Choose Include to have MediaConvert mark up your DASH manifest with * elements for embedded 608 captions. This markup isn't generally * required, but some video players require it to discover and play embedded 608 * captions. Keep the default value, Exclude, to leave these elements out. When you * enable this setting, this is the markup that MediaConvert includes in your * manifest: */ inline bool AccessibilityCaptionHintsHasBeenSet() const { return m_accessibilityCaptionHintsHasBeenSet; } /** * Optional. Choose Include to have MediaConvert mark up your DASH manifest with * elements for embedded 608 captions. This markup isn't generally * required, but some video players require it to discover and play embedded 608 * captions. Keep the default value, Exclude, to leave these elements out. When you * enable this setting, this is the markup that MediaConvert includes in your * manifest: */ inline void SetAccessibilityCaptionHints(const MpdAccessibilityCaptionHints& value) { m_accessibilityCaptionHintsHasBeenSet = true; m_accessibilityCaptionHints = value; } /** * Optional. Choose Include to have MediaConvert mark up your DASH manifest with * elements for embedded 608 captions. This markup isn't generally * required, but some video players require it to discover and play embedded 608 * captions. Keep the default value, Exclude, to leave these elements out. When you * enable this setting, this is the markup that MediaConvert includes in your * manifest: */ inline void SetAccessibilityCaptionHints(MpdAccessibilityCaptionHints&& value) { m_accessibilityCaptionHintsHasBeenSet = true; m_accessibilityCaptionHints = std::move(value); } /** * Optional. Choose Include to have MediaConvert mark up your DASH manifest with * elements for embedded 608 captions. This markup isn't generally * required, but some video players require it to discover and play embedded 608 * captions. Keep the default value, Exclude, to leave these elements out. When you * enable this setting, this is the markup that MediaConvert includes in your * manifest: */ inline MpdSettings& WithAccessibilityCaptionHints(const MpdAccessibilityCaptionHints& value) { SetAccessibilityCaptionHints(value); return *this;} /** * Optional. Choose Include to have MediaConvert mark up your DASH manifest with * elements for embedded 608 captions. This markup isn't generally * required, but some video players require it to discover and play embedded 608 * captions. Keep the default value, Exclude, to leave these elements out. When you * enable this setting, this is the markup that MediaConvert includes in your * manifest: */ inline MpdSettings& WithAccessibilityCaptionHints(MpdAccessibilityCaptionHints&& value) { SetAccessibilityCaptionHints(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 MpdAudioDuration& 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 MpdAudioDuration& 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(MpdAudioDuration&& 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 MpdSettings& WithAudioDuration(const MpdAudioDuration& 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 MpdSettings& WithAudioDuration(MpdAudioDuration&& value) { SetAudioDuration(std::move(value)); return *this;} /** * Use this setting only in DASH output groups that include sidecar TTML or IMSC * captions. You specify sidecar captions in a separate output from your audio and * video. Choose Raw for captions in a single XML file in a raw container. Choose * Fragmented MPEG-4 for captions in XML format contained within fragmented MP4 * files. This set of fragmented MP4 files is separate from your video and audio * fragmented MP4 files. */ inline const MpdCaptionContainerType& GetCaptionContainerType() const{ return m_captionContainerType; } /** * Use this setting only in DASH output groups that include sidecar TTML or IMSC * captions. You specify sidecar captions in a separate output from your audio and * video. Choose Raw for captions in a single XML file in a raw container. Choose * Fragmented MPEG-4 for captions in XML format contained within fragmented MP4 * files. This set of fragmented MP4 files is separate from your video and audio * fragmented MP4 files. */ inline bool CaptionContainerTypeHasBeenSet() const { return m_captionContainerTypeHasBeenSet; } /** * Use this setting only in DASH output groups that include sidecar TTML or IMSC * captions. You specify sidecar captions in a separate output from your audio and * video. Choose Raw for captions in a single XML file in a raw container. Choose * Fragmented MPEG-4 for captions in XML format contained within fragmented MP4 * files. This set of fragmented MP4 files is separate from your video and audio * fragmented MP4 files. */ inline void SetCaptionContainerType(const MpdCaptionContainerType& value) { m_captionContainerTypeHasBeenSet = true; m_captionContainerType = value; } /** * Use this setting only in DASH output groups that include sidecar TTML or IMSC * captions. You specify sidecar captions in a separate output from your audio and * video. Choose Raw for captions in a single XML file in a raw container. Choose * Fragmented MPEG-4 for captions in XML format contained within fragmented MP4 * files. This set of fragmented MP4 files is separate from your video and audio * fragmented MP4 files. */ inline void SetCaptionContainerType(MpdCaptionContainerType&& value) { m_captionContainerTypeHasBeenSet = true; m_captionContainerType = std::move(value); } /** * Use this setting only in DASH output groups that include sidecar TTML or IMSC * captions. You specify sidecar captions in a separate output from your audio and * video. Choose Raw for captions in a single XML file in a raw container. Choose * Fragmented MPEG-4 for captions in XML format contained within fragmented MP4 * files. This set of fragmented MP4 files is separate from your video and audio * fragmented MP4 files. */ inline MpdSettings& WithCaptionContainerType(const MpdCaptionContainerType& value) { SetCaptionContainerType(value); return *this;} /** * Use this setting only in DASH output groups that include sidecar TTML or IMSC * captions. You specify sidecar captions in a separate output from your audio and * video. Choose Raw for captions in a single XML file in a raw container. Choose * Fragmented MPEG-4 for captions in XML format contained within fragmented MP4 * files. This set of fragmented MP4 files is separate from your video and audio * fragmented MP4 files. */ inline MpdSettings& WithCaptionContainerType(MpdCaptionContainerType&& value) { SetCaptionContainerType(std::move(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 writes * each instance to a separate event message box in the output, according to MISB * ST1910.1. To exclude this KLV metadata: Set KLV metadata insertion to None or * leave blank. */ inline const MpdKlvMetadata& 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 writes * each instance to a separate event message box in the output, according to MISB * ST1910.1. 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 writes * each instance to a separate event message box in the output, according to MISB * ST1910.1. To exclude this KLV metadata: Set KLV metadata insertion to None or * leave blank. */ inline void SetKlvMetadata(const MpdKlvMetadata& 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 writes * each instance to a separate event message box in the output, according to MISB * ST1910.1. To exclude this KLV metadata: Set KLV metadata insertion to None or * leave blank. */ inline void SetKlvMetadata(MpdKlvMetadata&& 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 writes * each instance to a separate event message box in the output, according to MISB * ST1910.1. To exclude this KLV metadata: Set KLV metadata insertion to None or * leave blank. */ inline MpdSettings& WithKlvMetadata(const MpdKlvMetadata& 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 writes * each instance to a separate event message box in the output, according to MISB * ST1910.1. To exclude this KLV metadata: Set KLV metadata insertion to None or * leave blank. */ inline MpdSettings& WithKlvMetadata(MpdKlvMetadata&& value) { SetKlvMetadata(std::move(value)); return *this;} /** * To add an InbandEventStream element in your output MPD manifest for each type of * event message, set Manifest metadata signaling to Enabled. For ID3 event * messages, the InbandEventStream element schemeIdUri will be same value that you * specify for ID3 metadata scheme ID URI. For SCTE35 event messages, the * InbandEventStream element schemeIdUri will be "urn:scte:scte35:2013:bin". To * leave these elements out of your output MPD manifest, set Manifest metadata * signaling to Disabled. To enable Manifest metadata signaling, you must also set * SCTE-35 source to Passthrough, ESAM SCTE-35 to insert, or ID3 metadata to * Passthrough. */ inline const MpdManifestMetadataSignaling& GetManifestMetadataSignaling() const{ return m_manifestMetadataSignaling; } /** * To add an InbandEventStream element in your output MPD manifest for each type of * event message, set Manifest metadata signaling to Enabled. For ID3 event * messages, the InbandEventStream element schemeIdUri will be same value that you * specify for ID3 metadata scheme ID URI. For SCTE35 event messages, the * InbandEventStream element schemeIdUri will be "urn:scte:scte35:2013:bin". To * leave these elements out of your output MPD manifest, set Manifest metadata * signaling to Disabled. To enable Manifest metadata signaling, you must also set * SCTE-35 source to Passthrough, ESAM SCTE-35 to insert, or ID3 metadata to * Passthrough. */ inline bool ManifestMetadataSignalingHasBeenSet() const { return m_manifestMetadataSignalingHasBeenSet; } /** * To add an InbandEventStream element in your output MPD manifest for each type of * event message, set Manifest metadata signaling to Enabled. For ID3 event * messages, the InbandEventStream element schemeIdUri will be same value that you * specify for ID3 metadata scheme ID URI. For SCTE35 event messages, the * InbandEventStream element schemeIdUri will be "urn:scte:scte35:2013:bin". To * leave these elements out of your output MPD manifest, set Manifest metadata * signaling to Disabled. To enable Manifest metadata signaling, you must also set * SCTE-35 source to Passthrough, ESAM SCTE-35 to insert, or ID3 metadata to * Passthrough. */ inline void SetManifestMetadataSignaling(const MpdManifestMetadataSignaling& value) { m_manifestMetadataSignalingHasBeenSet = true; m_manifestMetadataSignaling = value; } /** * To add an InbandEventStream element in your output MPD manifest for each type of * event message, set Manifest metadata signaling to Enabled. For ID3 event * messages, the InbandEventStream element schemeIdUri will be same value that you * specify for ID3 metadata scheme ID URI. For SCTE35 event messages, the * InbandEventStream element schemeIdUri will be "urn:scte:scte35:2013:bin". To * leave these elements out of your output MPD manifest, set Manifest metadata * signaling to Disabled. To enable Manifest metadata signaling, you must also set * SCTE-35 source to Passthrough, ESAM SCTE-35 to insert, or ID3 metadata to * Passthrough. */ inline void SetManifestMetadataSignaling(MpdManifestMetadataSignaling&& value) { m_manifestMetadataSignalingHasBeenSet = true; m_manifestMetadataSignaling = std::move(value); } /** * To add an InbandEventStream element in your output MPD manifest for each type of * event message, set Manifest metadata signaling to Enabled. For ID3 event * messages, the InbandEventStream element schemeIdUri will be same value that you * specify for ID3 metadata scheme ID URI. For SCTE35 event messages, the * InbandEventStream element schemeIdUri will be "urn:scte:scte35:2013:bin". To * leave these elements out of your output MPD manifest, set Manifest metadata * signaling to Disabled. To enable Manifest metadata signaling, you must also set * SCTE-35 source to Passthrough, ESAM SCTE-35 to insert, or ID3 metadata to * Passthrough. */ inline MpdSettings& WithManifestMetadataSignaling(const MpdManifestMetadataSignaling& value) { SetManifestMetadataSignaling(value); return *this;} /** * To add an InbandEventStream element in your output MPD manifest for each type of * event message, set Manifest metadata signaling to Enabled. For ID3 event * messages, the InbandEventStream element schemeIdUri will be same value that you * specify for ID3 metadata scheme ID URI. For SCTE35 event messages, the * InbandEventStream element schemeIdUri will be "urn:scte:scte35:2013:bin". To * leave these elements out of your output MPD manifest, set Manifest metadata * signaling to Disabled. To enable Manifest metadata signaling, you must also set * SCTE-35 source to Passthrough, ESAM SCTE-35 to insert, or ID3 metadata to * Passthrough. */ inline MpdSettings& WithManifestMetadataSignaling(MpdManifestMetadataSignaling&& value) { SetManifestMetadataSignaling(std::move(value)); return *this;} /** * Use this setting only when you specify SCTE-35 markers from ESAM. Choose INSERT * to put SCTE-35 markers in this output at the insertion points that you specify * in an ESAM XML document. Provide the document in the setting SCC XML. */ inline const MpdScte35Esam& GetScte35Esam() const{ return m_scte35Esam; } /** * Use this setting only when you specify SCTE-35 markers from ESAM. Choose INSERT * to put SCTE-35 markers in this output 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; } /** * Use this setting only when you specify SCTE-35 markers from ESAM. Choose INSERT * to put SCTE-35 markers in this output at the insertion points that you specify * in an ESAM XML document. Provide the document in the setting SCC XML. */ inline void SetScte35Esam(const MpdScte35Esam& value) { m_scte35EsamHasBeenSet = true; m_scte35Esam = value; } /** * Use this setting only when you specify SCTE-35 markers from ESAM. Choose INSERT * to put SCTE-35 markers in this output at the insertion points that you specify * in an ESAM XML document. Provide the document in the setting SCC XML. */ inline void SetScte35Esam(MpdScte35Esam&& value) { m_scte35EsamHasBeenSet = true; m_scte35Esam = std::move(value); } /** * Use this setting only when you specify SCTE-35 markers from ESAM. Choose INSERT * to put SCTE-35 markers in this output at the insertion points that you specify * in an ESAM XML document. Provide the document in the setting SCC XML. */ inline MpdSettings& WithScte35Esam(const MpdScte35Esam& value) { SetScte35Esam(value); return *this;} /** * Use this setting only when you specify SCTE-35 markers from ESAM. Choose INSERT * to put SCTE-35 markers in this output at the insertion points that you specify * in an ESAM XML document. Provide the document in the setting SCC XML. */ inline MpdSettings& WithScte35Esam(MpdScte35Esam&& value) { SetScte35Esam(std::move(value)); return *this;} /** * Ignore this setting unless you have SCTE-35 markers in your input video file. * 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 those SCTE-35 markers in * this output. */ inline const MpdScte35Source& GetScte35Source() const{ return m_scte35Source; } /** * Ignore this setting unless you have SCTE-35 markers in your input video file. * 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 those SCTE-35 markers in * this output. */ inline bool Scte35SourceHasBeenSet() const { return m_scte35SourceHasBeenSet; } /** * Ignore this setting unless you have SCTE-35 markers in your input video file. * 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 those SCTE-35 markers in * this output. */ inline void SetScte35Source(const MpdScte35Source& value) { m_scte35SourceHasBeenSet = true; m_scte35Source = value; } /** * Ignore this setting unless you have SCTE-35 markers in your input video file. * 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 those SCTE-35 markers in * this output. */ inline void SetScte35Source(MpdScte35Source&& value) { m_scte35SourceHasBeenSet = true; m_scte35Source = std::move(value); } /** * Ignore this setting unless you have SCTE-35 markers in your input video file. * 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 those SCTE-35 markers in * this output. */ inline MpdSettings& WithScte35Source(const MpdScte35Source& value) { SetScte35Source(value); return *this;} /** * Ignore this setting unless you have SCTE-35 markers in your input video file. * 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 those SCTE-35 markers in * this output. */ inline MpdSettings& WithScte35Source(MpdScte35Source&& value) { SetScte35Source(std::move(value)); return *this;} /** * To include ID3 metadata in this output: Set ID3 metadata to Passthrough. Specify * this ID3 metadata in Custom ID3 metadata inserter. MediaConvert writes each * instance of ID3 metadata in a separate Event Message (eMSG) box. To exclude this * ID3 metadata: Set ID3 metadata to None or leave blank. */ inline const MpdTimedMetadata& GetTimedMetadata() const{ return m_timedMetadata; } /** * To include ID3 metadata in this output: Set ID3 metadata to Passthrough. Specify * this ID3 metadata in Custom ID3 metadata inserter. MediaConvert writes each * instance of ID3 metadata in a separate Event Message (eMSG) box. To exclude this * ID3 metadata: Set ID3 metadata to None or leave blank. */ inline bool TimedMetadataHasBeenSet() const { return m_timedMetadataHasBeenSet; } /** * To include ID3 metadata in this output: Set ID3 metadata to Passthrough. Specify * this ID3 metadata in Custom ID3 metadata inserter. MediaConvert writes each * instance of ID3 metadata in a separate Event Message (eMSG) box. To exclude this * ID3 metadata: Set ID3 metadata to None or leave blank. */ inline void SetTimedMetadata(const MpdTimedMetadata& value) { m_timedMetadataHasBeenSet = true; m_timedMetadata = value; } /** * To include ID3 metadata in this output: Set ID3 metadata to Passthrough. Specify * this ID3 metadata in Custom ID3 metadata inserter. MediaConvert writes each * instance of ID3 metadata in a separate Event Message (eMSG) box. To exclude this * ID3 metadata: Set ID3 metadata to None or leave blank. */ inline void SetTimedMetadata(MpdTimedMetadata&& value) { m_timedMetadataHasBeenSet = true; m_timedMetadata = std::move(value); } /** * To include ID3 metadata in this output: Set ID3 metadata to Passthrough. Specify * this ID3 metadata in Custom ID3 metadata inserter. MediaConvert writes each * instance of ID3 metadata in a separate Event Message (eMSG) box. To exclude this * ID3 metadata: Set ID3 metadata to None or leave blank. */ inline MpdSettings& WithTimedMetadata(const MpdTimedMetadata& value) { SetTimedMetadata(value); return *this;} /** * To include ID3 metadata in this output: Set ID3 metadata to Passthrough. Specify * this ID3 metadata in Custom ID3 metadata inserter. MediaConvert writes each * instance of ID3 metadata in a separate Event Message (eMSG) box. To exclude this * ID3 metadata: Set ID3 metadata to None or leave blank. */ inline MpdSettings& WithTimedMetadata(MpdTimedMetadata&& value) { SetTimedMetadata(std::move(value)); return *this;} /** * Specify the event message box (eMSG) version for ID3 timed metadata in your * output. For more information, see ISO/IEC 23009-1:2022 section 5.10.3.3.3 * Syntax. Leave blank to use the default value Version 0. When you specify Version * 1, you must also set ID3 metadata to Passthrough. */ inline const MpdTimedMetadataBoxVersion& GetTimedMetadataBoxVersion() const{ return m_timedMetadataBoxVersion; } /** * Specify the event message box (eMSG) version for ID3 timed metadata in your * output. For more information, see ISO/IEC 23009-1:2022 section 5.10.3.3.3 * Syntax. Leave blank to use the default value Version 0. When you specify Version * 1, you must also set ID3 metadata to Passthrough. */ inline bool TimedMetadataBoxVersionHasBeenSet() const { return m_timedMetadataBoxVersionHasBeenSet; } /** * Specify the event message box (eMSG) version for ID3 timed metadata in your * output. For more information, see ISO/IEC 23009-1:2022 section 5.10.3.3.3 * Syntax. Leave blank to use the default value Version 0. When you specify Version * 1, you must also set ID3 metadata to Passthrough. */ inline void SetTimedMetadataBoxVersion(const MpdTimedMetadataBoxVersion& value) { m_timedMetadataBoxVersionHasBeenSet = true; m_timedMetadataBoxVersion = value; } /** * Specify the event message box (eMSG) version for ID3 timed metadata in your * output. For more information, see ISO/IEC 23009-1:2022 section 5.10.3.3.3 * Syntax. Leave blank to use the default value Version 0. When you specify Version * 1, you must also set ID3 metadata to Passthrough. */ inline void SetTimedMetadataBoxVersion(MpdTimedMetadataBoxVersion&& value) { m_timedMetadataBoxVersionHasBeenSet = true; m_timedMetadataBoxVersion = std::move(value); } /** * Specify the event message box (eMSG) version for ID3 timed metadata in your * output. For more information, see ISO/IEC 23009-1:2022 section 5.10.3.3.3 * Syntax. Leave blank to use the default value Version 0. When you specify Version * 1, you must also set ID3 metadata to Passthrough. */ inline MpdSettings& WithTimedMetadataBoxVersion(const MpdTimedMetadataBoxVersion& value) { SetTimedMetadataBoxVersion(value); return *this;} /** * Specify the event message box (eMSG) version for ID3 timed metadata in your * output. For more information, see ISO/IEC 23009-1:2022 section 5.10.3.3.3 * Syntax. Leave blank to use the default value Version 0. When you specify Version * 1, you must also set ID3 metadata to Passthrough. */ inline MpdSettings& WithTimedMetadataBoxVersion(MpdTimedMetadataBoxVersion&& value) { SetTimedMetadataBoxVersion(std::move(value)); return *this;} /** * Specify the event message box (eMSG) scheme ID URI for ID3 timed metadata in * your output. For more information, see ISO/IEC 23009-1:2022 section 5.10.3.3.4 * Semantics. Leave blank to use the default value: https://aomedia.org/emsg/ID3 * When you specify a value for ID3 metadata scheme ID URI, you must also set ID3 * metadata to Passthrough. */ inline const Aws::String& GetTimedMetadataSchemeIdUri() const{ return m_timedMetadataSchemeIdUri; } /** * Specify the event message box (eMSG) scheme ID URI for ID3 timed metadata in * your output. For more information, see ISO/IEC 23009-1:2022 section 5.10.3.3.4 * Semantics. Leave blank to use the default value: https://aomedia.org/emsg/ID3 * When you specify a value for ID3 metadata scheme ID URI, you must also set ID3 * metadata to Passthrough. */ inline bool TimedMetadataSchemeIdUriHasBeenSet() const { return m_timedMetadataSchemeIdUriHasBeenSet; } /** * Specify the event message box (eMSG) scheme ID URI for ID3 timed metadata in * your output. For more information, see ISO/IEC 23009-1:2022 section 5.10.3.3.4 * Semantics. Leave blank to use the default value: https://aomedia.org/emsg/ID3 * When you specify a value for ID3 metadata scheme ID URI, you must also set ID3 * metadata to Passthrough. */ inline void SetTimedMetadataSchemeIdUri(const Aws::String& value) { m_timedMetadataSchemeIdUriHasBeenSet = true; m_timedMetadataSchemeIdUri = value; } /** * Specify the event message box (eMSG) scheme ID URI for ID3 timed metadata in * your output. For more information, see ISO/IEC 23009-1:2022 section 5.10.3.3.4 * Semantics. Leave blank to use the default value: https://aomedia.org/emsg/ID3 * When you specify a value for ID3 metadata scheme ID URI, you must also set ID3 * metadata to Passthrough. */ inline void SetTimedMetadataSchemeIdUri(Aws::String&& value) { m_timedMetadataSchemeIdUriHasBeenSet = true; m_timedMetadataSchemeIdUri = std::move(value); } /** * Specify the event message box (eMSG) scheme ID URI for ID3 timed metadata in * your output. For more information, see ISO/IEC 23009-1:2022 section 5.10.3.3.4 * Semantics. Leave blank to use the default value: https://aomedia.org/emsg/ID3 * When you specify a value for ID3 metadata scheme ID URI, you must also set ID3 * metadata to Passthrough. */ inline void SetTimedMetadataSchemeIdUri(const char* value) { m_timedMetadataSchemeIdUriHasBeenSet = true; m_timedMetadataSchemeIdUri.assign(value); } /** * Specify the event message box (eMSG) scheme ID URI for ID3 timed metadata in * your output. For more information, see ISO/IEC 23009-1:2022 section 5.10.3.3.4 * Semantics. Leave blank to use the default value: https://aomedia.org/emsg/ID3 * When you specify a value for ID3 metadata scheme ID URI, you must also set ID3 * metadata to Passthrough. */ inline MpdSettings& WithTimedMetadataSchemeIdUri(const Aws::String& value) { SetTimedMetadataSchemeIdUri(value); return *this;} /** * Specify the event message box (eMSG) scheme ID URI for ID3 timed metadata in * your output. For more information, see ISO/IEC 23009-1:2022 section 5.10.3.3.4 * Semantics. Leave blank to use the default value: https://aomedia.org/emsg/ID3 * When you specify a value for ID3 metadata scheme ID URI, you must also set ID3 * metadata to Passthrough. */ inline MpdSettings& WithTimedMetadataSchemeIdUri(Aws::String&& value) { SetTimedMetadataSchemeIdUri(std::move(value)); return *this;} /** * Specify the event message box (eMSG) scheme ID URI for ID3 timed metadata in * your output. For more information, see ISO/IEC 23009-1:2022 section 5.10.3.3.4 * Semantics. Leave blank to use the default value: https://aomedia.org/emsg/ID3 * When you specify a value for ID3 metadata scheme ID URI, you must also set ID3 * metadata to Passthrough. */ inline MpdSettings& WithTimedMetadataSchemeIdUri(const char* value) { SetTimedMetadataSchemeIdUri(value); return *this;} /** * Specify the event message box (eMSG) value for ID3 timed metadata in your * output. For more information, see ISO/IEC 23009-1:2022 section 5.10.3.3.4 * Semantics. When you specify a value for ID3 Metadata Value, you must also set * ID3 metadata to Passthrough. */ inline const Aws::String& GetTimedMetadataValue() const{ return m_timedMetadataValue; } /** * Specify the event message box (eMSG) value for ID3 timed metadata in your * output. For more information, see ISO/IEC 23009-1:2022 section 5.10.3.3.4 * Semantics. When you specify a value for ID3 Metadata Value, you must also set * ID3 metadata to Passthrough. */ inline bool TimedMetadataValueHasBeenSet() const { return m_timedMetadataValueHasBeenSet; } /** * Specify the event message box (eMSG) value for ID3 timed metadata in your * output. For more information, see ISO/IEC 23009-1:2022 section 5.10.3.3.4 * Semantics. When you specify a value for ID3 Metadata Value, you must also set * ID3 metadata to Passthrough. */ inline void SetTimedMetadataValue(const Aws::String& value) { m_timedMetadataValueHasBeenSet = true; m_timedMetadataValue = value; } /** * Specify the event message box (eMSG) value for ID3 timed metadata in your * output. For more information, see ISO/IEC 23009-1:2022 section 5.10.3.3.4 * Semantics. When you specify a value for ID3 Metadata Value, you must also set * ID3 metadata to Passthrough. */ inline void SetTimedMetadataValue(Aws::String&& value) { m_timedMetadataValueHasBeenSet = true; m_timedMetadataValue = std::move(value); } /** * Specify the event message box (eMSG) value for ID3 timed metadata in your * output. For more information, see ISO/IEC 23009-1:2022 section 5.10.3.3.4 * Semantics. When you specify a value for ID3 Metadata Value, you must also set * ID3 metadata to Passthrough. */ inline void SetTimedMetadataValue(const char* value) { m_timedMetadataValueHasBeenSet = true; m_timedMetadataValue.assign(value); } /** * Specify the event message box (eMSG) value for ID3 timed metadata in your * output. For more information, see ISO/IEC 23009-1:2022 section 5.10.3.3.4 * Semantics. When you specify a value for ID3 Metadata Value, you must also set * ID3 metadata to Passthrough. */ inline MpdSettings& WithTimedMetadataValue(const Aws::String& value) { SetTimedMetadataValue(value); return *this;} /** * Specify the event message box (eMSG) value for ID3 timed metadata in your * output. For more information, see ISO/IEC 23009-1:2022 section 5.10.3.3.4 * Semantics. When you specify a value for ID3 Metadata Value, you must also set * ID3 metadata to Passthrough. */ inline MpdSettings& WithTimedMetadataValue(Aws::String&& value) { SetTimedMetadataValue(std::move(value)); return *this;} /** * Specify the event message box (eMSG) value for ID3 timed metadata in your * output. For more information, see ISO/IEC 23009-1:2022 section 5.10.3.3.4 * Semantics. When you specify a value for ID3 Metadata Value, you must also set * ID3 metadata to Passthrough. */ inline MpdSettings& WithTimedMetadataValue(const char* value) { SetTimedMetadataValue(value); return *this;} private: MpdAccessibilityCaptionHints m_accessibilityCaptionHints; bool m_accessibilityCaptionHintsHasBeenSet = false; MpdAudioDuration m_audioDuration; bool m_audioDurationHasBeenSet = false; MpdCaptionContainerType m_captionContainerType; bool m_captionContainerTypeHasBeenSet = false; MpdKlvMetadata m_klvMetadata; bool m_klvMetadataHasBeenSet = false; MpdManifestMetadataSignaling m_manifestMetadataSignaling; bool m_manifestMetadataSignalingHasBeenSet = false; MpdScte35Esam m_scte35Esam; bool m_scte35EsamHasBeenSet = false; MpdScte35Source m_scte35Source; bool m_scte35SourceHasBeenSet = false; MpdTimedMetadata m_timedMetadata; bool m_timedMetadataHasBeenSet = false; MpdTimedMetadataBoxVersion m_timedMetadataBoxVersion; bool m_timedMetadataBoxVersionHasBeenSet = false; Aws::String m_timedMetadataSchemeIdUri; bool m_timedMetadataSchemeIdUriHasBeenSet = false; Aws::String m_timedMetadataValue; bool m_timedMetadataValueHasBeenSet = false; }; } // namespace Model } // namespace MediaConvert } // namespace Aws