/** * The buffer configuration to tweak buffer size and others. * * @group Interfaces */ export default interface AndroidBufferConfiguration { /** * Set to `true` in order video renderer not to block other renderers * (audio) when feeding decoder. */ videoFeedYield?: boolean; /** * Set to `true` in order audio renderer not to block other renderers (video) * when feeding decoder. */ audioFeedYield?: boolean; /** * Maximum duration of the back buffer. In other words, * how much time are already played segments to remain in the buffer. */ backBufferDurationMs?: number; /** * The internal buffer is divided into segment, * and this specifies the size of a single buffer segment. */ bufferSegmentSize?: number; /** * Defines the buffer size in bytes. */ bufferSizeBytes?: number; /** * Flag indicating whether the buffer should be drained * (until {@link AndroidBufferConfiguration.minPlaybackStartMs} is reached) or not. */ drainWhileCharging?: boolean; /** * Time in milliseconds that will be used by the buffer controls to determine * if the buffer can be drained. */ highMediaTimeMs?: number; /** * Time in milliseconds that will be used by the buffer controls to determine * if the buffer needs to be filled. */ lowMediaTimeMs?: number; /** * The minimum duration of data that must be buffered for playback to start * or resume following a user action such as a seek. */ minPlaybackStartMs?: number; /** * The minimum duration of data that must be buffered for playback to resume * after a player invoked re-buffer. */ minRebufferStartMs?: number; /** * Flag indicating whether the buffered duration is evaluated based on * playlist (manifest) tags like duration or based on audio/video data * segments durations. */ prioritizeInstreamOverManifestDuration?: boolean; /** * Flag indicating whether the buffer time constraints are prioritized * over buffer size constraints {@link AndroidBufferConfiguration.lowMediaTimeMs} * and {@link AndroidBufferConfiguration.highMediaTimeMs}. */ prioritizeTimeOverSizeThresholds?: boolean; }