Class SinglePeriodTimeline

  • All Implemented Interfaces:
    Bundleable

    public final class SinglePeriodTimeline
    extends Timeline
    A Timeline consisting of a single period and static window.
    • Constructor Detail

      • SinglePeriodTimeline

        public SinglePeriodTimeline​(long durationUs,
                                    boolean isSeekable,
                                    boolean isDynamic,
                                    boolean useLiveConfiguration,
                                    @Nullable
                                    Object manifest,
                                    MediaItem mediaItem)
        Creates a timeline containing a single period and a window that spans it.
        Parameters:
        durationUs - The duration of the period, in microseconds.
        isSeekable - Whether seeking is supported within the period.
        isDynamic - Whether the window may change when the timeline is updated.
        useLiveConfiguration - Whether the window is live and MediaItem.liveConfiguration is used to configure live playback behaviour.
        manifest - The manifest. May be null.
        mediaItem - A media item used for Timeline.Window.mediaItem.
      • SinglePeriodTimeline

        public SinglePeriodTimeline​(long periodDurationUs,
                                    long windowDurationUs,
                                    long windowPositionInPeriodUs,
                                    long windowDefaultStartPositionUs,
                                    boolean isSeekable,
                                    boolean isDynamic,
                                    boolean useLiveConfiguration,
                                    @Nullable
                                    Object manifest,
                                    MediaItem mediaItem)
        Creates a timeline with one period, and a window of known duration starting at a specified position in the period.
        Parameters:
        periodDurationUs - The duration of the period in microseconds.
        windowDurationUs - The duration of the window in microseconds.
        windowPositionInPeriodUs - The position of the start of the window in the period, in microseconds.
        windowDefaultStartPositionUs - The default position relative to the start of the window at which to begin playback, in microseconds.
        isSeekable - Whether seeking is supported within the window.
        isDynamic - Whether the window may change when the timeline is updated.
        useLiveConfiguration - Whether the window is live and MediaItem.liveConfiguration is used to configure live playback behaviour.
        manifest - The manifest. May be (@code null}.
        mediaItem - A media item used for Timeline.Window.mediaItem.
      • SinglePeriodTimeline

        public SinglePeriodTimeline​(long presentationStartTimeMs,
                                    long windowStartTimeMs,
                                    long elapsedRealtimeEpochOffsetMs,
                                    long periodDurationUs,
                                    long windowDurationUs,
                                    long windowPositionInPeriodUs,
                                    long windowDefaultStartPositionUs,
                                    boolean isSeekable,
                                    boolean isDynamic,
                                    boolean suppressPositionProjection,
                                    @Nullable
                                    Object manifest,
                                    MediaItem mediaItem,
                                    @Nullable
                                    MediaItem.LiveConfiguration liveConfiguration)
        Creates a timeline with one period, and a window of known duration starting at a specified position in the period.
        Parameters:
        presentationStartTimeMs - The start time of the presentation in milliseconds since the epoch, or C.TIME_UNSET if unknown or not applicable.
        windowStartTimeMs - The window's start time in milliseconds since the epoch, or C.TIME_UNSET if unknown or not applicable.
        elapsedRealtimeEpochOffsetMs - The offset between SystemClock.elapsedRealtime() and the time since the Unix epoch according to the clock of the media origin server, or C.TIME_UNSET if unknown or not applicable.
        periodDurationUs - The duration of the period in microseconds.
        windowDurationUs - The duration of the window in microseconds.
        windowPositionInPeriodUs - The position of the start of the window in the period, in microseconds.
        windowDefaultStartPositionUs - The default position relative to the start of the window at which to begin playback, in microseconds.
        isSeekable - Whether seeking is supported within the window.
        isDynamic - Whether the window may change when the timeline is updated.
        suppressPositionProjection - Whether position projection in a playlist should be suppressed. This only applies for dynamic timelines and is ignored otherwise.
        manifest - The manifest. May be null.
        mediaItem - A media item used for Timeline.Window.mediaItem.
        liveConfiguration - The configuration for live playback behaviour, or null if the window is not live.
    • Method Detail

      • getWindowCount

        public int getWindowCount()
        Description copied from class: Timeline
        Returns the number of windows in the timeline.
        Specified by:
        getWindowCount in class Timeline
      • getWindow

        public Timeline.Window getWindow​(int windowIndex,
                                         Timeline.Window window,
                                         long defaultPositionProjectionUs)
        Description copied from class: Timeline
        Populates a Timeline.Window with data for the window at the specified index.
        Specified by:
        getWindow in class Timeline
        Parameters:
        windowIndex - The index of the window.
        window - The Timeline.Window to populate. Must not be null.
        defaultPositionProjectionUs - A duration into the future that the populated window's default start position should be projected.
        Returns:
        The populated Timeline.Window, for convenience.
      • getPeriodCount

        public int getPeriodCount()
        Description copied from class: Timeline
        Returns the number of periods in the timeline.
        Specified by:
        getPeriodCount in class Timeline
      • getIndexOfPeriod

        public int getIndexOfPeriod​(Object uid)
        Description copied from class: Timeline
        Returns the index of the period identified by its unique Timeline.Period.uid, or C.INDEX_UNSET if the period is not in the timeline.
        Specified by:
        getIndexOfPeriod in class Timeline
        Parameters:
        uid - A unique identifier for a period.
        Returns:
        The index of the period, or C.INDEX_UNSET if the period was not found.
      • getUidOfPeriod

        public Object getUidOfPeriod​(int periodIndex)
        Description copied from class: Timeline
        Returns the unique id of the period identified by its index in the timeline.
        Specified by:
        getUidOfPeriod in class Timeline
        Parameters:
        periodIndex - The index of the period.
        Returns:
        The unique id of the period.