/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Describes the timestamp range and timestamp origin of a range of
* fragments. Only fragments with a start timestamp greater than or equal to
* the given start time and less than or equal to the end time are returned. For
* example, if a stream contains fragments with the following start timestamps:
* 00:00:00 00:00:02 00:00:04 00:00:06 A fragment selector
* range with a start time of 00:00:01 and end time of 00:00:04 would return the
* fragments with start times of 00:00:02 and 00:00:04.
See Also:
* AWS
* API Reference
The origin of the timestamps to use (Server or Producer).
*/ inline const FragmentSelectorType& GetFragmentSelectorType() const{ return m_fragmentSelectorType; } /** *The origin of the timestamps to use (Server or Producer).
*/ inline bool FragmentSelectorTypeHasBeenSet() const { return m_fragmentSelectorTypeHasBeenSet; } /** *The origin of the timestamps to use (Server or Producer).
*/ inline void SetFragmentSelectorType(const FragmentSelectorType& value) { m_fragmentSelectorTypeHasBeenSet = true; m_fragmentSelectorType = value; } /** *The origin of the timestamps to use (Server or Producer).
*/ inline void SetFragmentSelectorType(FragmentSelectorType&& value) { m_fragmentSelectorTypeHasBeenSet = true; m_fragmentSelectorType = std::move(value); } /** *The origin of the timestamps to use (Server or Producer).
*/ inline FragmentSelector& WithFragmentSelectorType(const FragmentSelectorType& value) { SetFragmentSelectorType(value); return *this;} /** *The origin of the timestamps to use (Server or Producer).
*/ inline FragmentSelector& WithFragmentSelectorType(FragmentSelectorType&& value) { SetFragmentSelectorType(std::move(value)); return *this;} /** *The range of timestamps to return.
*/ inline const TimestampRange& GetTimestampRange() const{ return m_timestampRange; } /** *The range of timestamps to return.
*/ inline bool TimestampRangeHasBeenSet() const { return m_timestampRangeHasBeenSet; } /** *The range of timestamps to return.
*/ inline void SetTimestampRange(const TimestampRange& value) { m_timestampRangeHasBeenSet = true; m_timestampRange = value; } /** *The range of timestamps to return.
*/ inline void SetTimestampRange(TimestampRange&& value) { m_timestampRangeHasBeenSet = true; m_timestampRange = std::move(value); } /** *The range of timestamps to return.
*/ inline FragmentSelector& WithTimestampRange(const TimestampRange& value) { SetTimestampRange(value); return *this;} /** *The range of timestamps to return.
*/ inline FragmentSelector& WithTimestampRange(TimestampRange&& value) { SetTimestampRange(std::move(value)); return *this;} private: FragmentSelectorType m_fragmentSelectorType; bool m_fragmentSelectorTypeHasBeenSet = false; TimestampRange m_timestampRange; bool m_timestampRangeHasBeenSet = false; }; } // namespace Model } // namespace KinesisVideoArchivedMedia } // namespace Aws