/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include A technical cue or shot detection segment detected in a video. An array of
* SegmentDetection objects containing all segments detected in a
* stored video is returned by GetSegmentDetection. See
* Also:
AWS
* API Reference
The type of the segment. Valid values are TECHNICAL_CUE and
* SHOT.
The type of the segment. Valid values are TECHNICAL_CUE and
* SHOT.
The type of the segment. Valid values are TECHNICAL_CUE and
* SHOT.
The type of the segment. Valid values are TECHNICAL_CUE and
* SHOT.
The type of the segment. Valid values are TECHNICAL_CUE and
* SHOT.
The type of the segment. Valid values are TECHNICAL_CUE and
* SHOT.
The start time of the detected segment in milliseconds from the start of the * video.
*/ inline long long GetStartTimestampMillis() const{ return m_startTimestampMillis; } /** *The start time of the detected segment in milliseconds from the start of the * video.
*/ inline bool StartTimestampMillisHasBeenSet() const { return m_startTimestampMillisHasBeenSet; } /** *The start time of the detected segment in milliseconds from the start of the * video.
*/ inline void SetStartTimestampMillis(long long value) { m_startTimestampMillisHasBeenSet = true; m_startTimestampMillis = value; } /** *The start time of the detected segment in milliseconds from the start of the * video.
*/ inline SegmentDetection& WithStartTimestampMillis(long long value) { SetStartTimestampMillis(value); return *this;} /** *The end time of the detected segment, in milliseconds, from the start of the * video.
*/ inline long long GetEndTimestampMillis() const{ return m_endTimestampMillis; } /** *The end time of the detected segment, in milliseconds, from the start of the * video.
*/ inline bool EndTimestampMillisHasBeenSet() const { return m_endTimestampMillisHasBeenSet; } /** *The end time of the detected segment, in milliseconds, from the start of the * video.
*/ inline void SetEndTimestampMillis(long long value) { m_endTimestampMillisHasBeenSet = true; m_endTimestampMillis = value; } /** *The end time of the detected segment, in milliseconds, from the start of the * video.
*/ inline SegmentDetection& WithEndTimestampMillis(long long value) { SetEndTimestampMillis(value); return *this;} /** *The duration of the detected segment in milliseconds.
*/ inline long long GetDurationMillis() const{ return m_durationMillis; } /** *The duration of the detected segment in milliseconds.
*/ inline bool DurationMillisHasBeenSet() const { return m_durationMillisHasBeenSet; } /** *The duration of the detected segment in milliseconds.
*/ inline void SetDurationMillis(long long value) { m_durationMillisHasBeenSet = true; m_durationMillis = value; } /** *The duration of the detected segment in milliseconds.
*/ inline SegmentDetection& WithDurationMillis(long long value) { SetDurationMillis(value); return *this;} /** *The frame-accurate SMPTE timecode, from the start of a video, for the start
* of a detected segment. StartTimecode is in HH:MM:SS:fr
* format (and ;fr for drop frame-rates).
The frame-accurate SMPTE timecode, from the start of a video, for the start
* of a detected segment. StartTimecode is in HH:MM:SS:fr
* format (and ;fr for drop frame-rates).
The frame-accurate SMPTE timecode, from the start of a video, for the start
* of a detected segment. StartTimecode is in HH:MM:SS:fr
* format (and ;fr for drop frame-rates).
The frame-accurate SMPTE timecode, from the start of a video, for the start
* of a detected segment. StartTimecode is in HH:MM:SS:fr
* format (and ;fr for drop frame-rates).
The frame-accurate SMPTE timecode, from the start of a video, for the start
* of a detected segment. StartTimecode is in HH:MM:SS:fr
* format (and ;fr for drop frame-rates).
The frame-accurate SMPTE timecode, from the start of a video, for the start
* of a detected segment. StartTimecode is in HH:MM:SS:fr
* format (and ;fr for drop frame-rates).
The frame-accurate SMPTE timecode, from the start of a video, for the start
* of a detected segment. StartTimecode is in HH:MM:SS:fr
* format (and ;fr for drop frame-rates).
The frame-accurate SMPTE timecode, from the start of a video, for the start
* of a detected segment. StartTimecode is in HH:MM:SS:fr
* format (and ;fr for drop frame-rates).
The frame-accurate SMPTE timecode, from the start of a video, for the end of
* a detected segment. EndTimecode is in HH:MM:SS:fr format
* (and ;fr for drop frame-rates).
The frame-accurate SMPTE timecode, from the start of a video, for the end of
* a detected segment. EndTimecode is in HH:MM:SS:fr format
* (and ;fr for drop frame-rates).
The frame-accurate SMPTE timecode, from the start of a video, for the end of
* a detected segment. EndTimecode is in HH:MM:SS:fr format
* (and ;fr for drop frame-rates).
The frame-accurate SMPTE timecode, from the start of a video, for the end of
* a detected segment. EndTimecode is in HH:MM:SS:fr format
* (and ;fr for drop frame-rates).
The frame-accurate SMPTE timecode, from the start of a video, for the end of
* a detected segment. EndTimecode is in HH:MM:SS:fr format
* (and ;fr for drop frame-rates).
The frame-accurate SMPTE timecode, from the start of a video, for the end of
* a detected segment. EndTimecode is in HH:MM:SS:fr format
* (and ;fr for drop frame-rates).
The frame-accurate SMPTE timecode, from the start of a video, for the end of
* a detected segment. EndTimecode is in HH:MM:SS:fr format
* (and ;fr for drop frame-rates).
The frame-accurate SMPTE timecode, from the start of a video, for the end of
* a detected segment. EndTimecode is in HH:MM:SS:fr format
* (and ;fr for drop frame-rates).
The duration of the timecode for the detected segment in SMPTE format.
*/ inline const Aws::String& GetDurationSMPTE() const{ return m_durationSMPTE; } /** *The duration of the timecode for the detected segment in SMPTE format.
*/ inline bool DurationSMPTEHasBeenSet() const { return m_durationSMPTEHasBeenSet; } /** *The duration of the timecode for the detected segment in SMPTE format.
*/ inline void SetDurationSMPTE(const Aws::String& value) { m_durationSMPTEHasBeenSet = true; m_durationSMPTE = value; } /** *The duration of the timecode for the detected segment in SMPTE format.
*/ inline void SetDurationSMPTE(Aws::String&& value) { m_durationSMPTEHasBeenSet = true; m_durationSMPTE = std::move(value); } /** *The duration of the timecode for the detected segment in SMPTE format.
*/ inline void SetDurationSMPTE(const char* value) { m_durationSMPTEHasBeenSet = true; m_durationSMPTE.assign(value); } /** *The duration of the timecode for the detected segment in SMPTE format.
*/ inline SegmentDetection& WithDurationSMPTE(const Aws::String& value) { SetDurationSMPTE(value); return *this;} /** *The duration of the timecode for the detected segment in SMPTE format.
*/ inline SegmentDetection& WithDurationSMPTE(Aws::String&& value) { SetDurationSMPTE(std::move(value)); return *this;} /** *The duration of the timecode for the detected segment in SMPTE format.
*/ inline SegmentDetection& WithDurationSMPTE(const char* value) { SetDurationSMPTE(value); return *this;} /** *If the segment is a technical cue, contains information about the technical * cue.
*/ inline const TechnicalCueSegment& GetTechnicalCueSegment() const{ return m_technicalCueSegment; } /** *If the segment is a technical cue, contains information about the technical * cue.
*/ inline bool TechnicalCueSegmentHasBeenSet() const { return m_technicalCueSegmentHasBeenSet; } /** *If the segment is a technical cue, contains information about the technical * cue.
*/ inline void SetTechnicalCueSegment(const TechnicalCueSegment& value) { m_technicalCueSegmentHasBeenSet = true; m_technicalCueSegment = value; } /** *If the segment is a technical cue, contains information about the technical * cue.
*/ inline void SetTechnicalCueSegment(TechnicalCueSegment&& value) { m_technicalCueSegmentHasBeenSet = true; m_technicalCueSegment = std::move(value); } /** *If the segment is a technical cue, contains information about the technical * cue.
*/ inline SegmentDetection& WithTechnicalCueSegment(const TechnicalCueSegment& value) { SetTechnicalCueSegment(value); return *this;} /** *If the segment is a technical cue, contains information about the technical * cue.
*/ inline SegmentDetection& WithTechnicalCueSegment(TechnicalCueSegment&& value) { SetTechnicalCueSegment(std::move(value)); return *this;} /** *If the segment is a shot detection, contains information about the shot * detection.
*/ inline const ShotSegment& GetShotSegment() const{ return m_shotSegment; } /** *If the segment is a shot detection, contains information about the shot * detection.
*/ inline bool ShotSegmentHasBeenSet() const { return m_shotSegmentHasBeenSet; } /** *If the segment is a shot detection, contains information about the shot * detection.
*/ inline void SetShotSegment(const ShotSegment& value) { m_shotSegmentHasBeenSet = true; m_shotSegment = value; } /** *If the segment is a shot detection, contains information about the shot * detection.
*/ inline void SetShotSegment(ShotSegment&& value) { m_shotSegmentHasBeenSet = true; m_shotSegment = std::move(value); } /** *If the segment is a shot detection, contains information about the shot * detection.
*/ inline SegmentDetection& WithShotSegment(const ShotSegment& value) { SetShotSegment(value); return *this;} /** *If the segment is a shot detection, contains information about the shot * detection.
*/ inline SegmentDetection& WithShotSegment(ShotSegment&& value) { SetShotSegment(std::move(value)); return *this;} private: SegmentType m_type; bool m_typeHasBeenSet; long long m_startTimestampMillis; bool m_startTimestampMillisHasBeenSet; long long m_endTimestampMillis; bool m_endTimestampMillisHasBeenSet; long long m_durationMillis; bool m_durationMillisHasBeenSet; Aws::String m_startTimecodeSMPTE; bool m_startTimecodeSMPTEHasBeenSet; Aws::String m_endTimecodeSMPTE; bool m_endTimecodeSMPTEHasBeenSet; Aws::String m_durationSMPTE; bool m_durationSMPTEHasBeenSet; TechnicalCueSegment m_technicalCueSegment; bool m_technicalCueSegmentHasBeenSet; ShotSegment m_shotSegment; bool m_shotSegmentHasBeenSet; }; } // namespace Model } // namespace Rekognition } // namespace Aws