IntervalBitrateRegulatorController

class IntervalBitrateRegulatorController(audioEncoder: IEncoder?, videoEncoder: IEncoder, metricsProvider: WithEndpointMetrics<*>, bitrateRegulatorFactory: IBitrateRegulator.Factory, coroutineDispatcher: CoroutineDispatcher, bitrateRegulatorConfig: BitrateRegulatorConfig = BitrateRegulatorConfig(), pollingTime: Duration = DEFAULT_POLLING_TIME) : BitrateRegulatorController(source)

A BitrateRegulatorController implementation that triggers IBitrateRegulator.update every pollingTime.

Parameters

audioEncoder

the audio IEncoder

videoEncoder

the video IEncoder

metricsProvider

the WithEndpointMetrics implementation

bitrateRegulatorFactory

the IBitrateRegulator.Factory implementation. Use it to make your own bitrate regulator.

bitrateRegulatorConfig

bitrate regulator configuration

pollingTime

delay between each call to IBitrateRegulator.update

Constructors

Link copied to clipboard
constructor(audioEncoder: IEncoder?, videoEncoder: IEncoder, metricsProvider: WithEndpointMetrics<*>, bitrateRegulatorFactory: IBitrateRegulator.Factory, coroutineDispatcher: CoroutineDispatcher, bitrateRegulatorConfig: BitrateRegulatorConfig = BitrateRegulatorConfig(), pollingTime: Duration = DEFAULT_POLLING_TIME)

Types

Link copied to clipboard
object Companion
Link copied to clipboard
class Factory(bitrateRegulatorFactory: IBitrateRegulator.Factory, bitrateRegulatorConfig: BitrateRegulatorConfig = BitrateRegulatorConfig(), pollingTime: Duration = DEFAULT_POLLING_TIME) : BitrateRegulatorController.Factory

Properties

Link copied to clipboard
protected val audioEncoder: IEncoder?
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
protected val videoEncoder: IEncoder?

Functions

Link copied to clipboard
open override fun start()

Start the controller.

Link copied to clipboard
open override fun stop()

Stop the controller.