#include "modules/audio_coding/neteq/tools/neteq_delay_analyzer.h"
#include <algorithm>
#include <fstream>
#include <ios>
#include <iterator>
#include <limits>
#include <utility>
#include "absl/strings/string_view.h"
#include "rtc_base/checks.h"
#include "rtc_base/numerics/sequence_number_unwrapper.h"
namespace webrtc {
namespace test {
namespace {
constexpr char kArrivalDelayX[] = …;
constexpr char kArrivalDelayY[] = …;
constexpr char kTargetDelayX[] = …;
constexpr char kTargetDelayY[] = …;
constexpr char kPlayoutDelayX[] = …;
constexpr char kPlayoutDelayY[] = …;
double LinearInterpolate(double x,
const std::vector<int64_t>& x_vec,
const std::vector<int64_t>& y_vec) { … }
void PrintDelays(const NetEqDelayAnalyzer::Delays& delays,
int64_t ref_time_ms,
absl::string_view var_name_x,
absl::string_view var_name_y,
std::ofstream& output,
absl::string_view terminator = "") { … }
}
void NetEqDelayAnalyzer::AfterInsertPacket(
const test::NetEqInput::PacketData& packet,
NetEq* neteq) { … }
void NetEqDelayAnalyzer::BeforeGetAudio(NetEq* neteq) { … }
void NetEqDelayAnalyzer::AfterGetAudio(int64_t time_now_ms,
const AudioFrame& audio_frame,
bool ,
NetEq* neteq) { … }
void NetEqDelayAnalyzer::CreateGraphs(Delays* arrival_delay_ms,
Delays* corrected_arrival_delay_ms,
Delays* playout_delay_ms,
Delays* target_delay_ms) const { … }
void NetEqDelayAnalyzer::CreateMatlabScript(
absl::string_view script_name) const { … }
void NetEqDelayAnalyzer::CreatePythonScript(
absl::string_view script_name) const { … }
}
}