Adds field trial to AudioPriorityBitrateAllocationStrategy.
Bug: webrtc:9718 Change-Id: I6419616c27c581e47fdb78ad6594496fad5cec76 Reviewed-on: https://webrtc-review.googlesource.com/c/106261 Commit-Queue: Sebastian Jansson <srte@webrtc.org> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org> Cr-Commit-Position: refs/heads/master@{#25252}
This commit is contained in:
committed by
Commit Bot
parent
65faede3b0
commit
d28efe5186
@ -14,6 +14,8 @@
|
||||
#include <string>
|
||||
#include <vector>
|
||||
#include "api/array_view.h"
|
||||
#include "rtc_base/experiments/field_trial_parser.h"
|
||||
#include "rtc_base/experiments/field_trial_units.h"
|
||||
|
||||
namespace rtc {
|
||||
|
||||
@ -75,7 +77,21 @@ class BitrateAllocationStrategy {
|
||||
|
||||
virtual ~BitrateAllocationStrategy() = default;
|
||||
};
|
||||
} // namespace rtc
|
||||
|
||||
namespace webrtc {
|
||||
struct AudioPriorityConfig {
|
||||
FieldTrialOptional<DataRate> min_rate;
|
||||
FieldTrialOptional<DataRate> max_rate;
|
||||
FieldTrialOptional<DataRate> target_rate;
|
||||
AudioPriorityConfig();
|
||||
AudioPriorityConfig(const AudioPriorityConfig&);
|
||||
AudioPriorityConfig& operator=(const AudioPriorityConfig&) = default;
|
||||
~AudioPriorityConfig();
|
||||
};
|
||||
} // namespace webrtc
|
||||
|
||||
namespace rtc {
|
||||
// Simple allocation strategy giving priority to audio until
|
||||
// sufficient_audio_bitrate is reached. Bitrate is distributed evenly between
|
||||
// the tracks after sufficient_audio_bitrate is reached. This implementation
|
||||
@ -90,6 +106,7 @@ class AudioPriorityBitrateAllocationStrategy
|
||||
const ArrayView<const TrackConfig*> track_configs) override;
|
||||
|
||||
private:
|
||||
webrtc::AudioPriorityConfig config_;
|
||||
std::string audio_track_id_;
|
||||
uint32_t sufficient_audio_bitrate_;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user