com.jogamp.opengl.util

## Class TimeFrameI

- java.lang.Object
- - com.jogamp.opengl.util.TimeFrameI

- Direct Known Subclasses:
    AudioSink.AudioFrame, TextureSequence.TextureFrame

      public class TimeFrameI
      extends Object

  Integer time frame in milliseconds, maybe specialized for texture/video, audio, .. animated content.

  Type and value range has been chosen to suit embedded CPUs and characteristics of audio / video streaming and animations. Milliseconds of type integer with a maximum value of `Integer.MAX_VALUE` will allow tracking time up 2,147,483.647 seconds or 24 days 20 hours 31 minutes and 23 seconds.

  Milliseconds granularity is also more than enough to deal with A-V synchronization, where the threshold usually lies within 22ms.

  Milliseconds granularity for displaying video frames might seem inaccurate for each single frame, i.e. 60Hz != 16ms, however, accumulated values diminish this error and vertical sync is achieved by build-in V-Sync of the video drivers.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static int` | `END_OF_STREAM_PTS` Constant marking the end of the stream PTS, i.e.
    `static int` | `INVALID_PTS` Constant marking an invalid PTS, i.e.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `TimeFrameI()`
    `TimeFrameI(int pts, int duration)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `getDuration()` Get this frame's duration in milliseconds.
    `int` | `getPTS()` Get this frame's presentation timestamp (PTS) in milliseconds.
    `void` | `setDuration(int duration)` Set this frame's duration in milliseconds.
    `void` | `setPTS(int pts)` Set this frame's presentation timestamp (PTS) in milliseconds.
    `String` | `toString()`

    - ### Methods inherited from class java.lang.Object

      `equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### INVALID_PTS

          public static final int INVALID_PTS

      Constant marking an invalid PTS, i.e. Integer.MIN_VALUE == 0x80000000 == -2147483648. Sync w/ native code.
      See Also:
        Constant Field Values

    - #### END_OF_STREAM_PTS

          public static final int END_OF_STREAM_PTS

      Constant marking the end of the stream PTS, i.e. Integer.MIN_VALUE - 1 == 0x7FFFFFFF == 2147483647. Sync w/ native code.
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### TimeFrameI

          public TimeFrameI()

    - #### TimeFrameI

          public TimeFrameI(int pts,
                    int duration)

  - ### Method Detail

    - #### getPTS

          public final int getPTS()

      Get this frame's presentation timestamp (PTS) in milliseconds.

    - #### setPTS

          public final void setPTS(int pts)

      Set this frame's presentation timestamp (PTS) in milliseconds.

    - #### getDuration

          public final int getDuration()

      Get this frame's duration in milliseconds.

    - #### setDuration

          public final void setDuration(int duration)

      Set this frame's duration in milliseconds.

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Object`

Copyright 2010 JogAmp Community.