
We're moving to an RtcEventLog interface that accepts std::unique_ptr<EventLog> and stores the event for encoding when encoding becomes necessary, rather than before. This will be useful while we maintain the legacy (current) encoding alongside the new encoding on which we're working. This CL introduces RtcEventLogEncoderLegacy, which takes provides the encoding currently done by RtcEventLogImpl. After this, we can modify RtcEventLogImpl to use a dynamically chosen encoding, allowing us to easily choose between the current encoding and the new one on which we're working. BUG=webrtc:8111 TBR=stefan@webrtc.org Change-Id: I3dde7e222a40a117549a094a59b04219467f490a Reviewed-on: https://webrtc-review.googlesource.com/1364 Commit-Queue: Elad Alon <eladalon@webrtc.org> Reviewed-by: Elad Alon <eladalon@webrtc.org> Reviewed-by: Björn Terelius <terelius@webrtc.org> Cr-Commit-Position: refs/heads/master@{#20116}
62 lines
1.6 KiB
C++
62 lines
1.6 KiB
C++
/*
|
|
* Copyright (c) 2012 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 MODULES_REMOTE_BITRATE_ESTIMATOR_INCLUDE_BWE_DEFINES_H_
|
|
#define MODULES_REMOTE_BITRATE_ESTIMATOR_INCLUDE_BWE_DEFINES_H_
|
|
|
|
#include "api/optional.h"
|
|
#include "typedefs.h" // NOLINT(build/include)
|
|
|
|
#define BWE_MAX(a, b) ((a) > (b) ? (a) : (b))
|
|
#define BWE_MIN(a, b) ((a) < (b) ? (a) : (b))
|
|
|
|
namespace webrtc {
|
|
|
|
namespace congestion_controller {
|
|
int GetMinBitrateBps();
|
|
} // namespace congestion_controller
|
|
|
|
static const int64_t kBitrateWindowMs = 1000;
|
|
|
|
extern const char kBweTypeHistogram[];
|
|
|
|
enum BweNames {
|
|
kReceiverNoExtension = 0,
|
|
kReceiverTOffset = 1,
|
|
kReceiverAbsSendTime = 2,
|
|
kSendSideTransportSeqNum = 3,
|
|
kBweNamesMax = 4
|
|
};
|
|
|
|
enum class BandwidthUsage {
|
|
kBwNormal = 0,
|
|
kBwUnderusing = 1,
|
|
kBwOverusing = 2,
|
|
kLast
|
|
};
|
|
|
|
enum RateControlState { kRcHold, kRcIncrease, kRcDecrease };
|
|
|
|
enum RateControlRegion { kRcNearMax, kRcAboveMax, kRcMaxUnknown };
|
|
|
|
struct RateControlInput {
|
|
RateControlInput(BandwidthUsage bw_state,
|
|
const rtc::Optional<uint32_t>& incoming_bitrate,
|
|
double noise_var);
|
|
~RateControlInput();
|
|
|
|
BandwidthUsage bw_state;
|
|
rtc::Optional<uint32_t> incoming_bitrate;
|
|
double noise_var;
|
|
};
|
|
} // namespace webrtc
|
|
|
|
#endif // MODULES_REMOTE_BITRATE_ESTIMATOR_INCLUDE_BWE_DEFINES_H_
|