/** * 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 namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace MediaConvert { namespace Model { /** * JobTemplateSettings contains all the transcode settings saved in the template * that will be applied to jobs created from it.

See Also:

AWS * API Reference

*/ class JobTemplateSettings { public: AWS_MEDIACONVERT_API JobTemplateSettings(); AWS_MEDIACONVERT_API JobTemplateSettings(Aws::Utils::Json::JsonView jsonValue); AWS_MEDIACONVERT_API JobTemplateSettings& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_MEDIACONVERT_API Aws::Utils::Json::JsonValue Jsonize() const; /** * When specified, this offset (in milliseconds) is added to the input Ad Avail PTS * time. */ inline int GetAdAvailOffset() const{ return m_adAvailOffset; } /** * When specified, this offset (in milliseconds) is added to the input Ad Avail PTS * time. */ inline bool AdAvailOffsetHasBeenSet() const { return m_adAvailOffsetHasBeenSet; } /** * When specified, this offset (in milliseconds) is added to the input Ad Avail PTS * time. */ inline void SetAdAvailOffset(int value) { m_adAvailOffsetHasBeenSet = true; m_adAvailOffset = value; } /** * When specified, this offset (in milliseconds) is added to the input Ad Avail PTS * time. */ inline JobTemplateSettings& WithAdAvailOffset(int value) { SetAdAvailOffset(value); return *this;} /** * Settings for ad avail blanking. Video can be blanked or overlaid with an image, * and audio muted during SCTE-35 triggered ad avails. */ inline const AvailBlanking& GetAvailBlanking() const{ return m_availBlanking; } /** * Settings for ad avail blanking. Video can be blanked or overlaid with an image, * and audio muted during SCTE-35 triggered ad avails. */ inline bool AvailBlankingHasBeenSet() const { return m_availBlankingHasBeenSet; } /** * Settings for ad avail blanking. Video can be blanked or overlaid with an image, * and audio muted during SCTE-35 triggered ad avails. */ inline void SetAvailBlanking(const AvailBlanking& value) { m_availBlankingHasBeenSet = true; m_availBlanking = value; } /** * Settings for ad avail blanking. Video can be blanked or overlaid with an image, * and audio muted during SCTE-35 triggered ad avails. */ inline void SetAvailBlanking(AvailBlanking&& value) { m_availBlankingHasBeenSet = true; m_availBlanking = std::move(value); } /** * Settings for ad avail blanking. Video can be blanked or overlaid with an image, * and audio muted during SCTE-35 triggered ad avails. */ inline JobTemplateSettings& WithAvailBlanking(const AvailBlanking& value) { SetAvailBlanking(value); return *this;} /** * Settings for ad avail blanking. Video can be blanked or overlaid with an image, * and audio muted during SCTE-35 triggered ad avails. */ inline JobTemplateSettings& WithAvailBlanking(AvailBlanking&& value) { SetAvailBlanking(std::move(value)); return *this;} /** * Settings for Event Signaling And Messaging (ESAM). If you don't do ad insertion, * you can ignore these settings. */ inline const EsamSettings& GetEsam() const{ return m_esam; } /** * Settings for Event Signaling And Messaging (ESAM). If you don't do ad insertion, * you can ignore these settings. */ inline bool EsamHasBeenSet() const { return m_esamHasBeenSet; } /** * Settings for Event Signaling And Messaging (ESAM). If you don't do ad insertion, * you can ignore these settings. */ inline void SetEsam(const EsamSettings& value) { m_esamHasBeenSet = true; m_esam = value; } /** * Settings for Event Signaling And Messaging (ESAM). If you don't do ad insertion, * you can ignore these settings. */ inline void SetEsam(EsamSettings&& value) { m_esamHasBeenSet = true; m_esam = std::move(value); } /** * Settings for Event Signaling And Messaging (ESAM). If you don't do ad insertion, * you can ignore these settings. */ inline JobTemplateSettings& WithEsam(const EsamSettings& value) { SetEsam(value); return *this;} /** * Settings for Event Signaling And Messaging (ESAM). If you don't do ad insertion, * you can ignore these settings. */ inline JobTemplateSettings& WithEsam(EsamSettings&& value) { SetEsam(std::move(value)); return *this;} /** * If your source content has EIA-608 Line 21 Data Services, enable this feature to * specify what MediaConvert does with the Extended Data Services (XDS) packets. * You can choose to pass through XDS packets, or remove them from the output. For * more information about XDS, see EIA-608 Line Data Services, section 9.5.1.5 05h * Content Advisory. */ inline const ExtendedDataServices& GetExtendedDataServices() const{ return m_extendedDataServices; } /** * If your source content has EIA-608 Line 21 Data Services, enable this feature to * specify what MediaConvert does with the Extended Data Services (XDS) packets. * You can choose to pass through XDS packets, or remove them from the output. For * more information about XDS, see EIA-608 Line Data Services, section 9.5.1.5 05h * Content Advisory. */ inline bool ExtendedDataServicesHasBeenSet() const { return m_extendedDataServicesHasBeenSet; } /** * If your source content has EIA-608 Line 21 Data Services, enable this feature to * specify what MediaConvert does with the Extended Data Services (XDS) packets. * You can choose to pass through XDS packets, or remove them from the output. For * more information about XDS, see EIA-608 Line Data Services, section 9.5.1.5 05h * Content Advisory. */ inline void SetExtendedDataServices(const ExtendedDataServices& value) { m_extendedDataServicesHasBeenSet = true; m_extendedDataServices = value; } /** * If your source content has EIA-608 Line 21 Data Services, enable this feature to * specify what MediaConvert does with the Extended Data Services (XDS) packets. * You can choose to pass through XDS packets, or remove them from the output. For * more information about XDS, see EIA-608 Line Data Services, section 9.5.1.5 05h * Content Advisory. */ inline void SetExtendedDataServices(ExtendedDataServices&& value) { m_extendedDataServicesHasBeenSet = true; m_extendedDataServices = std::move(value); } /** * If your source content has EIA-608 Line 21 Data Services, enable this feature to * specify what MediaConvert does with the Extended Data Services (XDS) packets. * You can choose to pass through XDS packets, or remove them from the output. For * more information about XDS, see EIA-608 Line Data Services, section 9.5.1.5 05h * Content Advisory. */ inline JobTemplateSettings& WithExtendedDataServices(const ExtendedDataServices& value) { SetExtendedDataServices(value); return *this;} /** * If your source content has EIA-608 Line 21 Data Services, enable this feature to * specify what MediaConvert does with the Extended Data Services (XDS) packets. * You can choose to pass through XDS packets, or remove them from the output. For * more information about XDS, see EIA-608 Line Data Services, section 9.5.1.5 05h * Content Advisory. */ inline JobTemplateSettings& WithExtendedDataServices(ExtendedDataServices&& value) { SetExtendedDataServices(std::move(value)); return *this;} /** * Use Inputs to define the source file used in the transcode job. There can only * be one input in a job template. Using the API, you can include multiple inputs * when referencing a job template. */ inline const Aws::Vector& GetInputs() const{ return m_inputs; } /** * Use Inputs to define the source file used in the transcode job. There can only * be one input in a job template. Using the API, you can include multiple inputs * when referencing a job template. */ inline bool InputsHasBeenSet() const { return m_inputsHasBeenSet; } /** * Use Inputs to define the source file used in the transcode job. There can only * be one input in a job template. Using the API, you can include multiple inputs * when referencing a job template. */ inline void SetInputs(const Aws::Vector& value) { m_inputsHasBeenSet = true; m_inputs = value; } /** * Use Inputs to define the source file used in the transcode job. There can only * be one input in a job template. Using the API, you can include multiple inputs * when referencing a job template. */ inline void SetInputs(Aws::Vector&& value) { m_inputsHasBeenSet = true; m_inputs = std::move(value); } /** * Use Inputs to define the source file used in the transcode job. There can only * be one input in a job template. Using the API, you can include multiple inputs * when referencing a job template. */ inline JobTemplateSettings& WithInputs(const Aws::Vector& value) { SetInputs(value); return *this;} /** * Use Inputs to define the source file used in the transcode job. There can only * be one input in a job template. Using the API, you can include multiple inputs * when referencing a job template. */ inline JobTemplateSettings& WithInputs(Aws::Vector&& value) { SetInputs(std::move(value)); return *this;} /** * Use Inputs to define the source file used in the transcode job. There can only * be one input in a job template. Using the API, you can include multiple inputs * when referencing a job template. */ inline JobTemplateSettings& AddInputs(const InputTemplate& value) { m_inputsHasBeenSet = true; m_inputs.push_back(value); return *this; } /** * Use Inputs to define the source file used in the transcode job. There can only * be one input in a job template. Using the API, you can include multiple inputs * when referencing a job template. */ inline JobTemplateSettings& AddInputs(InputTemplate&& value) { m_inputsHasBeenSet = true; m_inputs.push_back(std::move(value)); return *this; } /** * Use these settings only when you use Kantar watermarking. Specify the values * that MediaConvert uses to generate and place Kantar watermarks in your output * audio. These settings apply to every output in your job. In addition to * specifying these values, you also need to store your Kantar credentials in AWS * Secrets Manager. For more information, see * https://docs.aws.amazon.com/mediaconvert/latest/ug/kantar-watermarking.html. */ inline const KantarWatermarkSettings& GetKantarWatermark() const{ return m_kantarWatermark; } /** * Use these settings only when you use Kantar watermarking. Specify the values * that MediaConvert uses to generate and place Kantar watermarks in your output * audio. These settings apply to every output in your job. In addition to * specifying these values, you also need to store your Kantar credentials in AWS * Secrets Manager. For more information, see * https://docs.aws.amazon.com/mediaconvert/latest/ug/kantar-watermarking.html. */ inline bool KantarWatermarkHasBeenSet() const { return m_kantarWatermarkHasBeenSet; } /** * Use these settings only when you use Kantar watermarking. Specify the values * that MediaConvert uses to generate and place Kantar watermarks in your output * audio. These settings apply to every output in your job. In addition to * specifying these values, you also need to store your Kantar credentials in AWS * Secrets Manager. For more information, see * https://docs.aws.amazon.com/mediaconvert/latest/ug/kantar-watermarking.html. */ inline void SetKantarWatermark(const KantarWatermarkSettings& value) { m_kantarWatermarkHasBeenSet = true; m_kantarWatermark = value; } /** * Use these settings only when you use Kantar watermarking. Specify the values * that MediaConvert uses to generate and place Kantar watermarks in your output * audio. These settings apply to every output in your job. In addition to * specifying these values, you also need to store your Kantar credentials in AWS * Secrets Manager. For more information, see * https://docs.aws.amazon.com/mediaconvert/latest/ug/kantar-watermarking.html. */ inline void SetKantarWatermark(KantarWatermarkSettings&& value) { m_kantarWatermarkHasBeenSet = true; m_kantarWatermark = std::move(value); } /** * Use these settings only when you use Kantar watermarking. Specify the values * that MediaConvert uses to generate and place Kantar watermarks in your output * audio. These settings apply to every output in your job. In addition to * specifying these values, you also need to store your Kantar credentials in AWS * Secrets Manager. For more information, see * https://docs.aws.amazon.com/mediaconvert/latest/ug/kantar-watermarking.html. */ inline JobTemplateSettings& WithKantarWatermark(const KantarWatermarkSettings& value) { SetKantarWatermark(value); return *this;} /** * Use these settings only when you use Kantar watermarking. Specify the values * that MediaConvert uses to generate and place Kantar watermarks in your output * audio. These settings apply to every output in your job. In addition to * specifying these values, you also need to store your Kantar credentials in AWS * Secrets Manager. For more information, see * https://docs.aws.amazon.com/mediaconvert/latest/ug/kantar-watermarking.html. */ inline JobTemplateSettings& WithKantarWatermark(KantarWatermarkSettings&& value) { SetKantarWatermark(std::move(value)); return *this;} /** * Overlay motion graphics on top of your video. The motion graphics that you * specify here appear on all outputs in all output groups. For more information, * see * https://docs.aws.amazon.com/mediaconvert/latest/ug/motion-graphic-overlay.html. */ inline const MotionImageInserter& GetMotionImageInserter() const{ return m_motionImageInserter; } /** * Overlay motion graphics on top of your video. The motion graphics that you * specify here appear on all outputs in all output groups. For more information, * see * https://docs.aws.amazon.com/mediaconvert/latest/ug/motion-graphic-overlay.html. */ inline bool MotionImageInserterHasBeenSet() const { return m_motionImageInserterHasBeenSet; } /** * Overlay motion graphics on top of your video. The motion graphics that you * specify here appear on all outputs in all output groups. For more information, * see * https://docs.aws.amazon.com/mediaconvert/latest/ug/motion-graphic-overlay.html. */ inline void SetMotionImageInserter(const MotionImageInserter& value) { m_motionImageInserterHasBeenSet = true; m_motionImageInserter = value; } /** * Overlay motion graphics on top of your video. The motion graphics that you * specify here appear on all outputs in all output groups. For more information, * see * https://docs.aws.amazon.com/mediaconvert/latest/ug/motion-graphic-overlay.html. */ inline void SetMotionImageInserter(MotionImageInserter&& value) { m_motionImageInserterHasBeenSet = true; m_motionImageInserter = std::move(value); } /** * Overlay motion graphics on top of your video. The motion graphics that you * specify here appear on all outputs in all output groups. For more information, * see * https://docs.aws.amazon.com/mediaconvert/latest/ug/motion-graphic-overlay.html. */ inline JobTemplateSettings& WithMotionImageInserter(const MotionImageInserter& value) { SetMotionImageInserter(value); return *this;} /** * Overlay motion graphics on top of your video. The motion graphics that you * specify here appear on all outputs in all output groups. For more information, * see * https://docs.aws.amazon.com/mediaconvert/latest/ug/motion-graphic-overlay.html. */ inline JobTemplateSettings& WithMotionImageInserter(MotionImageInserter&& value) { SetMotionImageInserter(std::move(value)); return *this;} /** * Settings for your Nielsen configuration. If you don't do Nielsen measurement and * analytics, ignore these settings. When you enable Nielsen configuration, * MediaConvert enables PCM to ID3 tagging for all outputs in the job. */ inline const NielsenConfiguration& GetNielsenConfiguration() const{ return m_nielsenConfiguration; } /** * Settings for your Nielsen configuration. If you don't do Nielsen measurement and * analytics, ignore these settings. When you enable Nielsen configuration, * MediaConvert enables PCM to ID3 tagging for all outputs in the job. */ inline bool NielsenConfigurationHasBeenSet() const { return m_nielsenConfigurationHasBeenSet; } /** * Settings for your Nielsen configuration. If you don't do Nielsen measurement and * analytics, ignore these settings. When you enable Nielsen configuration, * MediaConvert enables PCM to ID3 tagging for all outputs in the job. */ inline void SetNielsenConfiguration(const NielsenConfiguration& value) { m_nielsenConfigurationHasBeenSet = true; m_nielsenConfiguration = value; } /** * Settings for your Nielsen configuration. If you don't do Nielsen measurement and * analytics, ignore these settings. When you enable Nielsen configuration, * MediaConvert enables PCM to ID3 tagging for all outputs in the job. */ inline void SetNielsenConfiguration(NielsenConfiguration&& value) { m_nielsenConfigurationHasBeenSet = true; m_nielsenConfiguration = std::move(value); } /** * Settings for your Nielsen configuration. If you don't do Nielsen measurement and * analytics, ignore these settings. When you enable Nielsen configuration, * MediaConvert enables PCM to ID3 tagging for all outputs in the job. */ inline JobTemplateSettings& WithNielsenConfiguration(const NielsenConfiguration& value) { SetNielsenConfiguration(value); return *this;} /** * Settings for your Nielsen configuration. If you don't do Nielsen measurement and * analytics, ignore these settings. When you enable Nielsen configuration, * MediaConvert enables PCM to ID3 tagging for all outputs in the job. */ inline JobTemplateSettings& WithNielsenConfiguration(NielsenConfiguration&& value) { SetNielsenConfiguration(std::move(value)); return *this;} /** * Ignore these settings unless you are using Nielsen non-linear watermarking. * Specify the values that MediaConvert uses to generate and place Nielsen * watermarks in your output audio. In addition to specifying these values, you * also need to set up your cloud TIC server. These settings apply to every output * in your job. The MediaConvert implementation is currently with the following * Nielsen versions: Nielsen Watermark SDK Version 5.2.1 Nielsen NLM Watermark * Engine Version 1.2.7 Nielsen Watermark Authenticator [SID_TIC] Version [5.0.0] */ inline const NielsenNonLinearWatermarkSettings& GetNielsenNonLinearWatermark() const{ return m_nielsenNonLinearWatermark; } /** * Ignore these settings unless you are using Nielsen non-linear watermarking. * Specify the values that MediaConvert uses to generate and place Nielsen * watermarks in your output audio. In addition to specifying these values, you * also need to set up your cloud TIC server. These settings apply to every output * in your job. The MediaConvert implementation is currently with the following * Nielsen versions: Nielsen Watermark SDK Version 5.2.1 Nielsen NLM Watermark * Engine Version 1.2.7 Nielsen Watermark Authenticator [SID_TIC] Version [5.0.0] */ inline bool NielsenNonLinearWatermarkHasBeenSet() const { return m_nielsenNonLinearWatermarkHasBeenSet; } /** * Ignore these settings unless you are using Nielsen non-linear watermarking. * Specify the values that MediaConvert uses to generate and place Nielsen * watermarks in your output audio. In addition to specifying these values, you * also need to set up your cloud TIC server. These settings apply to every output * in your job. The MediaConvert implementation is currently with the following * Nielsen versions: Nielsen Watermark SDK Version 5.2.1 Nielsen NLM Watermark * Engine Version 1.2.7 Nielsen Watermark Authenticator [SID_TIC] Version [5.0.0] */ inline void SetNielsenNonLinearWatermark(const NielsenNonLinearWatermarkSettings& value) { m_nielsenNonLinearWatermarkHasBeenSet = true; m_nielsenNonLinearWatermark = value; } /** * Ignore these settings unless you are using Nielsen non-linear watermarking. * Specify the values that MediaConvert uses to generate and place Nielsen * watermarks in your output audio. In addition to specifying these values, you * also need to set up your cloud TIC server. These settings apply to every output * in your job. The MediaConvert implementation is currently with the following * Nielsen versions: Nielsen Watermark SDK Version 5.2.1 Nielsen NLM Watermark * Engine Version 1.2.7 Nielsen Watermark Authenticator [SID_TIC] Version [5.0.0] */ inline void SetNielsenNonLinearWatermark(NielsenNonLinearWatermarkSettings&& value) { m_nielsenNonLinearWatermarkHasBeenSet = true; m_nielsenNonLinearWatermark = std::move(value); } /** * Ignore these settings unless you are using Nielsen non-linear watermarking. * Specify the values that MediaConvert uses to generate and place Nielsen * watermarks in your output audio. In addition to specifying these values, you * also need to set up your cloud TIC server. These settings apply to every output * in your job. The MediaConvert implementation is currently with the following * Nielsen versions: Nielsen Watermark SDK Version 5.2.1 Nielsen NLM Watermark * Engine Version 1.2.7 Nielsen Watermark Authenticator [SID_TIC] Version [5.0.0] */ inline JobTemplateSettings& WithNielsenNonLinearWatermark(const NielsenNonLinearWatermarkSettings& value) { SetNielsenNonLinearWatermark(value); return *this;} /** * Ignore these settings unless you are using Nielsen non-linear watermarking. * Specify the values that MediaConvert uses to generate and place Nielsen * watermarks in your output audio. In addition to specifying these values, you * also need to set up your cloud TIC server. These settings apply to every output * in your job. The MediaConvert implementation is currently with the following * Nielsen versions: Nielsen Watermark SDK Version 5.2.1 Nielsen NLM Watermark * Engine Version 1.2.7 Nielsen Watermark Authenticator [SID_TIC] Version [5.0.0] */ inline JobTemplateSettings& WithNielsenNonLinearWatermark(NielsenNonLinearWatermarkSettings&& value) { SetNielsenNonLinearWatermark(std::move(value)); return *this;} /** * Contains one group of settings for each set of outputs that share a common * package type. All unpackaged files (MPEG-4, MPEG-2 TS, Quicktime, MXF, and no * container) are grouped in a single output group as well. Required in is a group * of settings that apply to the whole group. This required object depends on the * value you set for Type. Type, settings object pairs are as follows. * * FILE_GROUP_SETTINGS, FileGroupSettings * HLS_GROUP_SETTINGS, HlsGroupSettings * * DASH_ISO_GROUP_SETTINGS, DashIsoGroupSettings * MS_SMOOTH_GROUP_SETTINGS, * MsSmoothGroupSettings * CMAF_GROUP_SETTINGS, CmafGroupSettings */ inline const Aws::Vector& GetOutputGroups() const{ return m_outputGroups; } /** * Contains one group of settings for each set of outputs that share a common * package type. All unpackaged files (MPEG-4, MPEG-2 TS, Quicktime, MXF, and no * container) are grouped in a single output group as well. Required in is a group * of settings that apply to the whole group. This required object depends on the * value you set for Type. Type, settings object pairs are as follows. * * FILE_GROUP_SETTINGS, FileGroupSettings * HLS_GROUP_SETTINGS, HlsGroupSettings * * DASH_ISO_GROUP_SETTINGS, DashIsoGroupSettings * MS_SMOOTH_GROUP_SETTINGS, * MsSmoothGroupSettings * CMAF_GROUP_SETTINGS, CmafGroupSettings */ inline bool OutputGroupsHasBeenSet() const { return m_outputGroupsHasBeenSet; } /** * Contains one group of settings for each set of outputs that share a common * package type. All unpackaged files (MPEG-4, MPEG-2 TS, Quicktime, MXF, and no * container) are grouped in a single output group as well. Required in is a group * of settings that apply to the whole group. This required object depends on the * value you set for Type. Type, settings object pairs are as follows. * * FILE_GROUP_SETTINGS, FileGroupSettings * HLS_GROUP_SETTINGS, HlsGroupSettings * * DASH_ISO_GROUP_SETTINGS, DashIsoGroupSettings * MS_SMOOTH_GROUP_SETTINGS, * MsSmoothGroupSettings * CMAF_GROUP_SETTINGS, CmafGroupSettings */ inline void SetOutputGroups(const Aws::Vector& value) { m_outputGroupsHasBeenSet = true; m_outputGroups = value; } /** * Contains one group of settings for each set of outputs that share a common * package type. All unpackaged files (MPEG-4, MPEG-2 TS, Quicktime, MXF, and no * container) are grouped in a single output group as well. Required in is a group * of settings that apply to the whole group. This required object depends on the * value you set for Type. Type, settings object pairs are as follows. * * FILE_GROUP_SETTINGS, FileGroupSettings * HLS_GROUP_SETTINGS, HlsGroupSettings * * DASH_ISO_GROUP_SETTINGS, DashIsoGroupSettings * MS_SMOOTH_GROUP_SETTINGS, * MsSmoothGroupSettings * CMAF_GROUP_SETTINGS, CmafGroupSettings */ inline void SetOutputGroups(Aws::Vector&& value) { m_outputGroupsHasBeenSet = true; m_outputGroups = std::move(value); } /** * Contains one group of settings for each set of outputs that share a common * package type. All unpackaged files (MPEG-4, MPEG-2 TS, Quicktime, MXF, and no * container) are grouped in a single output group as well. Required in is a group * of settings that apply to the whole group. This required object depends on the * value you set for Type. Type, settings object pairs are as follows. * * FILE_GROUP_SETTINGS, FileGroupSettings * HLS_GROUP_SETTINGS, HlsGroupSettings * * DASH_ISO_GROUP_SETTINGS, DashIsoGroupSettings * MS_SMOOTH_GROUP_SETTINGS, * MsSmoothGroupSettings * CMAF_GROUP_SETTINGS, CmafGroupSettings */ inline JobTemplateSettings& WithOutputGroups(const Aws::Vector& value) { SetOutputGroups(value); return *this;} /** * Contains one group of settings for each set of outputs that share a common * package type. All unpackaged files (MPEG-4, MPEG-2 TS, Quicktime, MXF, and no * container) are grouped in a single output group as well. Required in is a group * of settings that apply to the whole group. This required object depends on the * value you set for Type. Type, settings object pairs are as follows. * * FILE_GROUP_SETTINGS, FileGroupSettings * HLS_GROUP_SETTINGS, HlsGroupSettings * * DASH_ISO_GROUP_SETTINGS, DashIsoGroupSettings * MS_SMOOTH_GROUP_SETTINGS, * MsSmoothGroupSettings * CMAF_GROUP_SETTINGS, CmafGroupSettings */ inline JobTemplateSettings& WithOutputGroups(Aws::Vector&& value) { SetOutputGroups(std::move(value)); return *this;} /** * Contains one group of settings for each set of outputs that share a common * package type. All unpackaged files (MPEG-4, MPEG-2 TS, Quicktime, MXF, and no * container) are grouped in a single output group as well. Required in is a group * of settings that apply to the whole group. This required object depends on the * value you set for Type. Type, settings object pairs are as follows. * * FILE_GROUP_SETTINGS, FileGroupSettings * HLS_GROUP_SETTINGS, HlsGroupSettings * * DASH_ISO_GROUP_SETTINGS, DashIsoGroupSettings * MS_SMOOTH_GROUP_SETTINGS, * MsSmoothGroupSettings * CMAF_GROUP_SETTINGS, CmafGroupSettings */ inline JobTemplateSettings& AddOutputGroups(const OutputGroup& value) { m_outputGroupsHasBeenSet = true; m_outputGroups.push_back(value); return *this; } /** * Contains one group of settings for each set of outputs that share a common * package type. All unpackaged files (MPEG-4, MPEG-2 TS, Quicktime, MXF, and no * container) are grouped in a single output group as well. Required in is a group * of settings that apply to the whole group. This required object depends on the * value you set for Type. Type, settings object pairs are as follows. * * FILE_GROUP_SETTINGS, FileGroupSettings * HLS_GROUP_SETTINGS, HlsGroupSettings * * DASH_ISO_GROUP_SETTINGS, DashIsoGroupSettings * MS_SMOOTH_GROUP_SETTINGS, * MsSmoothGroupSettings * CMAF_GROUP_SETTINGS, CmafGroupSettings */ inline JobTemplateSettings& AddOutputGroups(OutputGroup&& value) { m_outputGroupsHasBeenSet = true; m_outputGroups.push_back(std::move(value)); return *this; } /** * These settings control how the service handles timecodes throughout the job. * These settings don't affect input clipping. */ inline const TimecodeConfig& GetTimecodeConfig() const{ return m_timecodeConfig; } /** * These settings control how the service handles timecodes throughout the job. * These settings don't affect input clipping. */ inline bool TimecodeConfigHasBeenSet() const { return m_timecodeConfigHasBeenSet; } /** * These settings control how the service handles timecodes throughout the job. * These settings don't affect input clipping. */ inline void SetTimecodeConfig(const TimecodeConfig& value) { m_timecodeConfigHasBeenSet = true; m_timecodeConfig = value; } /** * These settings control how the service handles timecodes throughout the job. * These settings don't affect input clipping. */ inline void SetTimecodeConfig(TimecodeConfig&& value) { m_timecodeConfigHasBeenSet = true; m_timecodeConfig = std::move(value); } /** * These settings control how the service handles timecodes throughout the job. * These settings don't affect input clipping. */ inline JobTemplateSettings& WithTimecodeConfig(const TimecodeConfig& value) { SetTimecodeConfig(value); return *this;} /** * These settings control how the service handles timecodes throughout the job. * These settings don't affect input clipping. */ inline JobTemplateSettings& WithTimecodeConfig(TimecodeConfig&& value) { SetTimecodeConfig(std::move(value)); return *this;} /** * Insert user-defined custom ID3 metadata at timecodes that you specify. In each * output that you want to include this metadata, you must set ID3 metadata to * Passthrough. */ inline const TimedMetadataInsertion& GetTimedMetadataInsertion() const{ return m_timedMetadataInsertion; } /** * Insert user-defined custom ID3 metadata at timecodes that you specify. In each * output that you want to include this metadata, you must set ID3 metadata to * Passthrough. */ inline bool TimedMetadataInsertionHasBeenSet() const { return m_timedMetadataInsertionHasBeenSet; } /** * Insert user-defined custom ID3 metadata at timecodes that you specify. In each * output that you want to include this metadata, you must set ID3 metadata to * Passthrough. */ inline void SetTimedMetadataInsertion(const TimedMetadataInsertion& value) { m_timedMetadataInsertionHasBeenSet = true; m_timedMetadataInsertion = value; } /** * Insert user-defined custom ID3 metadata at timecodes that you specify. In each * output that you want to include this metadata, you must set ID3 metadata to * Passthrough. */ inline void SetTimedMetadataInsertion(TimedMetadataInsertion&& value) { m_timedMetadataInsertionHasBeenSet = true; m_timedMetadataInsertion = std::move(value); } /** * Insert user-defined custom ID3 metadata at timecodes that you specify. In each * output that you want to include this metadata, you must set ID3 metadata to * Passthrough. */ inline JobTemplateSettings& WithTimedMetadataInsertion(const TimedMetadataInsertion& value) { SetTimedMetadataInsertion(value); return *this;} /** * Insert user-defined custom ID3 metadata at timecodes that you specify. In each * output that you want to include this metadata, you must set ID3 metadata to * Passthrough. */ inline JobTemplateSettings& WithTimedMetadataInsertion(TimedMetadataInsertion&& value) { SetTimedMetadataInsertion(std::move(value)); return *this;} private: int m_adAvailOffset; bool m_adAvailOffsetHasBeenSet = false; AvailBlanking m_availBlanking; bool m_availBlankingHasBeenSet = false; EsamSettings m_esam; bool m_esamHasBeenSet = false; ExtendedDataServices m_extendedDataServices; bool m_extendedDataServicesHasBeenSet = false; Aws::Vector m_inputs; bool m_inputsHasBeenSet = false; KantarWatermarkSettings m_kantarWatermark; bool m_kantarWatermarkHasBeenSet = false; MotionImageInserter m_motionImageInserter; bool m_motionImageInserterHasBeenSet = false; NielsenConfiguration m_nielsenConfiguration; bool m_nielsenConfigurationHasBeenSet = false; NielsenNonLinearWatermarkSettings m_nielsenNonLinearWatermark; bool m_nielsenNonLinearWatermarkHasBeenSet = false; Aws::Vector m_outputGroups; bool m_outputGroupsHasBeenSet = false; TimecodeConfig m_timecodeConfig; bool m_timecodeConfigHasBeenSet = false; TimedMetadataInsertion m_timedMetadataInsertion; bool m_timedMetadataInsertionHasBeenSet = false; }; } // namespace Model } // namespace MediaConvert } // namespace Aws