[DVQA] Make entities loggable
Make StreamCodecInfo and FrameDropPhase generally loggable Bug: b/243855428 Change-Id: Id8424596f82d1489fe6f7deaf0670e6960375df0 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/273103 Commit-Queue: Artem Titov <titovartem@webrtc.org> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org> Auto-Submit: Artem Titov <titovartem@webrtc.org> Cr-Commit-Position: refs/heads/main@{#37916}
This commit is contained in:

committed by
WebRTC LUCI CQ

parent
6d47f2e1fa
commit
f02212b8b0
@ -52,21 +52,6 @@ void LogFrameCounters(const std::string& name, const FrameCounters& counters) {
|
||||
RTC_LOG(LS_INFO) << "[" << name << "] Dropped : " << counters.dropped;
|
||||
}
|
||||
|
||||
absl::string_view ToString(FrameDropPhase phase) {
|
||||
switch (phase) {
|
||||
case FrameDropPhase::kBeforeEncoder:
|
||||
return "kBeforeEncoder";
|
||||
case FrameDropPhase::kByEncoder:
|
||||
return "kByEncoder";
|
||||
case FrameDropPhase::kTransport:
|
||||
return "kTransport";
|
||||
case FrameDropPhase::kAfterDecoder:
|
||||
return "kAfterDecoder";
|
||||
case FrameDropPhase::kLastValue:
|
||||
RTC_CHECK(false) << "FrameDropPhase::kLastValue mustn't be used";
|
||||
}
|
||||
}
|
||||
|
||||
void LogStreamInternalStats(const std::string& name,
|
||||
const StreamStats& stats,
|
||||
Timestamp start_time) {
|
||||
|
@ -11,6 +11,8 @@
|
||||
|
||||
#include <algorithm>
|
||||
#include <iterator>
|
||||
#include <ostream>
|
||||
#include <string>
|
||||
|
||||
#include "api/units/timestamp.h"
|
||||
#include "rtc_base/checks.h"
|
||||
@ -23,6 +25,46 @@ constexpr int kMicrosPerSecond = 1000000;
|
||||
|
||||
} // namespace
|
||||
|
||||
std::string StreamCodecInfo::ToString() const {
|
||||
rtc::StringBuilder out;
|
||||
out << "{codec_name=" << codec_name << "; first_frame_id=" << first_frame_id
|
||||
<< "; last_frame_id=" << last_frame_id
|
||||
<< "; switched_on_at=" << webrtc::ToString(switched_on_at)
|
||||
<< "; switched_from_at=" << webrtc::ToString(switched_from_at) << " }";
|
||||
return out.str();
|
||||
}
|
||||
|
||||
std::ostream& operator<<(std::ostream& os, const StreamCodecInfo& state) {
|
||||
return os << state.ToString();
|
||||
}
|
||||
|
||||
rtc::StringBuilder& operator<<(rtc::StringBuilder& sb,
|
||||
const StreamCodecInfo& state) {
|
||||
return sb << state.ToString();
|
||||
}
|
||||
|
||||
std::string ToString(FrameDropPhase phase) {
|
||||
switch (phase) {
|
||||
case FrameDropPhase::kBeforeEncoder:
|
||||
return "kBeforeEncoder";
|
||||
case FrameDropPhase::kByEncoder:
|
||||
return "kByEncoder";
|
||||
case FrameDropPhase::kTransport:
|
||||
return "kTransport";
|
||||
case FrameDropPhase::kAfterDecoder:
|
||||
return "kAfterDecoder";
|
||||
case FrameDropPhase::kLastValue:
|
||||
return "kLastValue";
|
||||
}
|
||||
}
|
||||
|
||||
std::ostream& operator<<(std::ostream& os, FrameDropPhase phase) {
|
||||
return os << ToString(phase);
|
||||
}
|
||||
rtc::StringBuilder& operator<<(rtc::StringBuilder& sb, FrameDropPhase phase) {
|
||||
return sb << ToString(phase);
|
||||
}
|
||||
|
||||
void SamplesRateCounter::AddEvent(Timestamp event_time) {
|
||||
if (event_first_time_.IsMinusInfinity()) {
|
||||
event_first_time_ = event_time;
|
||||
|
@ -13,6 +13,7 @@
|
||||
|
||||
#include <map>
|
||||
#include <memory>
|
||||
#include <ostream>
|
||||
#include <set>
|
||||
#include <string>
|
||||
#include <utility>
|
||||
@ -21,6 +22,7 @@
|
||||
#include "absl/types/optional.h"
|
||||
#include "api/numerics/samples_stats_counter.h"
|
||||
#include "api/units/timestamp.h"
|
||||
#include "rtc_base/strings/string_builder.h"
|
||||
|
||||
namespace webrtc {
|
||||
|
||||
@ -77,8 +79,14 @@ struct StreamCodecInfo {
|
||||
Timestamp switched_on_at = Timestamp::PlusInfinity();
|
||||
// Timestamp when this codec was used last time.
|
||||
Timestamp switched_from_at = Timestamp::PlusInfinity();
|
||||
|
||||
std::string ToString() const;
|
||||
};
|
||||
|
||||
std::ostream& operator<<(std::ostream& os, const StreamCodecInfo& state);
|
||||
rtc::StringBuilder& operator<<(rtc::StringBuilder& sb,
|
||||
const StreamCodecInfo& state);
|
||||
|
||||
// Represents phases where video frame can be dropped and such drop will be
|
||||
// detected by analyzer.
|
||||
enum class FrameDropPhase : int {
|
||||
@ -90,6 +98,10 @@ enum class FrameDropPhase : int {
|
||||
kLastValue
|
||||
};
|
||||
|
||||
std::string ToString(FrameDropPhase phase);
|
||||
std::ostream& operator<<(std::ostream& os, FrameDropPhase phase);
|
||||
rtc::StringBuilder& operator<<(rtc::StringBuilder& sb, FrameDropPhase phase);
|
||||
|
||||
struct StreamStats {
|
||||
explicit StreamStats(Timestamp stream_started_time);
|
||||
|
||||
|
Reference in New Issue
Block a user