Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(28)

Issue 2993793002: Request keyframes more frequently on stream start/decoding error. (Closed)

Created:
3 years, 4 months ago by philipel
Modified:
3 years, 4 months ago
CC:
webrtc-reviews_webrtc.org, video-team_agora.io, yujie_mao (webrtc), zhengzhonghou_agora.io, tterriberry_mozilla.com, mflodman
Target Ref:
refs/heads/master
Project:
webrtc
Visibility:
Public.

Description

Request keyframes more frequently on stream start/decoding error. In this CL: - Added FrameObject::is_keyframe() convinience function. - Moved logic to request keyframes on decoding error from VideoReceived to VideoReceiveStream. - Added keyframe_required as a parameter to FrameBuffer::NextFrame. BUG=webrtc:8074 Review-Url: https://codereview.webrtc.org/2993793002 Cr-Commit-Position: refs/heads/master@{#19280} Committed: https://chromium.googlesource.com/external/webrtc/+/26b48043581735eed6e36b95fae6f5b1bcf8cfb5

Patch Set 1 #

Total comments: 18
Unified diffs Side-by-side diffs Delta from patch set Stats (+43 lines, -27 lines) Patch
M webrtc/modules/video_coding/frame_buffer2.h View 1 chunk +2 lines, -1 line 0 comments Download
M webrtc/modules/video_coding/frame_buffer2.cc View 4 chunks +8 lines, -3 lines 0 comments Download
M webrtc/modules/video_coding/frame_buffer2_unittest.cc View 2 chunks +16 lines, -2 lines 0 comments Download
M webrtc/modules/video_coding/frame_object.h View 1 chunk +2 lines, -0 lines 0 comments Download
M webrtc/modules/video_coding/video_receiver.cc View 1 chunk +1 line, -18 lines 5 comments Download
M webrtc/video/video_receive_stream.h View 1 chunk +4 lines, -0 lines 0 comments Download
M webrtc/video/video_receive_stream.cc View 3 chunks +10 lines, -3 lines 13 comments Download

Messages

Total messages: 27 (9 generated)
philipel
https://codereview.webrtc.org/2993793002/diff/1/webrtc/modules/video_coding/video_receiver.cc File webrtc/modules/video_coding/video_receiver.cc (left): https://codereview.webrtc.org/2993793002/diff/1/webrtc/modules/video_coding/video_receiver.cc#oldcode332 webrtc/modules/video_coding/video_receiver.cc:332: if (!frame.Complete() || frame.MissingFrame()) { I assume this if ...
3 years, 4 months ago (2017-08-07 11:43:35 UTC) #2
stefan-webrtc
https://codereview.webrtc.org/2993793002/diff/1/webrtc/video/video_receive_stream.cc File webrtc/video/video_receive_stream.cc (right): https://codereview.webrtc.org/2993793002/diff/1/webrtc/video/video_receive_stream.cc#newcode509 webrtc/video/video_receive_stream.cc:509: keyframe_required_ = false; Is this the behavior we want? ...
3 years, 4 months ago (2017-08-07 11:54:38 UTC) #5
philipel
https://codereview.webrtc.org/2993793002/diff/1/webrtc/video/video_receive_stream.cc File webrtc/video/video_receive_stream.cc (right): https://codereview.webrtc.org/2993793002/diff/1/webrtc/video/video_receive_stream.cc#newcode509 webrtc/video/video_receive_stream.cc:509: keyframe_required_ = false; On 2017/08/07 11:54:38, stefan-webrtc wrote: > ...
3 years, 4 months ago (2017-08-07 11:59:34 UTC) #6
terelius
https://codereview.webrtc.org/2993793002/diff/1/webrtc/modules/video_coding/video_receiver.cc File webrtc/modules/video_coding/video_receiver.cc (left): https://codereview.webrtc.org/2993793002/diff/1/webrtc/modules/video_coding/video_receiver.cc#oldcode332 webrtc/modules/video_coding/video_receiver.cc:332: if (!frame.Complete() || frame.MissingFrame()) { On 2017/08/07 11:43:34, philipel ...
3 years, 4 months ago (2017-08-07 12:00:06 UTC) #7
philipel
https://codereview.webrtc.org/2993793002/diff/1/webrtc/video/video_receive_stream.cc File webrtc/video/video_receive_stream.cc (right): https://codereview.webrtc.org/2993793002/diff/1/webrtc/video/video_receive_stream.cc#newcode494 webrtc/video/video_receive_stream.cc:494: static const int kMaxWaitForKeyFrameMs = 200; On 2017/08/07 12:00:06, ...
3 years, 4 months ago (2017-08-07 12:09:07 UTC) #8
stefan-webrtc
https://codereview.webrtc.org/2993793002/diff/1/webrtc/modules/video_coding/video_receiver.cc File webrtc/modules/video_coding/video_receiver.cc (left): https://codereview.webrtc.org/2993793002/diff/1/webrtc/modules/video_coding/video_receiver.cc#oldcode332 webrtc/modules/video_coding/video_receiver.cc:332: if (!frame.Complete() || frame.MissingFrame()) { On 2017/08/07 12:00:05, terelius ...
3 years, 4 months ago (2017-08-07 12:24:53 UTC) #11
terelius
lgtm https://codereview.webrtc.org/2993793002/diff/1/webrtc/video/video_receive_stream.cc File webrtc/video/video_receive_stream.cc (right): https://codereview.webrtc.org/2993793002/diff/1/webrtc/video/video_receive_stream.cc#newcode512 webrtc/video/video_receive_stream.cc:512: keyframe_required_ = true; On 2017/08/07 12:09:07, philipel wrote: ...
3 years, 4 months ago (2017-08-07 12:48:56 UTC) #12
philipel
https://codereview.webrtc.org/2993793002/diff/1/webrtc/modules/video_coding/video_receiver.cc File webrtc/modules/video_coding/video_receiver.cc (left): https://codereview.webrtc.org/2993793002/diff/1/webrtc/modules/video_coding/video_receiver.cc#oldcode338 webrtc/modules/video_coding/video_receiver.cc:338: _scheduleKeyRequest = true; On 2017/08/07 12:24:53, stefan-webrtc wrote: > ...
3 years, 4 months ago (2017-08-07 13:30:11 UTC) #13
noahric
https://codereview.webrtc.org/2993793002/diff/1/webrtc/video/video_receive_stream.cc File webrtc/video/video_receive_stream.cc (right): https://codereview.webrtc.org/2993793002/diff/1/webrtc/video/video_receive_stream.cc#newcode494 webrtc/video/video_receive_stream.cc:494: static const int kMaxWaitForKeyFrameMs = 200; On 2017/08/07 12:09:07, ...
3 years, 4 months ago (2017-08-07 15:12:30 UTC) #15
philipel
https://codereview.webrtc.org/2993793002/diff/1/webrtc/video/video_receive_stream.cc File webrtc/video/video_receive_stream.cc (right): https://codereview.webrtc.org/2993793002/diff/1/webrtc/video/video_receive_stream.cc#newcode494 webrtc/video/video_receive_stream.cc:494: static const int kMaxWaitForKeyFrameMs = 200; On 2017/08/07 15:12:29, ...
3 years, 4 months ago (2017-08-07 16:27:49 UTC) #16
noahric
https://codereview.webrtc.org/2993793002/diff/1/webrtc/video/video_receive_stream.cc File webrtc/video/video_receive_stream.cc (right): https://codereview.webrtc.org/2993793002/diff/1/webrtc/video/video_receive_stream.cc#newcode494 webrtc/video/video_receive_stream.cc:494: static const int kMaxWaitForKeyFrameMs = 200; On 2017/08/07 16:27:49, ...
3 years, 4 months ago (2017-08-07 16:48:45 UTC) #17
noahric
On 2017/08/07 16:48:45, noahric wrote: > https://codereview.webrtc.org/2993793002/diff/1/webrtc/video/video_receive_stream.cc > File webrtc/video/video_receive_stream.cc (right): > > https://codereview.webrtc.org/2993793002/diff/1/webrtc/video/video_receive_stream.cc#newcode494 > ...
3 years, 4 months ago (2017-08-07 16:50:08 UTC) #18
stefan-webrtc
On 2017/08/07 16:50:08, noahric wrote: > On 2017/08/07 16:48:45, noahric wrote: > > > https://codereview.webrtc.org/2993793002/diff/1/webrtc/video/video_receive_stream.cc ...
3 years, 4 months ago (2017-08-09 06:56:58 UTC) #19
stefan-webrtc
lgtm https://codereview.webrtc.org/2993793002/diff/1/webrtc/video/video_receive_stream.cc File webrtc/video/video_receive_stream.cc (right): https://codereview.webrtc.org/2993793002/diff/1/webrtc/video/video_receive_stream.cc#newcode509 webrtc/video/video_receive_stream.cc:509: keyframe_required_ = false; On 2017/08/07 13:30:11, philipel wrote: ...
3 years, 4 months ago (2017-08-09 07:02:36 UTC) #20
philipel
On 2017/08/09 07:02:36, stefan-webrtc wrote: > lgtm > > https://codereview.webrtc.org/2993793002/diff/1/webrtc/video/video_receive_stream.cc > File webrtc/video/video_receive_stream.cc (right): > ...
3 years, 4 months ago (2017-08-09 09:54:36 UTC) #21
commit-bot: I haz the power
CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.webrtc.org/2993793002/1
3 years, 4 months ago (2017-08-09 09:55:08 UTC) #23
commit-bot: I haz the power
Committed patchset #1 (id:1) as https://chromium.googlesource.com/external/webrtc/+/26b48043581735eed6e36b95fae6f5b1bcf8cfb5
3 years, 4 months ago (2017-08-09 10:34:08 UTC) #26
Taylor Brandstetter
3 years, 4 months ago (2017-08-09 22:55:25 UTC) #27
Message was sent while issue was closed.
A revert of this CL (patchset #1 id:1) has been created in
https://codereview.webrtc.org/2994043002/ by deadbeef@webrtc.org.

The reason for reverting is: Broke downstream test that was waiting for 5
keyframes to be received within 10 seconds. Maybe the issue is that
"stats_callback_->OnCompleteFrame(frame->num_references == 0, ..." was changed
to "frame->is_keyframe()"?.

Powered by Google App Engine
This is Rietveld 408576698