Moves BitrateAllocationUpdate to api.
This way it can be forwarded to lower layers. This makes it easier to add information without having to change signatures of intermediate classes. This will be used in a later CL to use the link capacity in the Opus decoder. Bug: webrtc:9718 Change-Id: I4a4c9d104fedb0e4a0bb7f14d169475940edbf7e Reviewed-on: https://webrtc-review.googlesource.com/c/111508 Commit-Queue: Sebastian Jansson <srte@webrtc.org> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org> Cr-Commit-Position: refs/heads/master@{#25738}
This commit is contained in:
parent
13e5903626
commit
6736df1778
11
api/BUILD.gn
11
api/BUILD.gn
@ -273,6 +273,17 @@ rtc_source_set("transport_api") {
|
||||
]
|
||||
}
|
||||
|
||||
rtc_source_set("bitrate_allocation") {
|
||||
visibility = [ "*" ]
|
||||
sources = [
|
||||
"call/bitrate_allocation.h",
|
||||
]
|
||||
deps = [
|
||||
"units:data_rate",
|
||||
"units:time_delta",
|
||||
]
|
||||
}
|
||||
|
||||
rtc_source_set("simulated_network_api") {
|
||||
visibility = [ "*" ]
|
||||
sources = [
|
||||
|
||||
41
api/call/bitrate_allocation.h
Normal file
41
api/call/bitrate_allocation.h
Normal file
@ -0,0 +1,41 @@
|
||||
/*
|
||||
* Copyright 2018 The WebRTC project authors. All Rights Reserved.
|
||||
*
|
||||
* Use of this source code is governed by a BSD-style license
|
||||
* that can be found in the LICENSE file in the root of the source
|
||||
* tree. An additional intellectual property rights grant can be found
|
||||
* in the file PATENTS. All contributing project authors may
|
||||
* be found in the AUTHORS file in the root of the source tree.
|
||||
*/
|
||||
#ifndef API_CALL_BITRATE_ALLOCATION_H_
|
||||
#define API_CALL_BITRATE_ALLOCATION_H_
|
||||
|
||||
#include "api/units/data_rate.h"
|
||||
#include "api/units/time_delta.h"
|
||||
|
||||
namespace webrtc {
|
||||
|
||||
// BitrateAllocationUpdate provides information to allocated streams about their
|
||||
// bitrate allocation. It originates from the BitrateAllocater class and is
|
||||
// propagated from there.
|
||||
struct BitrateAllocationUpdate {
|
||||
// The allocated target bitrate. Media streams should produce this amount of
|
||||
// data. (Note that this may include packet overhead depending on
|
||||
// configuration.)
|
||||
DataRate target_bitrate = DataRate::Zero();
|
||||
// The allocated part of the estimated link capacity. This is more stable than
|
||||
// the target as it is based on the underlying link capacity estimate. This
|
||||
// should be used to change encoder configuration when the cost of change is
|
||||
// high.
|
||||
DataRate link_capacity = DataRate::Zero();
|
||||
// Predicted packet loss ratio.
|
||||
double packet_loss_ratio = 0;
|
||||
// Predicted round trip time.
|
||||
TimeDelta round_trip_time = TimeDelta::PlusInfinity();
|
||||
// |bwe_period| is deprecated, use the link capacity allocation instead.
|
||||
TimeDelta bwe_period = TimeDelta::PlusInfinity();
|
||||
};
|
||||
|
||||
} // namespace webrtc
|
||||
|
||||
#endif // API_CALL_BITRATE_ALLOCATION_H_
|
||||
@ -164,6 +164,7 @@ rtc_source_set("bitrate_allocator") {
|
||||
"bitrate_allocator.h",
|
||||
]
|
||||
deps = [
|
||||
"../api:bitrate_allocation",
|
||||
"../api/units:data_rate",
|
||||
"../api/units:time_delta",
|
||||
"../modules/bitrate_controller",
|
||||
|
||||
@ -16,6 +16,8 @@
|
||||
#include <memory>
|
||||
#include <utility>
|
||||
|
||||
#include "api/units/data_rate.h"
|
||||
#include "api/units/time_delta.h"
|
||||
#include "modules/bitrate_controller/include/bitrate_controller.h"
|
||||
#include "rtc_base/checks.h"
|
||||
#include "rtc_base/logging.h"
|
||||
|
||||
@ -19,8 +19,7 @@
|
||||
#include <utility>
|
||||
#include <vector>
|
||||
|
||||
#include "api/units/data_rate.h"
|
||||
#include "api/units/time_delta.h"
|
||||
#include "api/call/bitrate_allocation.h"
|
||||
#include "rtc_base/bitrateallocationstrategy.h"
|
||||
#include "rtc_base/sequenced_task_checker.h"
|
||||
|
||||
@ -28,13 +27,6 @@ namespace webrtc {
|
||||
|
||||
class Clock;
|
||||
|
||||
struct BitrateAllocationUpdate {
|
||||
DataRate target_bitrate = DataRate::Zero();
|
||||
DataRate link_capacity = DataRate::Zero();
|
||||
double packet_loss_ratio = 0;
|
||||
TimeDelta round_trip_time = TimeDelta::PlusInfinity();
|
||||
TimeDelta bwe_period = TimeDelta::PlusInfinity();
|
||||
};
|
||||
// Used by all send streams with adaptive bitrate, to get the currently
|
||||
// allocated bitrate for the send stream. The current network properties are
|
||||
// given at the same time, to let the send stream decide about possible loss
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user