Remove dependency on VideoReceiveStream::Config from ReceiveStatisticsProxy
Bug: none Change-Id: Ib8238ed6b099c558733496b13bdf37e6b5a2021c Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/235362 Reviewed-by: Niels Moller <nisse@webrtc.org> Commit-Queue: Tommi <tommi@webrtc.org> Cr-Commit-Position: refs/heads/main@{#35218}
This commit is contained in:
parent
15a2159a35
commit
ad22572986
@ -80,11 +80,9 @@ std::string UmaSuffixForContentType(VideoContentType content_type) {
|
||||
|
||||
} // namespace
|
||||
|
||||
ReceiveStatisticsProxy::ReceiveStatisticsProxy(
|
||||
const VideoReceiveStream::Config* config,
|
||||
ReceiveStatisticsProxy::ReceiveStatisticsProxy(uint32_t remote_ssrc,
|
||||
Clock* clock)
|
||||
: clock_(clock),
|
||||
config_(*config),
|
||||
start_ms_(clock->TimeInMilliseconds()),
|
||||
enable_decode_time_histograms_(
|
||||
!field_trial::IsEnabled("WebRTC-DecodeTimeHistogramsKillSwitch")),
|
||||
@ -120,7 +118,7 @@ ReceiveStatisticsProxy::ReceiveStatisticsProxy(
|
||||
timing_frame_info_counter_(kMovingMaxWindowMs) {
|
||||
decode_thread_.Detach();
|
||||
network_thread_.Detach();
|
||||
stats_.ssrc = config_.rtp.remote_ssrc;
|
||||
stats_.ssrc = remote_ssrc;
|
||||
}
|
||||
|
||||
void ReceiveStatisticsProxy::UpdateHistograms(
|
||||
|
||||
@ -42,8 +42,11 @@ class ReceiveStatisticsProxy : public VCMReceiveStatisticsCallback,
|
||||
public RtcpPacketTypeCounterObserver,
|
||||
public CallStatsObserver {
|
||||
public:
|
||||
ReceiveStatisticsProxy(const VideoReceiveStream::Config* config,
|
||||
Clock* clock);
|
||||
// TODO(tommi): Remove when downstream callers have been fixed.
|
||||
// DEPRECATED ctor.
|
||||
ReceiveStatisticsProxy(const VideoReceiveStream::Config* config, Clock* clock)
|
||||
: ReceiveStatisticsProxy(config->rtp.remote_ssrc, clock) {}
|
||||
ReceiveStatisticsProxy(uint32_t remote_ssrc, Clock* clock);
|
||||
~ReceiveStatisticsProxy() = default;
|
||||
|
||||
VideoReceiveStream::Stats GetStats() const;
|
||||
@ -139,14 +142,6 @@ class ReceiveStatisticsProxy : public VCMReceiveStatisticsCallback,
|
||||
int64_t now_ms) const RTC_EXCLUSIVE_LOCKS_REQUIRED(mutex_);
|
||||
|
||||
Clock* const clock_;
|
||||
// Ownership of this object lies with the owner of the ReceiveStatisticsProxy
|
||||
// instance. Lifetime is guaranteed to outlive `this`.
|
||||
// TODO(tommi): In practice the config_ reference is only used for accessing
|
||||
// config_.rtp.ulpfec.ulpfec_payload_type. Instead of holding a pointer back,
|
||||
// we could just store the value of ulpfec_payload_type and change the
|
||||
// ReceiveStatisticsProxy() ctor to accept a const& of Config (since we'll
|
||||
// then no longer store a pointer to the object).
|
||||
const VideoReceiveStream::Config& config_;
|
||||
const int64_t start_ms_;
|
||||
const bool enable_decode_time_histograms_;
|
||||
|
||||
|
||||
@ -45,7 +45,8 @@ class ReceiveStatisticsProxyTest : public ::testing::Test {
|
||||
protected:
|
||||
virtual void SetUp() {
|
||||
metrics::Reset();
|
||||
statistics_proxy_.reset(new ReceiveStatisticsProxy(&config_, &fake_clock_));
|
||||
statistics_proxy_.reset(
|
||||
new ReceiveStatisticsProxy(config_.rtp.remote_ssrc, &fake_clock_));
|
||||
}
|
||||
|
||||
VideoReceiveStream::Config GetTestConfig() {
|
||||
|
||||
@ -171,7 +171,7 @@ VideoReceiveStream::VideoReceiveStream(
|
||||
clock_(clock),
|
||||
call_stats_(call_stats),
|
||||
source_tracker_(clock_),
|
||||
stats_proxy_(&config_, clock_),
|
||||
stats_proxy_(config_.rtp.remote_ssrc, clock_),
|
||||
rtp_receive_statistics_(ReceiveStatistics::Create(clock_)),
|
||||
timing_(timing),
|
||||
video_receiver_(clock_, timing_.get()),
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user