java.lang.Object
software.amazon.awssdk.services.kinesisvideomedia.model.StartSelector
All Implemented Interfaces:
Serializable, SdkPojo, ToCopyableBuilder<StartSelector.Builder,StartSelector>

@Generated("software.amazon.awssdk:codegen") public final class StartSelector extends Object implements SdkPojo, Serializable, ToCopyableBuilder<StartSelector.Builder,StartSelector>

Identifies the chunk on the Kinesis video stream where you want the GetMedia API to start returning media data. You have the following options to identify the starting chunk:

  • Choose the latest (or oldest) chunk.

  • Identify a specific chunk. You can identify a specific chunk either by providing a fragment number or timestamp (server or producer).

  • Each chunk's metadata includes a continuation token as a Matroska (MKV) tag ( AWS_KINESISVIDEO_CONTINUATION_TOKEN). If your previous GetMedia request terminated, you can use this tag value in your next GetMedia request. The API then starts returning chunks starting where the last API ended.

See Also:
  • Method Details

    • startSelectorType

      public final StartSelectorType startSelectorType()

      Identifies the fragment on the Kinesis video stream where you want to start getting the data from.

      • NOW - Start with the latest chunk on the stream.

      • EARLIEST - Start with earliest available chunk on the stream.

      • FRAGMENT_NUMBER - Start with the chunk after a specific fragment. You must also specify the AfterFragmentNumber parameter.

      • PRODUCER_TIMESTAMP or SERVER_TIMESTAMP - Start with the chunk containing a fragment with the specified producer or server timestamp. You specify the timestamp by adding StartTimestamp.

      • CONTINUATION_TOKEN - Read using the specified continuation token.

      If you choose the NOW, EARLIEST, or CONTINUATION_TOKEN as the startSelectorType, you don't provide any additional information in the startSelector.

      If the service returns an enum value that is not available in the current SDK version, startSelectorType will return StartSelectorType.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from startSelectorTypeAsString().

      Returns:
      Identifies the fragment on the Kinesis video stream where you want to start getting the data from.

      • NOW - Start with the latest chunk on the stream.

      • EARLIEST - Start with earliest available chunk on the stream.

      • FRAGMENT_NUMBER - Start with the chunk after a specific fragment. You must also specify the AfterFragmentNumber parameter.

      • PRODUCER_TIMESTAMP or SERVER_TIMESTAMP - Start with the chunk containing a fragment with the specified producer or server timestamp. You specify the timestamp by adding StartTimestamp.

      • CONTINUATION_TOKEN - Read using the specified continuation token.

      If you choose the NOW, EARLIEST, or CONTINUATION_TOKEN as the startSelectorType, you don't provide any additional information in the startSelector.

      See Also:
    • startSelectorTypeAsString

      public final String startSelectorTypeAsString()

      Identifies the fragment on the Kinesis video stream where you want to start getting the data from.

      • NOW - Start with the latest chunk on the stream.

      • EARLIEST - Start with earliest available chunk on the stream.

      • FRAGMENT_NUMBER - Start with the chunk after a specific fragment. You must also specify the AfterFragmentNumber parameter.

      • PRODUCER_TIMESTAMP or SERVER_TIMESTAMP - Start with the chunk containing a fragment with the specified producer or server timestamp. You specify the timestamp by adding StartTimestamp.

      • CONTINUATION_TOKEN - Read using the specified continuation token.

      If you choose the NOW, EARLIEST, or CONTINUATION_TOKEN as the startSelectorType, you don't provide any additional information in the startSelector.

      If the service returns an enum value that is not available in the current SDK version, startSelectorType will return StartSelectorType.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from startSelectorTypeAsString().

      Returns:
      Identifies the fragment on the Kinesis video stream where you want to start getting the data from.

      • NOW - Start with the latest chunk on the stream.

      • EARLIEST - Start with earliest available chunk on the stream.

      • FRAGMENT_NUMBER - Start with the chunk after a specific fragment. You must also specify the AfterFragmentNumber parameter.

      • PRODUCER_TIMESTAMP or SERVER_TIMESTAMP - Start with the chunk containing a fragment with the specified producer or server timestamp. You specify the timestamp by adding StartTimestamp.

      • CONTINUATION_TOKEN - Read using the specified continuation token.

      If you choose the NOW, EARLIEST, or CONTINUATION_TOKEN as the startSelectorType, you don't provide any additional information in the startSelector.

      See Also:
    • afterFragmentNumber

      public final String afterFragmentNumber()

      Specifies the fragment number from where you want the GetMedia API to start returning the fragments.

      Returns:
      Specifies the fragment number from where you want the GetMedia API to start returning the fragments.
    • startTimestamp

      public final Instant startTimestamp()

      A timestamp value. This value is required if you choose the PRODUCER_TIMESTAMP or the SERVER_TIMESTAMP as the startSelectorType. The GetMedia API then starts with the chunk containing the fragment that has the specified timestamp.

      Returns:
      A timestamp value. This value is required if you choose the PRODUCER_TIMESTAMP or the SERVER_TIMESTAMP as the startSelectorType. The GetMedia API then starts with the chunk containing the fragment that has the specified timestamp.
    • continuationToken

      public final String continuationToken()

      Continuation token that Kinesis Video Streams returned in the previous GetMedia response. The GetMedia API then starts with the chunk identified by the continuation token.

      Returns:
      Continuation token that Kinesis Video Streams returned in the previous GetMedia response. The GetMedia API then starts with the chunk identified by the continuation token.
    • toBuilder

      public StartSelector.Builder toBuilder()
      Description copied from interface: ToCopyableBuilder
      Take this object and create a builder that contains all of the current property values of this object.
      Specified by:
      toBuilder in interface ToCopyableBuilder<StartSelector.Builder,StartSelector>
      Returns:
      a builder for type T
    • builder

      public static StartSelector.Builder builder()
    • serializableBuilderClass

      public static Class<? extends StartSelector.Builder> serializableBuilderClass()
    • hashCode

      public final int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public final boolean equals(Object obj)
      Overrides:
      equals in class Object
    • equalsBySdkFields

      public final boolean equalsBySdkFields(Object obj)
      Description copied from interface: SdkPojo
      Indicates whether some other object is "equal to" this one by SDK fields. An SDK field is a modeled, non-inherited field in an SdkPojo class, and is generated based on a service model.

      If an SdkPojo class does not have any inherited fields, equalsBySdkFields and equals are essentially the same.

      Specified by:
      equalsBySdkFields in interface SdkPojo
      Parameters:
      obj - the object to be compared with
      Returns:
      true if the other object equals to this object by sdk fields, false otherwise.
    • toString

      public final String toString()
      Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be redacted from this string using a placeholder value.
      Overrides:
      toString in class Object
    • getValueForField

      public final <T> Optional<T> getValueForField(String fieldName, Class<T> clazz)
    • sdkFields

      public final List<SdkField<?>> sdkFields()
      Specified by:
      sdkFields in interface SdkPojo
      Returns:
      List of SdkField in this POJO. May be empty list but should never be null.