362 lines
13 KiB
C++
362 lines
13 KiB
C++
/**
|
|
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
* SPDX-License-Identifier: Apache-2.0.
|
|
*/
|
|
|
|
#pragma once
|
|
#include <aws/medialive/MediaLive_EXPORTS.h>
|
|
#include <aws/core/utils/memory/stl/AWSString.h>
|
|
#include <aws/medialive/model/InputLocation.h>
|
|
#include <aws/medialive/model/AudioOnlyHlsTrackType.h>
|
|
#include <aws/medialive/model/AudioOnlyHlsSegmentType.h>
|
|
#include <utility>
|
|
|
|
namespace Aws
|
|
{
|
|
namespace Utils
|
|
{
|
|
namespace Json
|
|
{
|
|
class JsonValue;
|
|
class JsonView;
|
|
} // namespace Json
|
|
} // namespace Utils
|
|
namespace MediaLive
|
|
{
|
|
namespace Model
|
|
{
|
|
|
|
/**
|
|
* Audio Only Hls Settings<p><h3>See Also:</h3> <a
|
|
* href="http://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/AudioOnlyHlsSettings">AWS
|
|
* API Reference</a></p>
|
|
*/
|
|
class AWS_MEDIALIVE_API AudioOnlyHlsSettings
|
|
{
|
|
public:
|
|
AudioOnlyHlsSettings();
|
|
AudioOnlyHlsSettings(Aws::Utils::Json::JsonView jsonValue);
|
|
AudioOnlyHlsSettings& operator=(Aws::Utils::Json::JsonView jsonValue);
|
|
Aws::Utils::Json::JsonValue Jsonize() const;
|
|
|
|
|
|
/**
|
|
* Specifies the group to which the audio Rendition belongs.
|
|
*/
|
|
inline const Aws::String& GetAudioGroupId() const{ return m_audioGroupId; }
|
|
|
|
/**
|
|
* Specifies the group to which the audio Rendition belongs.
|
|
*/
|
|
inline bool AudioGroupIdHasBeenSet() const { return m_audioGroupIdHasBeenSet; }
|
|
|
|
/**
|
|
* Specifies the group to which the audio Rendition belongs.
|
|
*/
|
|
inline void SetAudioGroupId(const Aws::String& value) { m_audioGroupIdHasBeenSet = true; m_audioGroupId = value; }
|
|
|
|
/**
|
|
* Specifies the group to which the audio Rendition belongs.
|
|
*/
|
|
inline void SetAudioGroupId(Aws::String&& value) { m_audioGroupIdHasBeenSet = true; m_audioGroupId = std::move(value); }
|
|
|
|
/**
|
|
* Specifies the group to which the audio Rendition belongs.
|
|
*/
|
|
inline void SetAudioGroupId(const char* value) { m_audioGroupIdHasBeenSet = true; m_audioGroupId.assign(value); }
|
|
|
|
/**
|
|
* Specifies the group to which the audio Rendition belongs.
|
|
*/
|
|
inline AudioOnlyHlsSettings& WithAudioGroupId(const Aws::String& value) { SetAudioGroupId(value); return *this;}
|
|
|
|
/**
|
|
* Specifies the group to which the audio Rendition belongs.
|
|
*/
|
|
inline AudioOnlyHlsSettings& WithAudioGroupId(Aws::String&& value) { SetAudioGroupId(std::move(value)); return *this;}
|
|
|
|
/**
|
|
* Specifies the group to which the audio Rendition belongs.
|
|
*/
|
|
inline AudioOnlyHlsSettings& WithAudioGroupId(const char* value) { SetAudioGroupId(value); return *this;}
|
|
|
|
|
|
/**
|
|
* Optional. Specifies the .jpg or .png image to use as the cover art for an
|
|
* audio-only output. We recommend a low bit-size file because the image increases
|
|
* the output audio bandwidth.
|
|
|
|
The image is attached to the audio as an ID3 tag,
|
|
* frame type APIC, picture type 0x10, as per the "ID3 tag version 2.4.0 - Native
|
|
* Frames" standard.
|
|
*/
|
|
inline const InputLocation& GetAudioOnlyImage() const{ return m_audioOnlyImage; }
|
|
|
|
/**
|
|
* Optional. Specifies the .jpg or .png image to use as the cover art for an
|
|
* audio-only output. We recommend a low bit-size file because the image increases
|
|
* the output audio bandwidth.
|
|
|
|
The image is attached to the audio as an ID3 tag,
|
|
* frame type APIC, picture type 0x10, as per the "ID3 tag version 2.4.0 - Native
|
|
* Frames" standard.
|
|
*/
|
|
inline bool AudioOnlyImageHasBeenSet() const { return m_audioOnlyImageHasBeenSet; }
|
|
|
|
/**
|
|
* Optional. Specifies the .jpg or .png image to use as the cover art for an
|
|
* audio-only output. We recommend a low bit-size file because the image increases
|
|
* the output audio bandwidth.
|
|
|
|
The image is attached to the audio as an ID3 tag,
|
|
* frame type APIC, picture type 0x10, as per the "ID3 tag version 2.4.0 - Native
|
|
* Frames" standard.
|
|
*/
|
|
inline void SetAudioOnlyImage(const InputLocation& value) { m_audioOnlyImageHasBeenSet = true; m_audioOnlyImage = value; }
|
|
|
|
/**
|
|
* Optional. Specifies the .jpg or .png image to use as the cover art for an
|
|
* audio-only output. We recommend a low bit-size file because the image increases
|
|
* the output audio bandwidth.
|
|
|
|
The image is attached to the audio as an ID3 tag,
|
|
* frame type APIC, picture type 0x10, as per the "ID3 tag version 2.4.0 - Native
|
|
* Frames" standard.
|
|
*/
|
|
inline void SetAudioOnlyImage(InputLocation&& value) { m_audioOnlyImageHasBeenSet = true; m_audioOnlyImage = std::move(value); }
|
|
|
|
/**
|
|
* Optional. Specifies the .jpg or .png image to use as the cover art for an
|
|
* audio-only output. We recommend a low bit-size file because the image increases
|
|
* the output audio bandwidth.
|
|
|
|
The image is attached to the audio as an ID3 tag,
|
|
* frame type APIC, picture type 0x10, as per the "ID3 tag version 2.4.0 - Native
|
|
* Frames" standard.
|
|
*/
|
|
inline AudioOnlyHlsSettings& WithAudioOnlyImage(const InputLocation& value) { SetAudioOnlyImage(value); return *this;}
|
|
|
|
/**
|
|
* Optional. Specifies the .jpg or .png image to use as the cover art for an
|
|
* audio-only output. We recommend a low bit-size file because the image increases
|
|
* the output audio bandwidth.
|
|
|
|
The image is attached to the audio as an ID3 tag,
|
|
* frame type APIC, picture type 0x10, as per the "ID3 tag version 2.4.0 - Native
|
|
* Frames" standard.
|
|
*/
|
|
inline AudioOnlyHlsSettings& WithAudioOnlyImage(InputLocation&& value) { SetAudioOnlyImage(std::move(value)); return *this;}
|
|
|
|
|
|
/**
|
|
* Four types of audio-only tracks are supported:
|
|
|
|
Audio-Only Variant Stream
|
|
The
|
|
* client can play back this audio-only stream instead of video in low-bandwidth
|
|
* scenarios. Represented as an EXT-X-STREAM-INF in the HLS manifest.
|
|
|
|
Alternate
|
|
* Audio, Auto Select, Default
|
|
Alternate rendition that the client should try to
|
|
* play back by default. Represented as an EXT-X-MEDIA in the HLS manifest with
|
|
* DEFAULT=YES, AUTOSELECT=YES
|
|
|
|
Alternate Audio, Auto Select, Not Default
|
|
Alternate
|
|
* rendition that the client may try to play back by default. Represented as an
|
|
* EXT-X-MEDIA in the HLS manifest with DEFAULT=NO, AUTOSELECT=YES
|
|
|
|
Alternate
|
|
* Audio, not Auto Select
|
|
Alternate rendition that the client will not try to play
|
|
* back by default. Represented as an EXT-X-MEDIA in the HLS manifest with
|
|
* DEFAULT=NO, AUTOSELECT=NO
|
|
*/
|
|
inline const AudioOnlyHlsTrackType& GetAudioTrackType() const{ return m_audioTrackType; }
|
|
|
|
/**
|
|
* Four types of audio-only tracks are supported:
|
|
|
|
Audio-Only Variant Stream
|
|
The
|
|
* client can play back this audio-only stream instead of video in low-bandwidth
|
|
* scenarios. Represented as an EXT-X-STREAM-INF in the HLS manifest.
|
|
|
|
Alternate
|
|
* Audio, Auto Select, Default
|
|
Alternate rendition that the client should try to
|
|
* play back by default. Represented as an EXT-X-MEDIA in the HLS manifest with
|
|
* DEFAULT=YES, AUTOSELECT=YES
|
|
|
|
Alternate Audio, Auto Select, Not Default
|
|
Alternate
|
|
* rendition that the client may try to play back by default. Represented as an
|
|
* EXT-X-MEDIA in the HLS manifest with DEFAULT=NO, AUTOSELECT=YES
|
|
|
|
Alternate
|
|
* Audio, not Auto Select
|
|
Alternate rendition that the client will not try to play
|
|
* back by default. Represented as an EXT-X-MEDIA in the HLS manifest with
|
|
* DEFAULT=NO, AUTOSELECT=NO
|
|
*/
|
|
inline bool AudioTrackTypeHasBeenSet() const { return m_audioTrackTypeHasBeenSet; }
|
|
|
|
/**
|
|
* Four types of audio-only tracks are supported:
|
|
|
|
Audio-Only Variant Stream
|
|
The
|
|
* client can play back this audio-only stream instead of video in low-bandwidth
|
|
* scenarios. Represented as an EXT-X-STREAM-INF in the HLS manifest.
|
|
|
|
Alternate
|
|
* Audio, Auto Select, Default
|
|
Alternate rendition that the client should try to
|
|
* play back by default. Represented as an EXT-X-MEDIA in the HLS manifest with
|
|
* DEFAULT=YES, AUTOSELECT=YES
|
|
|
|
Alternate Audio, Auto Select, Not Default
|
|
Alternate
|
|
* rendition that the client may try to play back by default. Represented as an
|
|
* EXT-X-MEDIA in the HLS manifest with DEFAULT=NO, AUTOSELECT=YES
|
|
|
|
Alternate
|
|
* Audio, not Auto Select
|
|
Alternate rendition that the client will not try to play
|
|
* back by default. Represented as an EXT-X-MEDIA in the HLS manifest with
|
|
* DEFAULT=NO, AUTOSELECT=NO
|
|
*/
|
|
inline void SetAudioTrackType(const AudioOnlyHlsTrackType& value) { m_audioTrackTypeHasBeenSet = true; m_audioTrackType = value; }
|
|
|
|
/**
|
|
* Four types of audio-only tracks are supported:
|
|
|
|
Audio-Only Variant Stream
|
|
The
|
|
* client can play back this audio-only stream instead of video in low-bandwidth
|
|
* scenarios. Represented as an EXT-X-STREAM-INF in the HLS manifest.
|
|
|
|
Alternate
|
|
* Audio, Auto Select, Default
|
|
Alternate rendition that the client should try to
|
|
* play back by default. Represented as an EXT-X-MEDIA in the HLS manifest with
|
|
* DEFAULT=YES, AUTOSELECT=YES
|
|
|
|
Alternate Audio, Auto Select, Not Default
|
|
Alternate
|
|
* rendition that the client may try to play back by default. Represented as an
|
|
* EXT-X-MEDIA in the HLS manifest with DEFAULT=NO, AUTOSELECT=YES
|
|
|
|
Alternate
|
|
* Audio, not Auto Select
|
|
Alternate rendition that the client will not try to play
|
|
* back by default. Represented as an EXT-X-MEDIA in the HLS manifest with
|
|
* DEFAULT=NO, AUTOSELECT=NO
|
|
*/
|
|
inline void SetAudioTrackType(AudioOnlyHlsTrackType&& value) { m_audioTrackTypeHasBeenSet = true; m_audioTrackType = std::move(value); }
|
|
|
|
/**
|
|
* Four types of audio-only tracks are supported:
|
|
|
|
Audio-Only Variant Stream
|
|
The
|
|
* client can play back this audio-only stream instead of video in low-bandwidth
|
|
* scenarios. Represented as an EXT-X-STREAM-INF in the HLS manifest.
|
|
|
|
Alternate
|
|
* Audio, Auto Select, Default
|
|
Alternate rendition that the client should try to
|
|
* play back by default. Represented as an EXT-X-MEDIA in the HLS manifest with
|
|
* DEFAULT=YES, AUTOSELECT=YES
|
|
|
|
Alternate Audio, Auto Select, Not Default
|
|
Alternate
|
|
* rendition that the client may try to play back by default. Represented as an
|
|
* EXT-X-MEDIA in the HLS manifest with DEFAULT=NO, AUTOSELECT=YES
|
|
|
|
Alternate
|
|
* Audio, not Auto Select
|
|
Alternate rendition that the client will not try to play
|
|
* back by default. Represented as an EXT-X-MEDIA in the HLS manifest with
|
|
* DEFAULT=NO, AUTOSELECT=NO
|
|
*/
|
|
inline AudioOnlyHlsSettings& WithAudioTrackType(const AudioOnlyHlsTrackType& value) { SetAudioTrackType(value); return *this;}
|
|
|
|
/**
|
|
* Four types of audio-only tracks are supported:
|
|
|
|
Audio-Only Variant Stream
|
|
The
|
|
* client can play back this audio-only stream instead of video in low-bandwidth
|
|
* scenarios. Represented as an EXT-X-STREAM-INF in the HLS manifest.
|
|
|
|
Alternate
|
|
* Audio, Auto Select, Default
|
|
Alternate rendition that the client should try to
|
|
* play back by default. Represented as an EXT-X-MEDIA in the HLS manifest with
|
|
* DEFAULT=YES, AUTOSELECT=YES
|
|
|
|
Alternate Audio, Auto Select, Not Default
|
|
Alternate
|
|
* rendition that the client may try to play back by default. Represented as an
|
|
* EXT-X-MEDIA in the HLS manifest with DEFAULT=NO, AUTOSELECT=YES
|
|
|
|
Alternate
|
|
* Audio, not Auto Select
|
|
Alternate rendition that the client will not try to play
|
|
* back by default. Represented as an EXT-X-MEDIA in the HLS manifest with
|
|
* DEFAULT=NO, AUTOSELECT=NO
|
|
*/
|
|
inline AudioOnlyHlsSettings& WithAudioTrackType(AudioOnlyHlsTrackType&& value) { SetAudioTrackType(std::move(value)); return *this;}
|
|
|
|
|
|
/**
|
|
* Specifies the segment type.
|
|
*/
|
|
inline const AudioOnlyHlsSegmentType& GetSegmentType() const{ return m_segmentType; }
|
|
|
|
/**
|
|
* Specifies the segment type.
|
|
*/
|
|
inline bool SegmentTypeHasBeenSet() const { return m_segmentTypeHasBeenSet; }
|
|
|
|
/**
|
|
* Specifies the segment type.
|
|
*/
|
|
inline void SetSegmentType(const AudioOnlyHlsSegmentType& value) { m_segmentTypeHasBeenSet = true; m_segmentType = value; }
|
|
|
|
/**
|
|
* Specifies the segment type.
|
|
*/
|
|
inline void SetSegmentType(AudioOnlyHlsSegmentType&& value) { m_segmentTypeHasBeenSet = true; m_segmentType = std::move(value); }
|
|
|
|
/**
|
|
* Specifies the segment type.
|
|
*/
|
|
inline AudioOnlyHlsSettings& WithSegmentType(const AudioOnlyHlsSegmentType& value) { SetSegmentType(value); return *this;}
|
|
|
|
/**
|
|
* Specifies the segment type.
|
|
*/
|
|
inline AudioOnlyHlsSettings& WithSegmentType(AudioOnlyHlsSegmentType&& value) { SetSegmentType(std::move(value)); return *this;}
|
|
|
|
private:
|
|
|
|
Aws::String m_audioGroupId;
|
|
bool m_audioGroupIdHasBeenSet;
|
|
|
|
InputLocation m_audioOnlyImage;
|
|
bool m_audioOnlyImageHasBeenSet;
|
|
|
|
AudioOnlyHlsTrackType m_audioTrackType;
|
|
bool m_audioTrackTypeHasBeenSet;
|
|
|
|
AudioOnlyHlsSegmentType m_segmentType;
|
|
bool m_segmentTypeHasBeenSet;
|
|
};
|
|
|
|
} // namespace Model
|
|
} // namespace MediaLive
|
|
} // namespace Aws
|