androidx.media3.exoplayer.upstream.experimental


Interfaces

BandwidthEstimator

The interface for different bandwidth estimation strategies.

BandwidthStatistic

The interface for different bandwidth estimation statistics.

SlidingWeightedAverageBandwidthStatistic.SampleEvictionFunction

An interface to decide if samples need to be evicted from the estimator.

Classes

CombinedParallelSampleBandwidthEstimator

A BandwidthEstimator that captures a transfer sample each time all parallel transfers end.

CombinedParallelSampleBandwidthEstimator.Builder

A builder to create CombinedParallelSampleBandwidthEstimator instances.

ExperimentalBandwidthMeter

An experimental BandwidthMeter that estimates bandwidth by listening to data transfers.

ExperimentalBandwidthMeter.Builder

Builder for a bandwidth meter.

ExponentialWeightedAverageStatistic

A BandwidthStatistic that calculates estimates using an exponential weighted average.

ExponentialWeightedAverageTimeToFirstByteEstimator

Implementation of TimeToFirstByteEstimator based on exponential weighted average.

PercentileTimeToFirstByteEstimator

Implementation of TimeToFirstByteEstimator that returns a configured percentile of a sliding window of collected response times.

SlidingPercentileBandwidthStatistic

A BandwidthStatistic that calculates estimates based on a sliding window weighted percentile.

SlidingWeightedAverageBandwidthStatistic

A BandwidthStatistic that calculates estimates based on a sliding window weighted average.

SlidingWeightedAverageBandwidthStatistic.Sample

Represents a bandwidth sample.

SplitParallelSampleBandwidthEstimator

A BandwidthEstimator that captures a transfer sample each time a transfer ends.

SplitParallelSampleBandwidthEstimator.Builder

A builder to create SplitParallelSampleBandwidthEstimator instances.