#include "third_party/blink/renderer/modules/peerconnection/media_stream_track_metrics.h"
#include <inttypes.h>
#include <string>
#include "base/hash/md5.h"
#include "base/memory/raw_ptr.h"
#include "base/numerics/byte_conversions.h"
#include "base/ranges/algorithm.h"
#include "base/strings/stringprintf.h"
#include "base/threading/thread_checker.h"
#include "third_party/blink/public/common/thread_safe_browser_interface_broker_proxy.h"
#include "third_party/blink/public/platform/platform.h"
namespace blink {
class MediaStreamTrackMetricsObserver { … };
MediaStreamTrackMetricsObserver::MediaStreamTrackMetricsObserver(
MediaStreamTrackMetrics::Direction direction,
MediaStreamTrackMetrics::Kind kind,
std::string track_id,
MediaStreamTrackMetrics* owner)
: … { … }
MediaStreamTrackMetricsObserver::~MediaStreamTrackMetricsObserver() { … }
void MediaStreamTrackMetricsObserver::SendLifetimeMessageForTrack(
MediaStreamTrackMetrics::LifetimeEvent event) { … }
MediaStreamTrackMetrics::MediaStreamTrackMetrics()
: … { … }
MediaStreamTrackMetrics::~MediaStreamTrackMetrics() { … }
void MediaStreamTrackMetrics::AddTrack(Direction direction,
Kind kind,
const std::string& track_id) { … }
void MediaStreamTrackMetrics::RemoveTrack(Direction direction,
Kind kind,
const std::string& track_id) { … }
void MediaStreamTrackMetrics::IceConnectionChange(
webrtc::PeerConnectionInterface::IceConnectionState new_state) { … }
void MediaStreamTrackMetrics::SendLifeTimeMessageDependingOnIceState(
MediaStreamTrackMetricsObserver* observer) { … }
void MediaStreamTrackMetrics::SendLifetimeMessage(const std::string& track_id,
Kind kind,
LifetimeEvent event,
Direction direction) { … }
uint64_t MediaStreamTrackMetrics::MakeUniqueIdImpl(uint64_t pc_id,
const std::string& track_id,
Direction direction) { … }
uint64_t MediaStreamTrackMetrics::MakeUniqueId(const std::string& track_id,
Direction direction) { … }
mojo::Remote<blink::mojom::blink::MediaStreamTrackMetricsHost>&
MediaStreamTrackMetrics::GetMediaStreamTrackMetricsHost() { … }
}