Stay organized with collections Save and categorize content based on your preferences.

BinarySearchSeeker.BinarySearchSeekMap

class BinarySearchSeeker.BinarySearchSeekMap : SeekMap


A SeekMap implementation that returns the estimated byte location from calculateNextSearchBytePosition for each getSeekPoints query.

Summary

Public constructors

BinarySearchSeekMap(
    seekTimestampConverter: BinarySearchSeeker.SeekTimestampConverter!,
    durationUs: Long,
    floorTimePosition: Long,
    ceilingTimePosition: Long,
    floorBytePosition: Long,
    ceilingBytePosition: Long,
    approxBytesPerFrame: Long
)

Constructs a new instance of this seek map.

Public functions

SeekMap.SeekPoints!

Obtains seek points for the specified seek time in microseconds.

Boolean

Returns whether seeking is supported.

Long

Public properties

Long

Public constructors

BinarySearchSeekMap

BinarySearchSeekMap(
    seekTimestampConverter: BinarySearchSeeker.SeekTimestampConverter!,
    durationUs: Long,
    floorTimePosition: Long,
    ceilingTimePosition: Long,
    floorBytePosition: Long,
    ceilingBytePosition: Long,
    approxBytesPerFrame: Long
)

Constructs a new instance of this seek map.

Public functions

getSeekPoints

fun getSeekPoints(timeUs: Long): SeekMap.SeekPoints!

Obtains seek points for the specified seek time in microseconds. The returned 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.

Parameters
timeUs: Long

A seek time in microseconds.

Returns
SeekMap.SeekPoints!

The corresponding seek points.

isSeekable

fun isSeekable(): Boolean

Returns whether seeking is supported.

Returns
Boolean

Whether seeking is supported.

timeUsToTargetTime

fun timeUsToTargetTime(timeUs: Long): Long

Public properties

durationUs

val durationUsLong