Implement stable rate support in SimulcastRateAllocator
Bug: webrtc:10126 Change-Id: I2ea8d27b0bd6f7ffd1ebbba451bd1ce1f2eee3d9 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/151121 Reviewed-by: Florent Castelli <orphis@webrtc.org> Commit-Queue: Erik Språng <sprang@webrtc.org> Cr-Commit-Position: refs/heads/master@{#29097}
This commit is contained in:
@ -20,6 +20,7 @@
|
||||
#include "api/video/video_bitrate_allocator.h"
|
||||
#include "api/video_codecs/video_codec.h"
|
||||
#include "rtc_base/constructor_magic.h"
|
||||
#include "rtc_base/experiments/stable_target_rate_experiment.h"
|
||||
|
||||
namespace webrtc {
|
||||
|
||||
@ -36,10 +37,11 @@ class SimulcastRateAllocator : public VideoBitrateAllocator {
|
||||
|
||||
private:
|
||||
void DistributeAllocationToSimulcastLayers(
|
||||
uint32_t total_bitrate_bps,
|
||||
VideoBitrateAllocation* allocated_bitrates_bps);
|
||||
DataRate total_bitrate,
|
||||
DataRate stable_bitrate,
|
||||
VideoBitrateAllocation* allocated_bitrates);
|
||||
void DistributeAllocationToTemporalLayers(
|
||||
VideoBitrateAllocation* allocated_bitrates_bps) const;
|
||||
VideoBitrateAllocation* allocated_bitrates) const;
|
||||
std::vector<uint32_t> DefaultTemporalLayerAllocation(int bitrate_kbps,
|
||||
int max_bitrate_kbps,
|
||||
int simulcast_id) const;
|
||||
@ -50,7 +52,7 @@ class SimulcastRateAllocator : public VideoBitrateAllocator {
|
||||
int NumTemporalStreams(size_t simulcast_id) const;
|
||||
|
||||
const VideoCodec codec_;
|
||||
const double hysteresis_factor_;
|
||||
const StableTargetRateExperiment stable_rate_settings_;
|
||||
std::vector<bool> stream_enabled_;
|
||||
|
||||
RTC_DISALLOW_COPY_AND_ASSIGN(SimulcastRateAllocator);
|
||||
|
||||
Reference in New Issue
Block a user