/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include
#include
#include
#include
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace MediaTailor
{
namespace Model
{
/**
* The SCTE-35 time_signal
message can be sent with one or more
* segmentation_descriptor
messages. A time_signal
* message can be sent only if a single segmentation_descriptor
* message is sent.
The time_signal
message contains only the
* splice_time
field which is constructed using a given presentation
* timestamp. When sending a time_signal
message, the
* splice_command_type
field in the splice_info_section
* message is set to 6 (0x06).
See the time_signal()
table of
* the 2022 SCTE-35 specification for more information.
See Also:
* AWS
* API Reference
*/
class TimeSignalMessage
{
public:
AWS_MEDIATAILOR_API TimeSignalMessage();
AWS_MEDIATAILOR_API TimeSignalMessage(Aws::Utils::Json::JsonView jsonValue);
AWS_MEDIATAILOR_API TimeSignalMessage& operator=(Aws::Utils::Json::JsonView jsonValue);
AWS_MEDIATAILOR_API Aws::Utils::Json::JsonValue Jsonize() const;
/**
* The configurations for the SCTE-35 segmentation_descriptor
* message(s) sent with the time_signal
message.
*/
inline const Aws::Vector& GetSegmentationDescriptors() const{ return m_segmentationDescriptors; }
/**
* The configurations for the SCTE-35 segmentation_descriptor
* message(s) sent with the time_signal
message.
*/
inline bool SegmentationDescriptorsHasBeenSet() const { return m_segmentationDescriptorsHasBeenSet; }
/**
* The configurations for the SCTE-35 segmentation_descriptor
* message(s) sent with the time_signal
message.
*/
inline void SetSegmentationDescriptors(const Aws::Vector& value) { m_segmentationDescriptorsHasBeenSet = true; m_segmentationDescriptors = value; }
/**
* The configurations for the SCTE-35 segmentation_descriptor
* message(s) sent with the time_signal
message.
*/
inline void SetSegmentationDescriptors(Aws::Vector&& value) { m_segmentationDescriptorsHasBeenSet = true; m_segmentationDescriptors = std::move(value); }
/**
* The configurations for the SCTE-35 segmentation_descriptor
* message(s) sent with the time_signal
message.
*/
inline TimeSignalMessage& WithSegmentationDescriptors(const Aws::Vector& value) { SetSegmentationDescriptors(value); return *this;}
/**
* The configurations for the SCTE-35 segmentation_descriptor
* message(s) sent with the time_signal
message.
*/
inline TimeSignalMessage& WithSegmentationDescriptors(Aws::Vector&& value) { SetSegmentationDescriptors(std::move(value)); return *this;}
/**
* The configurations for the SCTE-35 segmentation_descriptor
* message(s) sent with the time_signal
message.
*/
inline TimeSignalMessage& AddSegmentationDescriptors(const SegmentationDescriptor& value) { m_segmentationDescriptorsHasBeenSet = true; m_segmentationDescriptors.push_back(value); return *this; }
/**
* The configurations for the SCTE-35 segmentation_descriptor
* message(s) sent with the time_signal
message.
*/
inline TimeSignalMessage& AddSegmentationDescriptors(SegmentationDescriptor&& value) { m_segmentationDescriptorsHasBeenSet = true; m_segmentationDescriptors.push_back(std::move(value)); return *this; }
private:
Aws::Vector m_segmentationDescriptors;
bool m_segmentationDescriptorsHasBeenSet = false;
};
} // namespace Model
} // namespace MediaTailor
} // namespace Aws