Move NetworkStatistics and AudioDecodingCallStats from common_types.h
Bug: webrtc:7626 Change-Id: I1b933b8be7acbca1f1043a374a7cafb95aa9ffde Reviewed-on: https://webrtc-review.googlesource.com/c/111249 Reviewed-by: Karl Wiberg <kwiberg@webrtc.org> Commit-Queue: Fredrik Solenberg <solenberg@webrtc.org> Cr-Commit-Position: refs/heads/master@{#25688}
This commit is contained in:
committed by
Commit Bot
parent
3cf8f3e005
commit
78e88fe602
@ -67,6 +67,7 @@ rtc_source_set("audio_coding_module_typedefs") {
|
||||
]
|
||||
deps = [
|
||||
"../..:webrtc_common",
|
||||
"../../rtc_base:deprecation",
|
||||
]
|
||||
}
|
||||
|
||||
|
||||
@ -12,7 +12,7 @@
|
||||
#define MODULES_AUDIO_CODING_ACM2_CALL_STATISTICS_H_
|
||||
|
||||
#include "api/audio/audio_frame.h"
|
||||
#include "common_types.h" // NOLINT(build/include)
|
||||
#include "modules/audio_coding/include/audio_coding_module_typedefs.h"
|
||||
|
||||
//
|
||||
// This class is for book keeping of calls to ACM. It is not useful to log API
|
||||
|
||||
@ -13,6 +13,8 @@
|
||||
|
||||
#include <map>
|
||||
|
||||
#include "rtc_base/deprecation.h"
|
||||
|
||||
namespace webrtc {
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
@ -43,6 +45,80 @@ enum OpusApplicationMode {
|
||||
kAudio = 1,
|
||||
};
|
||||
|
||||
// Statistics for calls to AudioCodingModule::PlayoutData10Ms().
|
||||
struct AudioDecodingCallStats {
|
||||
AudioDecodingCallStats()
|
||||
: calls_to_silence_generator(0),
|
||||
calls_to_neteq(0),
|
||||
decoded_normal(0),
|
||||
decoded_plc(0),
|
||||
decoded_cng(0),
|
||||
decoded_plc_cng(0),
|
||||
decoded_muted_output(0) {}
|
||||
|
||||
int calls_to_silence_generator; // Number of calls where silence generated,
|
||||
// and NetEq was disengaged from decoding.
|
||||
int calls_to_neteq; // Number of calls to NetEq.
|
||||
int decoded_normal; // Number of calls where audio RTP packet decoded.
|
||||
int decoded_plc; // Number of calls resulted in PLC.
|
||||
int decoded_cng; // Number of calls where comfort noise generated due to DTX.
|
||||
int decoded_plc_cng; // Number of calls resulted where PLC faded to CNG.
|
||||
int decoded_muted_output; // Number of calls returning a muted state output.
|
||||
};
|
||||
|
||||
// NETEQ statistics.
|
||||
struct NetworkStatistics {
|
||||
// current jitter buffer size in ms
|
||||
uint16_t currentBufferSize;
|
||||
// preferred (optimal) buffer size in ms
|
||||
uint16_t preferredBufferSize;
|
||||
// adding extra delay due to "peaky jitter"
|
||||
bool jitterPeaksFound;
|
||||
// Stats below correspond to similarly-named fields in the WebRTC stats spec.
|
||||
// https://w3c.github.io/webrtc-stats/#dom-rtcmediastreamtrackstats
|
||||
uint64_t totalSamplesReceived;
|
||||
uint64_t concealedSamples;
|
||||
uint64_t concealmentEvents;
|
||||
uint64_t jitterBufferDelayMs;
|
||||
// Stats below DO NOT correspond directly to anything in the WebRTC stats
|
||||
// Loss rate (network + late); fraction between 0 and 1, scaled to Q14.
|
||||
uint16_t currentPacketLossRate;
|
||||
// Late loss rate; fraction between 0 and 1, scaled to Q14.
|
||||
union {
|
||||
RTC_DEPRECATED uint16_t currentDiscardRate;
|
||||
};
|
||||
// fraction (of original stream) of synthesized audio inserted through
|
||||
// expansion (in Q14)
|
||||
uint16_t currentExpandRate;
|
||||
// fraction (of original stream) of synthesized speech inserted through
|
||||
// expansion (in Q14)
|
||||
uint16_t currentSpeechExpandRate;
|
||||
// fraction of synthesized speech inserted through pre-emptive expansion
|
||||
// (in Q14)
|
||||
uint16_t currentPreemptiveRate;
|
||||
// fraction of data removed through acceleration (in Q14)
|
||||
uint16_t currentAccelerateRate;
|
||||
// fraction of data coming from secondary decoding (in Q14)
|
||||
uint16_t currentSecondaryDecodedRate;
|
||||
// Fraction of secondary data, including FEC and RED, that is discarded (in
|
||||
// Q14). Discarding of secondary data can be caused by the reception of the
|
||||
// primary data, obsoleting the secondary data. It can also be caused by early
|
||||
// or late arrival of secondary data.
|
||||
uint16_t currentSecondaryDiscardedRate;
|
||||
// clock-drift in parts-per-million (negative or positive)
|
||||
int32_t clockDriftPPM;
|
||||
// average packet waiting time in the jitter buffer (ms)
|
||||
int meanWaitingTimeMs;
|
||||
// median packet waiting time in the jitter buffer (ms)
|
||||
int medianWaitingTimeMs;
|
||||
// min packet waiting time in the jitter buffer (ms)
|
||||
int minWaitingTimeMs;
|
||||
// max packet waiting time in the jitter buffer (ms)
|
||||
int maxWaitingTimeMs;
|
||||
// added samples in off mode due to packet loss
|
||||
size_t addedSamples;
|
||||
};
|
||||
|
||||
} // namespace webrtc
|
||||
|
||||
#endif // MODULES_AUDIO_CODING_INCLUDE_AUDIO_CODING_MODULE_TYPEDEFS_H_
|
||||
|
||||
Reference in New Issue
Block a user