Package com.google.android.exoplayer2.source.dash.manifest

## Class SegmentBase

- java.lang.Object
- - com.google.android.exoplayer2.source.dash.manifest.SegmentBase

- Direct Known Subclasses:
    `SegmentBase.MultiSegmentBase`, `SegmentBase.SingleSegmentBase`

      public abstract class SegmentBase
      extends Object

  An approximate representation of a SegmentBase manifest element.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class | Description
    --- | --- | ---
    `static class` | `SegmentBase.MultiSegmentBase` | A `SegmentBase` that consists of multiple segments.
    `static class` | `SegmentBase.SegmentList` | A `SegmentBase.MultiSegmentBase` that uses a SegmentList to define its segments.
    `static class` | `SegmentBase.SegmentTemplate` | A `SegmentBase.MultiSegmentBase` that uses a SegmentTemplate to define its segments.
    `static class` | `SegmentBase.SegmentTimelineElement` | Represents a timeline segment from the MPD's SegmentTimeline list.
    `static class` | `SegmentBase.SingleSegmentBase` | A `SegmentBase` that defines a single segment.

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `SegmentBase​(RangedUri initialization, long timescale, long presentationTimeOffset)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `RangedUri` | `getInitialization​(Representation representation)` | Returns the `RangedUri` defining the location of initialization data for a given representation, or null if no initialization data exists.
    `long` | `getPresentationTimeOffsetUs()` | Returns the presentation time offset, in microseconds.

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

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### SegmentBase

          public SegmentBase​(@Nullable
                             RangedUri initialization,
                             long timescale,
                             long presentationTimeOffset)

      Parameters:
        `initialization` - A `RangedUri` corresponding to initialization data, if such data exists.
        `timescale` - The timescale in units per second.
        `presentationTimeOffset` - The presentation time offset. The value in seconds is the division of this value and `timescale`.

  - ### Method Detail

    - #### getInitialization

          @Nullable
          public RangedUri getInitialization​(Representation representation)

      Returns the `RangedUri` defining the location of initialization data for a given representation, or null if no initialization data exists.
      Parameters:
        `representation` - The `Representation` for which initialization data is required.
      Returns:
        A `RangedUri` defining the location of the initialization data, or null.

    - #### getPresentationTimeOffsetUs

          public long getPresentationTimeOffsetUs()

      Returns the presentation time offset, in microseconds.