/**
* 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 MediaLive
{
namespace Model
{
/**
* Live Event input parameters. There can be multiple inputs in a single Live
* Event.See Also:
AWS
* API Reference
*/
class InputSettings
{
public:
AWS_MEDIALIVE_API InputSettings();
AWS_MEDIALIVE_API InputSettings(Aws::Utils::Json::JsonView jsonValue);
AWS_MEDIALIVE_API InputSettings& operator=(Aws::Utils::Json::JsonView jsonValue);
AWS_MEDIALIVE_API Aws::Utils::Json::JsonValue Jsonize() const;
/**
* Used to select the audio stream to decode for inputs that have multiple
* available.
*/
inline const Aws::Vector& GetAudioSelectors() const{ return m_audioSelectors; }
/**
* Used to select the audio stream to decode for inputs that have multiple
* available.
*/
inline bool AudioSelectorsHasBeenSet() const { return m_audioSelectorsHasBeenSet; }
/**
* Used to select the audio stream to decode for inputs that have multiple
* available.
*/
inline void SetAudioSelectors(const Aws::Vector& value) { m_audioSelectorsHasBeenSet = true; m_audioSelectors = value; }
/**
* Used to select the audio stream to decode for inputs that have multiple
* available.
*/
inline void SetAudioSelectors(Aws::Vector&& value) { m_audioSelectorsHasBeenSet = true; m_audioSelectors = std::move(value); }
/**
* Used to select the audio stream to decode for inputs that have multiple
* available.
*/
inline InputSettings& WithAudioSelectors(const Aws::Vector& value) { SetAudioSelectors(value); return *this;}
/**
* Used to select the audio stream to decode for inputs that have multiple
* available.
*/
inline InputSettings& WithAudioSelectors(Aws::Vector&& value) { SetAudioSelectors(std::move(value)); return *this;}
/**
* Used to select the audio stream to decode for inputs that have multiple
* available.
*/
inline InputSettings& AddAudioSelectors(const AudioSelector& value) { m_audioSelectorsHasBeenSet = true; m_audioSelectors.push_back(value); return *this; }
/**
* Used to select the audio stream to decode for inputs that have multiple
* available.
*/
inline InputSettings& AddAudioSelectors(AudioSelector&& value) { m_audioSelectorsHasBeenSet = true; m_audioSelectors.push_back(std::move(value)); return *this; }
/**
* Used to select the caption input to use for inputs that have multiple available.
*/
inline const Aws::Vector& GetCaptionSelectors() const{ return m_captionSelectors; }
/**
* Used to select the caption input to use for inputs that have multiple available.
*/
inline bool CaptionSelectorsHasBeenSet() const { return m_captionSelectorsHasBeenSet; }
/**
* Used to select the caption input to use for inputs that have multiple available.
*/
inline void SetCaptionSelectors(const Aws::Vector& value) { m_captionSelectorsHasBeenSet = true; m_captionSelectors = value; }
/**
* Used to select the caption input to use for inputs that have multiple available.
*/
inline void SetCaptionSelectors(Aws::Vector&& value) { m_captionSelectorsHasBeenSet = true; m_captionSelectors = std::move(value); }
/**
* Used to select the caption input to use for inputs that have multiple available.
*/
inline InputSettings& WithCaptionSelectors(const Aws::Vector& value) { SetCaptionSelectors(value); return *this;}
/**
* Used to select the caption input to use for inputs that have multiple available.
*/
inline InputSettings& WithCaptionSelectors(Aws::Vector&& value) { SetCaptionSelectors(std::move(value)); return *this;}
/**
* Used to select the caption input to use for inputs that have multiple available.
*/
inline InputSettings& AddCaptionSelectors(const CaptionSelector& value) { m_captionSelectorsHasBeenSet = true; m_captionSelectors.push_back(value); return *this; }
/**
* Used to select the caption input to use for inputs that have multiple available.
*/
inline InputSettings& AddCaptionSelectors(CaptionSelector&& value) { m_captionSelectorsHasBeenSet = true; m_captionSelectors.push_back(std::move(value)); return *this; }
/**
* Enable or disable the deblock filter when filtering.
*/
inline const InputDeblockFilter& GetDeblockFilter() const{ return m_deblockFilter; }
/**
* Enable or disable the deblock filter when filtering.
*/
inline bool DeblockFilterHasBeenSet() const { return m_deblockFilterHasBeenSet; }
/**
* Enable or disable the deblock filter when filtering.
*/
inline void SetDeblockFilter(const InputDeblockFilter& value) { m_deblockFilterHasBeenSet = true; m_deblockFilter = value; }
/**
* Enable or disable the deblock filter when filtering.
*/
inline void SetDeblockFilter(InputDeblockFilter&& value) { m_deblockFilterHasBeenSet = true; m_deblockFilter = std::move(value); }
/**
* Enable or disable the deblock filter when filtering.
*/
inline InputSettings& WithDeblockFilter(const InputDeblockFilter& value) { SetDeblockFilter(value); return *this;}
/**
* Enable or disable the deblock filter when filtering.
*/
inline InputSettings& WithDeblockFilter(InputDeblockFilter&& value) { SetDeblockFilter(std::move(value)); return *this;}
/**
* Enable or disable the denoise filter when filtering.
*/
inline const InputDenoiseFilter& GetDenoiseFilter() const{ return m_denoiseFilter; }
/**
* Enable or disable the denoise filter when filtering.
*/
inline bool DenoiseFilterHasBeenSet() const { return m_denoiseFilterHasBeenSet; }
/**
* Enable or disable the denoise filter when filtering.
*/
inline void SetDenoiseFilter(const InputDenoiseFilter& value) { m_denoiseFilterHasBeenSet = true; m_denoiseFilter = value; }
/**
* Enable or disable the denoise filter when filtering.
*/
inline void SetDenoiseFilter(InputDenoiseFilter&& value) { m_denoiseFilterHasBeenSet = true; m_denoiseFilter = std::move(value); }
/**
* Enable or disable the denoise filter when filtering.
*/
inline InputSettings& WithDenoiseFilter(const InputDenoiseFilter& value) { SetDenoiseFilter(value); return *this;}
/**
* Enable or disable the denoise filter when filtering.
*/
inline InputSettings& WithDenoiseFilter(InputDenoiseFilter&& value) { SetDenoiseFilter(std::move(value)); return *this;}
/**
* Adjusts the magnitude of filtering from 1 (minimal) to 5 (strongest).
*/
inline int GetFilterStrength() const{ return m_filterStrength; }
/**
* Adjusts the magnitude of filtering from 1 (minimal) to 5 (strongest).
*/
inline bool FilterStrengthHasBeenSet() const { return m_filterStrengthHasBeenSet; }
/**
* Adjusts the magnitude of filtering from 1 (minimal) to 5 (strongest).
*/
inline void SetFilterStrength(int value) { m_filterStrengthHasBeenSet = true; m_filterStrength = value; }
/**
* Adjusts the magnitude of filtering from 1 (minimal) to 5 (strongest).
*/
inline InputSettings& WithFilterStrength(int value) { SetFilterStrength(value); return *this;}
/**
* Turns on the filter for this input. MPEG-2 inputs have the deblocking filter
* enabled by default.
1) auto - filtering will be applied depending on input
* type/quality
2) disabled - no filtering will be applied to the input
3) forced -
* filtering will be applied regardless of input type
*/
inline const InputFilter& GetInputFilter() const{ return m_inputFilter; }
/**
* Turns on the filter for this input. MPEG-2 inputs have the deblocking filter
* enabled by default.
1) auto - filtering will be applied depending on input
* type/quality
2) disabled - no filtering will be applied to the input
3) forced -
* filtering will be applied regardless of input type
*/
inline bool InputFilterHasBeenSet() const { return m_inputFilterHasBeenSet; }
/**
* Turns on the filter for this input. MPEG-2 inputs have the deblocking filter
* enabled by default.
1) auto - filtering will be applied depending on input
* type/quality
2) disabled - no filtering will be applied to the input
3) forced -
* filtering will be applied regardless of input type
*/
inline void SetInputFilter(const InputFilter& value) { m_inputFilterHasBeenSet = true; m_inputFilter = value; }
/**
* Turns on the filter for this input. MPEG-2 inputs have the deblocking filter
* enabled by default.
1) auto - filtering will be applied depending on input
* type/quality
2) disabled - no filtering will be applied to the input
3) forced -
* filtering will be applied regardless of input type
*/
inline void SetInputFilter(InputFilter&& value) { m_inputFilterHasBeenSet = true; m_inputFilter = std::move(value); }
/**
* Turns on the filter for this input. MPEG-2 inputs have the deblocking filter
* enabled by default.
1) auto - filtering will be applied depending on input
* type/quality
2) disabled - no filtering will be applied to the input
3) forced -
* filtering will be applied regardless of input type
*/
inline InputSettings& WithInputFilter(const InputFilter& value) { SetInputFilter(value); return *this;}
/**
* Turns on the filter for this input. MPEG-2 inputs have the deblocking filter
* enabled by default.
1) auto - filtering will be applied depending on input
* type/quality
2) disabled - no filtering will be applied to the input
3) forced -
* filtering will be applied regardless of input type
*/
inline InputSettings& WithInputFilter(InputFilter&& value) { SetInputFilter(std::move(value)); return *this;}
/**
* Input settings.
*/
inline const NetworkInputSettings& GetNetworkInputSettings() const{ return m_networkInputSettings; }
/**
* Input settings.
*/
inline bool NetworkInputSettingsHasBeenSet() const { return m_networkInputSettingsHasBeenSet; }
/**
* Input settings.
*/
inline void SetNetworkInputSettings(const NetworkInputSettings& value) { m_networkInputSettingsHasBeenSet = true; m_networkInputSettings = value; }
/**
* Input settings.
*/
inline void SetNetworkInputSettings(NetworkInputSettings&& value) { m_networkInputSettingsHasBeenSet = true; m_networkInputSettings = std::move(value); }
/**
* Input settings.
*/
inline InputSettings& WithNetworkInputSettings(const NetworkInputSettings& value) { SetNetworkInputSettings(value); return *this;}
/**
* Input settings.
*/
inline InputSettings& WithNetworkInputSettings(NetworkInputSettings&& value) { SetNetworkInputSettings(std::move(value)); return *this;}
/**
* PID from which to read SCTE-35 messages. If left undefined, EML will select the
* first SCTE-35 PID found in the input.
*/
inline int GetScte35Pid() const{ return m_scte35Pid; }
/**
* PID from which to read SCTE-35 messages. If left undefined, EML will select the
* first SCTE-35 PID found in the input.
*/
inline bool Scte35PidHasBeenSet() const { return m_scte35PidHasBeenSet; }
/**
* PID from which to read SCTE-35 messages. If left undefined, EML will select the
* first SCTE-35 PID found in the input.
*/
inline void SetScte35Pid(int value) { m_scte35PidHasBeenSet = true; m_scte35Pid = value; }
/**
* PID from which to read SCTE-35 messages. If left undefined, EML will select the
* first SCTE-35 PID found in the input.
*/
inline InputSettings& WithScte35Pid(int value) { SetScte35Pid(value); return *this;}
/**
* Specifies whether to extract applicable ancillary data from a SMPTE-2038 source
* in this input. Applicable data types are captions, timecode, AFD, and SCTE-104
* messages.
- PREFER: Extract from SMPTE-2038 if present in this input, otherwise
* extract from another source (if any).
- IGNORE: Never extract any ancillary data
* from SMPTE-2038.
*/
inline const Smpte2038DataPreference& GetSmpte2038DataPreference() const{ return m_smpte2038DataPreference; }
/**
* Specifies whether to extract applicable ancillary data from a SMPTE-2038 source
* in this input. Applicable data types are captions, timecode, AFD, and SCTE-104
* messages.
- PREFER: Extract from SMPTE-2038 if present in this input, otherwise
* extract from another source (if any).
- IGNORE: Never extract any ancillary data
* from SMPTE-2038.
*/
inline bool Smpte2038DataPreferenceHasBeenSet() const { return m_smpte2038DataPreferenceHasBeenSet; }
/**
* Specifies whether to extract applicable ancillary data from a SMPTE-2038 source
* in this input. Applicable data types are captions, timecode, AFD, and SCTE-104
* messages.
- PREFER: Extract from SMPTE-2038 if present in this input, otherwise
* extract from another source (if any).
- IGNORE: Never extract any ancillary data
* from SMPTE-2038.
*/
inline void SetSmpte2038DataPreference(const Smpte2038DataPreference& value) { m_smpte2038DataPreferenceHasBeenSet = true; m_smpte2038DataPreference = value; }
/**
* Specifies whether to extract applicable ancillary data from a SMPTE-2038 source
* in this input. Applicable data types are captions, timecode, AFD, and SCTE-104
* messages.
- PREFER: Extract from SMPTE-2038 if present in this input, otherwise
* extract from another source (if any).
- IGNORE: Never extract any ancillary data
* from SMPTE-2038.
*/
inline void SetSmpte2038DataPreference(Smpte2038DataPreference&& value) { m_smpte2038DataPreferenceHasBeenSet = true; m_smpte2038DataPreference = std::move(value); }
/**
* Specifies whether to extract applicable ancillary data from a SMPTE-2038 source
* in this input. Applicable data types are captions, timecode, AFD, and SCTE-104
* messages.
- PREFER: Extract from SMPTE-2038 if present in this input, otherwise
* extract from another source (if any).
- IGNORE: Never extract any ancillary data
* from SMPTE-2038.
*/
inline InputSettings& WithSmpte2038DataPreference(const Smpte2038DataPreference& value) { SetSmpte2038DataPreference(value); return *this;}
/**
* Specifies whether to extract applicable ancillary data from a SMPTE-2038 source
* in this input. Applicable data types are captions, timecode, AFD, and SCTE-104
* messages.
- PREFER: Extract from SMPTE-2038 if present in this input, otherwise
* extract from another source (if any).
- IGNORE: Never extract any ancillary data
* from SMPTE-2038.
*/
inline InputSettings& WithSmpte2038DataPreference(Smpte2038DataPreference&& value) { SetSmpte2038DataPreference(std::move(value)); return *this;}
/**
* Loop input if it is a file. This allows a file input to be streamed
* indefinitely.
*/
inline const InputSourceEndBehavior& GetSourceEndBehavior() const{ return m_sourceEndBehavior; }
/**
* Loop input if it is a file. This allows a file input to be streamed
* indefinitely.
*/
inline bool SourceEndBehaviorHasBeenSet() const { return m_sourceEndBehaviorHasBeenSet; }
/**
* Loop input if it is a file. This allows a file input to be streamed
* indefinitely.
*/
inline void SetSourceEndBehavior(const InputSourceEndBehavior& value) { m_sourceEndBehaviorHasBeenSet = true; m_sourceEndBehavior = value; }
/**
* Loop input if it is a file. This allows a file input to be streamed
* indefinitely.
*/
inline void SetSourceEndBehavior(InputSourceEndBehavior&& value) { m_sourceEndBehaviorHasBeenSet = true; m_sourceEndBehavior = std::move(value); }
/**
* Loop input if it is a file. This allows a file input to be streamed
* indefinitely.
*/
inline InputSettings& WithSourceEndBehavior(const InputSourceEndBehavior& value) { SetSourceEndBehavior(value); return *this;}
/**
* Loop input if it is a file. This allows a file input to be streamed
* indefinitely.
*/
inline InputSettings& WithSourceEndBehavior(InputSourceEndBehavior&& value) { SetSourceEndBehavior(std::move(value)); return *this;}
/**
* Informs which video elementary stream to decode for input types that have
* multiple available.
*/
inline const VideoSelector& GetVideoSelector() const{ return m_videoSelector; }
/**
* Informs which video elementary stream to decode for input types that have
* multiple available.
*/
inline bool VideoSelectorHasBeenSet() const { return m_videoSelectorHasBeenSet; }
/**
* Informs which video elementary stream to decode for input types that have
* multiple available.
*/
inline void SetVideoSelector(const VideoSelector& value) { m_videoSelectorHasBeenSet = true; m_videoSelector = value; }
/**
* Informs which video elementary stream to decode for input types that have
* multiple available.
*/
inline void SetVideoSelector(VideoSelector&& value) { m_videoSelectorHasBeenSet = true; m_videoSelector = std::move(value); }
/**
* Informs which video elementary stream to decode for input types that have
* multiple available.
*/
inline InputSettings& WithVideoSelector(const VideoSelector& value) { SetVideoSelector(value); return *this;}
/**
* Informs which video elementary stream to decode for input types that have
* multiple available.
*/
inline InputSettings& WithVideoSelector(VideoSelector&& value) { SetVideoSelector(std::move(value)); return *this;}
private:
Aws::Vector m_audioSelectors;
bool m_audioSelectorsHasBeenSet = false;
Aws::Vector m_captionSelectors;
bool m_captionSelectorsHasBeenSet = false;
InputDeblockFilter m_deblockFilter;
bool m_deblockFilterHasBeenSet = false;
InputDenoiseFilter m_denoiseFilter;
bool m_denoiseFilterHasBeenSet = false;
int m_filterStrength;
bool m_filterStrengthHasBeenSet = false;
InputFilter m_inputFilter;
bool m_inputFilterHasBeenSet = false;
NetworkInputSettings m_networkInputSettings;
bool m_networkInputSettingsHasBeenSet = false;
int m_scte35Pid;
bool m_scte35PidHasBeenSet = false;
Smpte2038DataPreference m_smpte2038DataPreference;
bool m_smpte2038DataPreferenceHasBeenSet = false;
InputSourceEndBehavior m_sourceEndBehavior;
bool m_sourceEndBehaviorHasBeenSet = false;
VideoSelector m_videoSelector;
bool m_videoSelectorHasBeenSet = false;
};
} // namespace Model
} // namespace MediaLive
} // namespace Aws