/**
* 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. Fragments that have duplicate producer timestamps are
* deduplicated. This means that if producers are producing a stream of fragments
* with producer timestamps that are approximately equal to the true clock time,
* the clip will contain all of the fragments within the requested timestamp range.
* If some fragments are ingested within the same time range and very different
* points in time, only the oldest ingested collection of fragments are
* returned.See Also:
AWS
* API Reference
The origin of the timestamps to use (Server or Producer).
*/ inline const ClipFragmentSelectorType& 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 ClipFragmentSelectorType& value) { m_fragmentSelectorTypeHasBeenSet = true; m_fragmentSelectorType = value; } /** *The origin of the timestamps to use (Server or Producer).
*/ inline void SetFragmentSelectorType(ClipFragmentSelectorType&& value) { m_fragmentSelectorTypeHasBeenSet = true; m_fragmentSelectorType = std::move(value); } /** *The origin of the timestamps to use (Server or Producer).
*/ inline ClipFragmentSelector& WithFragmentSelectorType(const ClipFragmentSelectorType& value) { SetFragmentSelectorType(value); return *this;} /** *The origin of the timestamps to use (Server or Producer).
*/ inline ClipFragmentSelector& WithFragmentSelectorType(ClipFragmentSelectorType&& value) { SetFragmentSelectorType(std::move(value)); return *this;} /** *The range of timestamps to return.
*/ inline const ClipTimestampRange& 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 ClipTimestampRange& value) { m_timestampRangeHasBeenSet = true; m_timestampRange = value; } /** *The range of timestamps to return.
*/ inline void SetTimestampRange(ClipTimestampRange&& value) { m_timestampRangeHasBeenSet = true; m_timestampRange = std::move(value); } /** *The range of timestamps to return.
*/ inline ClipFragmentSelector& WithTimestampRange(const ClipTimestampRange& value) { SetTimestampRange(value); return *this;} /** *The range of timestamps to return.
*/ inline ClipFragmentSelector& WithTimestampRange(ClipTimestampRange&& value) { SetTimestampRange(std::move(value)); return *this;} private: ClipFragmentSelectorType m_fragmentSelectorType; bool m_fragmentSelectorTypeHasBeenSet = false; ClipTimestampRange m_timestampRange; bool m_timestampRangeHasBeenSet = false; }; } // namespace Model } // namespace KinesisVideoArchivedMedia } // namespace Aws