Propagate base minimum delay from video jitter buffer to webrtc/api.
On api level two methods were added to api/media_stream_interface.cc on VideoSourceInterface,
GetLatency and SetLatency. Latency is measured in seconds, delay in milliseconds but both describes
the same concept.
Bug: webrtc:10287
Change-Id: Ib8dc62a4d73f63fab7e10b82c716096ee6199957
Reviewed-on: https://webrtc-review.googlesource.com/c/123482
Commit-Queue: Ruslan Burakov <kuddai@google.com>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26877}
diff --git a/modules/video_coding/frame_buffer2.cc b/modules/video_coding/frame_buffer2.cc
index 6401117..e4def86 100644
--- a/modules/video_coding/frame_buffer2.cc
+++ b/modules/video_coding/frame_buffer2.cc
@@ -347,19 +347,6 @@
return true;
}
-void FrameBuffer::UpdatePlayoutDelays(const EncodedFrame& frame) {
- TRACE_EVENT0("webrtc", "FrameBuffer::UpdatePlayoutDelays");
- PlayoutDelay playout_delay = frame.EncodedImage().playout_delay_;
- if (playout_delay.min_ms >= 0)
- timing_->set_min_playout_delay(playout_delay.min_ms);
-
- if (playout_delay.max_ms >= 0)
- timing_->set_max_playout_delay(playout_delay.max_ms);
-
- if (!frame.delayed_by_retransmission())
- timing_->IncomingTimestamp(frame.Timestamp(), frame.ReceivedTime());
-}
-
int64_t FrameBuffer::InsertFrame(std::unique_ptr<EncodedFrame> frame) {
TRACE_EVENT0("webrtc", "FrameBuffer::InsertFrame");
RTC_DCHECK(frame);
@@ -449,7 +436,9 @@
if (!UpdateFrameInfoWithIncomingFrame(*frame, info))
return last_continuous_picture_id;
- UpdatePlayoutDelays(*frame);
+
+ if (!frame->delayed_by_retransmission())
+ timing_->IncomingTimestamp(frame->Timestamp(), frame->ReceivedTime());
info->second.frame = std::move(frame);