pub trait AbrAlgorithm: Send + Sync {
// Required methods
fn select_rendition<'a>(
&self,
renditions: &'a [Rendition],
context: &AbrContext,
) -> Option<&'a Rendition>;
fn update(&mut self, measurement: &BandwidthMeasurement);
fn name(&self) -> &'static str;
}Expand description
ABR algorithm trait
Required Methods§
Sourcefn select_rendition<'a>(
&self,
renditions: &'a [Rendition],
context: &AbrContext,
) -> Option<&'a Rendition>
fn select_rendition<'a>( &self, renditions: &'a [Rendition], context: &AbrContext, ) -> Option<&'a Rendition>
Select the best rendition given current conditions
Sourcefn update(&mut self, measurement: &BandwidthMeasurement)
fn update(&mut self, measurement: &BandwidthMeasurement)
Update algorithm state with new measurement