| Index: webrtc/modules/video_coding/frame_buffer2.cc
|
| diff --git a/webrtc/modules/video_coding/frame_buffer2.cc b/webrtc/modules/video_coding/frame_buffer2.cc
|
| index a783657f3ef7cb7bda69211da1cc2224a453e1d3..b8a80e1f681cc77ae634ef7faf879d3b14ad156d 100644
|
| --- a/webrtc/modules/video_coding/frame_buffer2.cc
|
| +++ b/webrtc/modules/video_coding/frame_buffer2.cc
|
| @@ -59,8 +59,7 @@
|
|
|
| FrameBuffer::ReturnReason FrameBuffer::NextFrame(
|
| int64_t max_wait_time_ms,
|
| - std::unique_ptr<FrameObject>* frame_out,
|
| - bool keyframe_required) {
|
| + std::unique_ptr<FrameObject>* frame_out) {
|
| TRACE_EVENT0("webrtc", "FrameBuffer::NextFrame");
|
| int64_t latest_return_time_ms =
|
| clock_->TimeInMilliseconds() + max_wait_time_ms;
|
| @@ -106,10 +105,6 @@
|
| }
|
|
|
| FrameObject* frame = frame_it->second.frame.get();
|
| -
|
| - if (keyframe_required && !frame->is_keyframe())
|
| - continue;
|
| -
|
| next_frame_it_ = frame_it;
|
| if (frame->RenderTime() == -1)
|
| frame->SetRenderTime(timing_->RenderTimeMs(frame->timestamp, now_ms));
|
| @@ -277,7 +272,7 @@
|
| TRACE_EVENT0("webrtc", "FrameBuffer::InsertFrame");
|
| RTC_DCHECK(frame);
|
| if (stats_callback_)
|
| - stats_callback_->OnCompleteFrame(frame->is_keyframe(), frame->size());
|
| + stats_callback_->OnCompleteFrame(frame->num_references == 0, frame->size());
|
| FrameKey key(frame->picture_id, frame->spatial_layer);
|
|
|
| rtc::CritScope lock(&crit_);
|
| @@ -305,7 +300,7 @@
|
| if (last_decoded_frame_it_ != frames_.end() &&
|
| key <= last_decoded_frame_it_->first) {
|
| if (AheadOf(frame->timestamp, last_decoded_frame_timestamp_) &&
|
| - frame->is_keyframe()) {
|
| + frame->num_references == 0) {
|
| // If this frame has a newer timestamp but an earlier picture id then we
|
| // assume there has been a jump in the picture id due to some encoder
|
| // reconfiguration or some other reason. Even though this is not according
|
|
|