summaryrefslogtreecommitdiffstats
path: root/third_party/libwebrtc/video/video_receive_stream2.cc
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/libwebrtc/video/video_receive_stream2.cc')
-rw-r--r--third_party/libwebrtc/video/video_receive_stream2.cc21
1 files changed, 17 insertions, 4 deletions
diff --git a/third_party/libwebrtc/video/video_receive_stream2.cc b/third_party/libwebrtc/video/video_receive_stream2.cc
index 85cc0aa0dc..33e2f39ced 100644
--- a/third_party/libwebrtc/video/video_receive_stream2.cc
+++ b/third_party/libwebrtc/video/video_receive_stream2.cc
@@ -568,10 +568,7 @@ VideoReceiveStreamInterface::Stats VideoReceiveStream2::GetStats() const {
rtp_receive_statistics_->GetStatistician(rtx_ssrc());
if (rtx_statistician) {
stats.total_bitrate_bps += rtx_statistician->BitrateReceived();
- // TODO(bugs.webrtc.org/15096): remove kill-switch after rollout.
- if (!call_->trials().IsDisabled("WebRTC-Stats-RtxReceiveStats")) {
- stats.rtx_rtp_stats = rtx_statistician->GetStats();
- }
+ stats.rtx_rtp_stats = rtx_statistician->GetStats();
}
}
@@ -917,6 +914,22 @@ int VideoReceiveStream2::DecodeAndMaybeDispatchEncodedFrame(
}
int decode_result = video_receiver_.Decode(frame_ptr);
+ if (decode_result < WEBRTC_VIDEO_CODEC_OK) {
+ // Asynchronous decoders may delay error reporting, potentially resulting in
+ // error reports reflecting issues that occurred several frames back.
+ RTC_LOG(LS_WARNING)
+ << "Failed to decode frame. Return code: " << decode_result
+ << ", SSRC: " << remote_ssrc()
+ << ", frame RTP timestamp: " << frame_ptr->RtpTimestamp()
+ << ", type: " << VideoFrameTypeToString(frame_ptr->FrameType())
+ << ", size: " << frame_ptr->size()
+ << ", width: " << frame_ptr->_encodedWidth
+ << ", height: " << frame_ptr->_encodedHeight
+ << ", spatial idx: " << frame_ptr->SpatialIndex().value_or(-1)
+ << ", temporal idx: " << frame_ptr->TemporalIndex().value_or(-1)
+ << ", id: " << frame_ptr->Id();
+ }
+
if (encoded_frame_output_enabled) {
absl::optional<RecordableEncodedFrame::EncodedResolution>
pending_resolution;