Class ConstantBitrateSeekMap

  • All Implemented Interfaces:
    SeekMap

    @Deprecated
    public class ConstantBitrateSeekMap
    extends Object
    implements SeekMap
    Deprecated.
    com.google.android.exoplayer2 is deprecated. Please migrate to androidx.media3 (which contains the same ExoPlayer code). See the migration guide for more details, including a script to help with the migration.
    A SeekMap implementation that assumes the stream has a constant bitrate and consists of multiple independent frames of the same size. Seek points are calculated to be at frame boundaries.
    • Constructor Detail

      • ConstantBitrateSeekMap

        public ConstantBitrateSeekMap​(long inputLength,
                                      long firstFrameBytePosition,
                                      int bitrate,
                                      int frameSize)
        Deprecated.
        Creates an instance with allowSeeksIfLengthUnknown set to false.
        Parameters:
        inputLength - The length of the stream in bytes, or C.LENGTH_UNSET if unknown.
        firstFrameBytePosition - The byte-position of the first frame in the stream.
        bitrate - The bitrate (which is assumed to be constant in the stream).
        frameSize - The size of each frame in the stream in bytes. May be C.LENGTH_UNSET if unknown.
      • ConstantBitrateSeekMap

        public ConstantBitrateSeekMap​(long inputLength,
                                      long firstFrameBytePosition,
                                      int bitrate,
                                      int frameSize,
                                      boolean allowSeeksIfLengthUnknown)
        Deprecated.
        Creates an instance.
        Parameters:
        inputLength - The length of the stream in bytes, or C.LENGTH_UNSET if unknown.
        firstFrameBytePosition - The byte-position of the first frame in the stream.
        bitrate - The bitrate (which is assumed to be constant in the stream).
        frameSize - The size of each frame in the stream in bytes. May be C.LENGTH_UNSET if unknown.
        allowSeeksIfLengthUnknown - Whether to allow seeking even if the length of the content is unknown.
    • Method Detail

      • isSeekable

        public boolean isSeekable()
        Deprecated.
        Description copied from interface: SeekMap
        Returns whether seeking is supported.
        Specified by:
        isSeekable in interface SeekMap
        Returns:
        Whether seeking is supported.
      • getSeekPoints

        public SeekMap.SeekPoints getSeekPoints​(long timeUs)
        Deprecated.
        Description copied from interface: SeekMap
        Obtains seek points for the specified seek time in microseconds. The returned SeekMap.SeekPoints will contain one or two distinct seek points.

        Two seek points [A, B] are returned in the case that seeking can only be performed to discrete points in time, there does not exist a seek point at exactly the requested time, and there exist seek points on both sides of it. In this case A and B are the closest seek points before and after the requested time. A single seek point is returned in all other cases.

        Specified by:
        getSeekPoints in interface SeekMap
        Parameters:
        timeUs - A seek time in microseconds.
        Returns:
        The corresponding seek points.
      • getDurationUs

        public long getDurationUs()
        Deprecated.
        Description copied from interface: SeekMap
        Returns the duration of the stream in microseconds.
        Specified by:
        getDurationUs in interface SeekMap
        Returns:
        The duration of the stream in microseconds, or C.TIME_UNSET if the duration is unknown.
      • getTimeUsAtPosition

        public long getTimeUsAtPosition​(long position)
        Deprecated.
        Returns the stream time in microseconds for a given position.
        Parameters:
        position - The stream byte-position.
        Returns:
        The stream time in microseconds for the given position.