#include "test/pc/e2e/analyzer/video/default_video_quality_analyzer_stream_state.h"
#include <set>
#include <unordered_map>
#include "absl/types/optional.h"
#include "api/units/timestamp.h"
#include "rtc_base/checks.h"
#include "system_wrappers/include/clock.h"
#include "test/pc/e2e/analyzer/video/dvqa/pausable_state.h"
namespace webrtc {
namespace {
template <typename T>
absl::optional<T> MaybeGetValue(const std::unordered_map<size_t, T>& map,
size_t key) { … }
}
StreamState::StreamState(size_t sender,
std::set<size_t> receivers,
Timestamp stream_started_time,
Clock* clock)
: … { … }
uint16_t StreamState::PopFront(size_t peer) { … }
void StreamState::AddPeer(size_t peer) { … }
void StreamState::RemovePeer(size_t peer) { … }
PausableState* StreamState::GetPausableState(size_t peer) { … }
void StreamState::SetLastRenderedFrameTime(size_t peer, Timestamp time) { … }
absl::optional<Timestamp> StreamState::last_rendered_frame_time(
size_t peer) const { … }
size_t StreamState::GetLongestReceiverQueue() const { … }
}