Skip to content

Commit 39250a4

Browse files
rasmusbrandtWebRTC LUCI CQ
authored andcommitted
Rename and move VCMReceiveStatisticsCallback closer to its users.
The VCMReceiveStatisticsCallback interface is both implemented (by ReceiveStatisticsProxy) and called (by VideoStreamBufferController) in `video/`, so there's no reason it should be declared in `modules/video_coding`. I also took the opportunity to update the name. No functional changes are intended by this change, but following CLs will make some changes. Bug: webrtc:15085 Change-Id: Ib8da30ca56675e4f638d0b9778c329b9c1138acf Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/304662 Reviewed-by: Åsa Persson <[email protected]> Commit-Queue: Rasmus Brandt <[email protected]> Cr-Commit-Position: refs/heads/main@{#40034}
1 parent 6456952 commit 39250a4

File tree

6 files changed

+32
-35
lines changed

6 files changed

+32
-35
lines changed

modules/video_coding/include/video_coding_defines.h

Lines changed: 0 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -66,29 +66,6 @@ class VCMReceiveCallback {
6666
virtual ~VCMReceiveCallback() {}
6767
};
6868

69-
// Callback class used for informing the user of the incoming bit rate and frame
70-
// rate.
71-
class VCMReceiveStatisticsCallback {
72-
public:
73-
virtual void OnCompleteFrame(bool is_keyframe,
74-
size_t size_bytes,
75-
VideoContentType content_type) = 0;
76-
77-
virtual void OnDroppedFrames(uint32_t frames_dropped) = 0;
78-
79-
virtual void OnFrameBufferTimingsUpdated(int estimated_max_decode_time_ms,
80-
int current_delay_ms,
81-
int target_delay_ms,
82-
int jitter_buffer_ms,
83-
int min_playout_delay_ms,
84-
int render_delay_ms) = 0;
85-
86-
virtual void OnTimingFrameInfoUpdated(const TimingFrameInfo& info) = 0;
87-
88-
protected:
89-
virtual ~VCMReceiveStatisticsCallback() {}
90-
};
91-
9269
// Callback class used for telling the user about what frame type needed to
9370
// continue decoding.
9471
// Typically a key frame when the stream has been corrupted in some way.

video/BUILD.gn

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -252,7 +252,6 @@ rtc_library("video_stream_buffer_controller") {
252252
"../api/video:video_rtp_headers",
253253
"../modules/video_coding",
254254
"../modules/video_coding:frame_helpers",
255-
"../modules/video_coding:video_codec_interface",
256255
"../modules/video_coding/timing:inter_frame_delay_variation_calculator",
257256
"../modules/video_coding/timing:jitter_estimator",
258257
"../modules/video_coding/timing:timing_module",

video/receive_statistics_proxy.h

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@
2424
#include "api/video_codecs/video_decoder.h"
2525
#include "call/video_receive_stream.h"
2626
#include "modules/include/module_common_types.h"
27-
#include "modules/video_coding/include/video_coding_defines.h"
2827
#include "rtc_base/numerics/histogram_percentile_counter.h"
2928
#include "rtc_base/numerics/moving_max_counter.h"
3029
#include "rtc_base/numerics/sample_counter.h"
@@ -35,6 +34,7 @@
3534
#include "video/quality_threshold.h"
3635
#include "video/stats_counter.h"
3736
#include "video/video_quality_observer2.h"
37+
#include "video/video_stream_buffer_controller.h"
3838

3939
namespace webrtc {
4040

@@ -45,7 +45,7 @@ namespace internal {
4545
// Declared in video_receive_stream2.h.
4646
struct VideoFrameMetaData;
4747

48-
class ReceiveStatisticsProxy : public VCMReceiveStatisticsCallback,
48+
class ReceiveStatisticsProxy : public VideoStreamBufferControllerStatsObserver,
4949
public RtcpCnameCallback,
5050
public RtcpPacketTypeCounterObserver {
5151
public:
@@ -85,7 +85,7 @@ class ReceiveStatisticsProxy : public VCMReceiveStatisticsCallback,
8585
// Indicates video stream has been paused (no incoming packets).
8686
void OnStreamInactive();
8787

88-
// Overrides VCMReceiveStatisticsCallback.
88+
// Implements VideoStreamBufferControllerStatsObserver.
8989
void OnCompleteFrame(bool is_keyframe,
9090
size_t size_bytes,
9191
VideoContentType content_type) override;
@@ -99,10 +99,10 @@ class ReceiveStatisticsProxy : public VCMReceiveStatisticsCallback,
9999

100100
void OnTimingFrameInfoUpdated(const TimingFrameInfo& info) override;
101101

102-
// Overrides RtcpCnameCallback.
102+
// Implements RtcpCnameCallback.
103103
void OnCname(uint32_t ssrc, absl::string_view cname) override;
104104

105-
// Overrides RtcpPacketTypeCounterObserver.
105+
// Implements RtcpPacketTypeCounterObserver.
106106
void RtcpPacketTypesCounterUpdated(
107107
uint32_t ssrc,
108108
const RtcpPacketTypeCounter& packet_counter) override;

video/video_stream_buffer_controller.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ VideoStreamBufferController::VideoStreamBufferController(
7979
Clock* clock,
8080
TaskQueueBase* worker_queue,
8181
VCMTiming* timing,
82-
VCMReceiveStatisticsCallback* stats_proxy,
82+
VideoStreamBufferControllerStatsObserver* stats_proxy,
8383
FrameSchedulingReceiver* receiver,
8484
TimeDelta max_wait_for_keyframe,
8585
TimeDelta max_wait_for_frame,

video/video_stream_buffer_controller.h

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
#include "api/task_queue/task_queue_base.h"
1818
#include "api/video/encoded_frame.h"
1919
#include "api/video/frame_buffer.h"
20-
#include "modules/video_coding/include/video_coding_defines.h"
2120
#include "modules/video_coding/timing/inter_frame_delay_variation_calculator.h"
2221
#include "modules/video_coding/timing/jitter_estimator.h"
2322
#include "modules/video_coding/timing/timing.h"
@@ -36,13 +35,33 @@ class FrameSchedulingReceiver {
3635
virtual void OnDecodableFrameTimeout(TimeDelta wait_time) = 0;
3736
};
3837

38+
class VideoStreamBufferControllerStatsObserver {
39+
public:
40+
virtual ~VideoStreamBufferControllerStatsObserver() = default;
41+
42+
virtual void OnCompleteFrame(bool is_keyframe,
43+
size_t size_bytes,
44+
VideoContentType content_type) = 0;
45+
46+
virtual void OnDroppedFrames(uint32_t frames_dropped) = 0;
47+
48+
virtual void OnFrameBufferTimingsUpdated(int estimated_max_decode_time_ms,
49+
int current_delay_ms,
50+
int target_delay_ms,
51+
int jitter_buffer_ms,
52+
int min_playout_delay_ms,
53+
int render_delay_ms) = 0;
54+
55+
virtual void OnTimingFrameInfoUpdated(const TimingFrameInfo& info) = 0;
56+
};
57+
3958
class VideoStreamBufferController {
4059
public:
4160
VideoStreamBufferController(
4261
Clock* clock,
4362
TaskQueueBase* worker_queue,
4463
VCMTiming* timing,
45-
VCMReceiveStatisticsCallback* stats_proxy,
64+
VideoStreamBufferControllerStatsObserver* stats_proxy,
4665
FrameSchedulingReceiver* receiver,
4766
TimeDelta max_wait_for_keyframe,
4867
TimeDelta max_wait_for_frame,
@@ -78,7 +97,7 @@ class VideoStreamBufferController {
7897
const absl::optional<RttMultExperiment::Settings> rtt_mult_settings_ =
7998
RttMultExperiment::GetRttMultValue();
8099
Clock* const clock_;
81-
VCMReceiveStatisticsCallback* const stats_proxy_;
100+
VideoStreamBufferControllerStatsObserver* const stats_proxy_;
82101
FrameSchedulingReceiver* const receiver_;
83102
VCMTiming* const timing_;
84103
const std::unique_ptr<FrameDecodeScheduler> frame_decode_scheduler_

video/video_stream_buffer_controller_unittest.cc

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,8 @@ class VCMTimingTest : public VCMTiming {
9595
());
9696
};
9797

98-
class VCMReceiveStatisticsCallbackMock : public VCMReceiveStatisticsCallback {
98+
class VideoStreamBufferControllerStatsObserverMock
99+
: public VideoStreamBufferControllerStatsObserver {
99100
public:
100101
MOCK_METHOD(void,
101102
OnCompleteFrame,
@@ -225,7 +226,8 @@ class VideoStreamBufferControllerFixture
225226
DecodeSynchronizer decode_sync_;
226227

227228
::testing::NiceMock<VCMTimingTest> timing_;
228-
::testing::NiceMock<VCMReceiveStatisticsCallbackMock> stats_callback_;
229+
::testing::NiceMock<VideoStreamBufferControllerStatsObserverMock>
230+
stats_callback_;
229231
std::unique_ptr<VideoStreamBufferController> buffer_;
230232

231233
private:

0 commit comments

Comments
 (0)