Index: webrtc/modules/audio_coding/audio_network_adaptor/frame_length_controller.cc |
diff --git a/webrtc/modules/audio_coding/audio_network_adaptor/frame_length_controller.cc b/webrtc/modules/audio_coding/audio_network_adaptor/frame_length_controller.cc |
index ff271d58b62315decac9b538eb1fc2e9112daab4..01c995ddd09e7a5dc68c39c48edb74fb6045ebe0 100644 |
--- a/webrtc/modules/audio_coding/audio_network_adaptor/frame_length_controller.cc |
+++ b/webrtc/modules/audio_coding/audio_network_adaptor/frame_length_controller.cc |
@@ -10,7 +10,6 @@ |
#include "webrtc/modules/audio_coding/audio_network_adaptor/frame_length_controller.h" |
-#include <iterator> |
#include <utility> |
#include "webrtc/base/checks.h" |
@@ -38,16 +37,11 @@ FrameLengthController::Config::~Config() = default; |
FrameLengthController::FrameLengthController(const Config& config) |
: config_(config) { |
+ frame_length_ms_ = std::find(config_.encoder_frame_lengths_ms.begin(), |
michaelt
2016/10/18 08:25:23
encoder_frame_lengths_ms seams not a fitting name
minyue-webrtc
2016/10/18 13:25:13
I think the name is still fine. Since the validati
|
+ config_.encoder_frame_lengths_ms.end(), |
+ config_.initial_frame_length_ms); |
// |encoder_frame_lengths_ms| must contain |initial_frame_length_ms|. |
- RTC_DCHECK(config_.encoder_frame_lengths_ms.end() != |
- std::find(config_.encoder_frame_lengths_ms.begin(), |
- config_.encoder_frame_lengths_ms.end(), |
- config_.initial_frame_length_ms)); |
- |
- // We start with assuming that the receiver only accepts |
- // |config_.initial_frame_length_ms|. |
- run_time_frame_lengths_ms_.push_back(config_.initial_frame_length_ms); |
- frame_length_ms_ = run_time_frame_lengths_ms_.begin(); |
+ RTC_DCHECK(frame_length_ms_ != config_.encoder_frame_lengths_ms.end()); |
frame_length_change_criteria_.insert(std::make_pair( |
FrameLengthChange(20, 60), config_.fl_20ms_to_60ms_bandwidth_bps)); |
@@ -71,14 +65,6 @@ void FrameLengthController::MakeDecision( |
config->frame_length_ms = rtc::Optional<int>(*frame_length_ms_); |
} |
-void FrameLengthController::SetConstraints(const Constraints& constraints) { |
- if (constraints.receiver_frame_length_range) { |
- SetReceiverFrameLengthRange( |
- constraints.receiver_frame_length_range->min_frame_length_ms, |
- constraints.receiver_frame_length_range->max_frame_length_ms); |
- } |
-} |
- |
FrameLengthController::FrameLengthChange::FrameLengthChange( |
int from_frame_length_ms, |
int to_frame_length_ms) |
@@ -94,35 +80,6 @@ bool FrameLengthController::FrameLengthChange::operator<( |
to_frame_length_ms < rhs.to_frame_length_ms); |
} |
-void FrameLengthController::SetReceiverFrameLengthRange( |
- int min_frame_length_ms, |
- int max_frame_length_ms) { |
- int frame_length_ms = *frame_length_ms_; |
- // Reset |run_time_frame_lengths_ms_| by filtering |config_.frame_lengths_ms| |
- // with the receiver frame length range. |
- run_time_frame_lengths_ms_.clear(); |
- std::copy_if(config_.encoder_frame_lengths_ms.begin(), |
- config_.encoder_frame_lengths_ms.end(), |
- std::back_inserter(run_time_frame_lengths_ms_), |
- [&](int frame_length_ms) { |
- return frame_length_ms >= min_frame_length_ms && |
- frame_length_ms <= max_frame_length_ms; |
- }); |
- RTC_DCHECK(std::is_sorted(run_time_frame_lengths_ms_.begin(), |
- run_time_frame_lengths_ms_.end())); |
- |
- // Keep the current frame length. If it has gone out of the new range, use |
- // the smallest available frame length. |
- frame_length_ms_ = |
- std::find(run_time_frame_lengths_ms_.begin(), |
- run_time_frame_lengths_ms_.end(), frame_length_ms); |
- if (frame_length_ms_ == run_time_frame_lengths_ms_.end()) { |
- LOG(LS_WARNING) |
- << "Actual frame length not in frame length range of the receiver"; |
- frame_length_ms_ = run_time_frame_lengths_ms_.begin(); |
- } |
-} |
- |
bool FrameLengthController::FrameLengthIncreasingDecision( |
const NetworkMetrics& metrics, |
const AudioNetworkAdaptor::EncoderRuntimeConfig& config) const { |
@@ -133,7 +90,7 @@ bool FrameLengthController::FrameLengthIncreasingDecision( |
// AND |
// 4. FEC is not decided or is OFF. |
auto longer_frame_length_ms = std::next(frame_length_ms_); |
- if (longer_frame_length_ms == run_time_frame_lengths_ms_.end()) |
+ if (longer_frame_length_ms == config_.encoder_frame_lengths_ms.end()) |
return false; |
auto increase_threshold = frame_length_change_criteria_.find( |
@@ -158,7 +115,7 @@ bool FrameLengthController::FrameLengthDecreasingDecision( |
// 2. |uplink_bandwidth_bps| is known to be larger than a threshold, |
// 3. |uplink_packet_loss_fraction| is known to be larger than a threshold, |
// 4. FEC is decided ON. |
- if (frame_length_ms_ == run_time_frame_lengths_ms_.begin()) |
+ if (frame_length_ms_ == config_.encoder_frame_lengths_ms.begin()) |
return false; |
auto shorter_frame_length_ms = std::prev(frame_length_ms_); |