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

Issue 1419673014: Remove frame time scheduing in IncomingVideoStream (Closed)

Created:
5 years, 1 month ago by qiangchen
Modified:
5 years ago
CC:
webrtc-reviews_webrtc.org, tterriberry_mozilla.com, niklas.enbom, perkj_webrtc, magjed_webrtc
Base URL:
https://chromium.googlesource.com/external/webrtc.git@master
Target Ref:
refs/pending/heads/master
Project:
webrtc
Visibility:
Public.

Description

Remove frame time scheduing in IncomingVideoStream This is part of the project that makes RTC rendering more smooth. We've already finished the developement of the frame selection algorithm in WebMediaPlayerMS, where we managed a frame pool, and based on the vsync interval, we actively select the best frame to render in order to maximize the rendering smoothness. Thus the frame timeline control in IncomingVideoStream is no longer needed, because with sophisticated frame selection algorithm in WebMediaPlayerMS, the time control in IncomingVideoStream will do nothing but add some extra delay. BUG=514873 Committed: https://crrev.com/444682acf9804c5fcbddaded9e900ba3cc6921fc Cr-Commit-Position: refs/heads/master@{#10781}

Patch Set 1 : Totally disable the functionality #

Total comments: 2

Patch Set 2 : Method A: pass the flag through constructor #

Total comments: 6

Patch Set 3 : Method A: Move flag from Config to VideoRenderer #

Patch Set 4 : Method A: Rename flag to renderer_can_schedule_frames #

Patch Set 5 : Rebase #

Total comments: 4

Patch Set 6 : Rename flag to disable_prerenderer_smoothing #

Total comments: 12

Patch Set 7 : Pass bool into IncomingVideoStream, Remove thread in disabled case #

Total comments: 4

Patch Set 8 : Rename #

Patch Set 9 : Rebase #

Patch Set 10 : Remove unnecessary if #

Unified diffs Side-by-side diffs Delta from patch set Stats (+105 lines, -57 lines) Patch
M talk/app/webrtc/peerconnectioninterface.h View 1 2 3 4 5 2 chunks +3 lines, -2 lines 0 comments Download
M talk/app/webrtc/webrtcsession.cc View 1 2 3 4 5 6 7 8 1 chunk +2 lines, -0 lines 0 comments Download
M talk/media/base/mediachannel.h View 1 2 3 4 5 3 chunks +11 lines, -1 line 0 comments Download
M talk/media/webrtc/webrtcvideoengine2.h View 1 2 3 4 5 6 7 8 3 chunks +5 lines, -1 line 0 comments Download
M talk/media/webrtc/webrtcvideoengine2.cc View 1 2 3 4 5 6 7 8 4 chunks +9 lines, -2 lines 0 comments Download
M webrtc/common_video/include/incoming_video_stream.h View 1 2 3 4 5 6 7 8 3 chunks +5 lines, -1 line 0 comments Download
M webrtc/common_video/incoming_video_stream.cc View 1 2 3 4 5 6 7 8 9 6 chunks +59 lines, -47 lines 0 comments Download
M webrtc/modules/video_render/video_render_impl.cc View 1 2 3 4 5 6 1 chunk +2 lines, -1 line 0 comments Download
M webrtc/modules/video_render/video_render_internal_impl.cc View 1 2 3 4 5 6 1 chunk +2 lines, -1 line 0 comments Download
M webrtc/video/video_receive_stream.cc View 1 2 3 4 5 6 7 8 1 chunk +2 lines, -1 line 0 comments Download
M webrtc/video_renderer.h View 1 2 3 4 5 6 7 1 chunk +5 lines, -0 lines 0 comments Download

Messages

Total messages: 55 (25 generated)
qiangchen
Hi, Niklas: Can you take a preliminary look at this CL. It is doing what ...
5 years, 1 month ago (2015-11-05 22:14:01 UTC) #6
Niklas Enbom
You can't nuke this functionality completely since it's being used in non-Chrome use cases. You ...
5 years, 1 month ago (2015-11-05 22:34:10 UTC) #7
qiangchen
On 2015/11/05 22:34:10, Niklas Enbom wrote: > You can't nuke this functionality completely since it's ...
5 years, 1 month ago (2015-11-06 17:14:37 UTC) #8
Niklas Enbom
I suggest you reach out to pbos and mflodman to get some input on how ...
5 years, 1 month ago (2015-11-06 17:15:59 UTC) #9
pbos-webrtc
Yeah, this seems a bit drastic for non-Chromium cases. You should be able to get ...
5 years, 1 month ago (2015-11-10 18:41:57 UTC) #11
pbos-webrtc
I believe you wanna add a virtual bool HandlesRenderTiming() const; to: https://chromium.googlesource.com/external/webrtc/+/ed8275a44fc13015e6784bf0aba942e836f8d4b7/webrtc/video_renderer.h How to get ...
5 years, 1 month ago (2015-11-10 18:51:59 UTC) #12
qiangchen
Patch 2 is the implementation of 3.C in the design doc. PTAL. https://codereview.chromium.org/1419673014/diff/20001/webrtc/common_video/video_render_frames.cc File webrtc/common_video/video_render_frames.cc ...
5 years, 1 month ago (2015-11-13 20:23:01 UTC) #13
pbos
+R pthatcher@, can you look at talk/ parts? https://codereview.chromium.org/1419673014/diff/40001/talk/media/webrtc/webrtcvideoengine2.cc File talk/media/webrtc/webrtcvideoengine2.cc (right): https://codereview.chromium.org/1419673014/diff/40001/talk/media/webrtc/webrtcvideoengine2.cc#newcode1229 talk/media/webrtc/webrtcvideoengine2.cc:1229: config.renderer_has_time_control ...
5 years, 1 month ago (2015-11-16 18:38:46 UTC) #15
pbos
https://codereview.chromium.org/1419673014/diff/40001/talk/media/webrtc/webrtcvideoengine2.cc File talk/media/webrtc/webrtcvideoengine2.cc (right): https://codereview.chromium.org/1419673014/diff/40001/talk/media/webrtc/webrtcvideoengine2.cc#newcode1229 talk/media/webrtc/webrtcvideoengine2.cc:1229: config.renderer_has_time_control = options_.renderer_has_time_control; On 2015/11/16 18:38:46, pbos wrote: > ...
5 years, 1 month ago (2015-11-16 18:40:55 UTC) #16
pthatcher1
lgtm of talk/ parts, except that I think there must be a better name than ...
5 years, 1 month ago (2015-11-16 20:25:28 UTC) #17
qiangchen
Publish some replies first. I'll 1. Move the flag from Config to VideoRenderer, as suggested ...
5 years, 1 month ago (2015-11-16 20:44:14 UTC) #18
qiangchen
Implemented the other way as pthatcher suggested to store the flag in WebRtcVideoEngine2 as Patch4. ...
5 years, 1 month ago (2015-11-17 00:09:28 UTC) #20
qiangchen
Rename the flag to a more descriptive name: renderer_can_schedule_frames. mflodman@: Can you take a look ...
5 years, 1 month ago (2015-11-17 19:08:12 UTC) #22
qiangchen
ping mflodman@ to take a look at it.
5 years, 1 month ago (2015-11-19 17:34:06 UTC) #29
pthatcher1
I'm picky about names, and I'd like to see this one match it's real meaning ...
5 years, 1 month ago (2015-11-19 22:19:25 UTC) #30
qiangchen
ping mflodman@ again. Renamed the flag to disable_prerenderer_smoothing, as it is more descriptive. https://codereview.chromium.org/1419673014/diff/240001/talk/media/base/mediachannel.h File ...
5 years, 1 month ago (2015-11-20 17:54:06 UTC) #31
pthatcher1
lgtm
5 years, 1 month ago (2015-11-20 22:09:46 UTC) #32
pbos-webrtc
I'm thinking of maybe calling VideoRenderer::PrerenderSmoothingDisabled() -> VideoRenderer::SchedulesRenderedFrames() because it's a property of the VideoRenderer ...
5 years ago (2015-11-23 14:28:05 UTC) #34
mflodman
https://codereview.chromium.org/1419673014/diff/260001/talk/media/webrtc/webrtcvideoengine2.cc File talk/media/webrtc/webrtcvideoengine2.cc (right): https://codereview.chromium.org/1419673014/diff/260001/talk/media/webrtc/webrtcvideoengine2.cc#newcode2348 talk/media/webrtc/webrtcvideoengine2.cc:2348: WebRtcVideoChannel2::WebRtcVideoReceiveStream::WebRtcVideoReceiveStream( I'd prefer to only have on constructor. https://codereview.chromium.org/1419673014/diff/260001/webrtc/common_video/include/incoming_video_stream.h ...
5 years ago (2015-11-23 14:43:44 UTC) #35
pthatcher1
On 2015/11/23 14:28:05, pbos-webrtc wrote: > I'm thinking of maybe calling VideoRenderer::PrerenderSmoothingDisabled() -> > VideoRenderer::SchedulesRenderedFrames() ...
5 years ago (2015-11-23 21:39:46 UTC) #36
pthatcher1
On 2015/11/23 14:28:05, pbos-webrtc wrote: > I'm thinking of maybe calling VideoRenderer::PrerenderSmoothingDisabled() -> > VideoRenderer::SchedulesRenderedFrames() ...
5 years ago (2015-11-23 21:39:47 UTC) #37
qiangchen
Fixed, and remove the extra thread in the disabled case, as render_buffers_ do a time ...
5 years ago (2015-11-24 00:21:05 UTC) #41
mflodman
LGTM Anything more from you pbos? https://codereview.chromium.org/1419673014/diff/260001/webrtc/common_video/include/incoming_video_stream.h File webrtc/common_video/include/incoming_video_stream.h (right): https://codereview.chromium.org/1419673014/diff/260001/webrtc/common_video/include/incoming_video_stream.h#newcode35 webrtc/common_video/include/incoming_video_stream.h:35: explicit IncomingVideoStream(uint32_t stream_id); ...
5 years ago (2015-11-24 12:21:18 UTC) #42
pbos
lgtm if you address my nits https://codereview.chromium.org/1419673014/diff/340001/webrtc/common_video/incoming_video_stream.cc File webrtc/common_video/incoming_video_stream.cc (right): https://codereview.chromium.org/1419673014/diff/340001/webrtc/common_video/incoming_video_stream.cc#newcode238 webrtc/common_video/incoming_video_stream.cc:238: void IncomingVideoStream::HandOverFrame(const VideoFrame& ...
5 years ago (2015-11-24 13:14:40 UTC) #44
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1419673014/420001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1419673014/420001
5 years ago (2015-11-24 22:25:18 UTC) #48
commit-bot: I haz the power
Try jobs failed on following builders: android_arm64_rel on tryserver.webrtc (JOB_TIMED_OUT, no build URL)
5 years ago (2015-11-24 23:21:36 UTC) #50
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1419673014/420001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1419673014/420001
5 years ago (2015-11-25 00:52:02 UTC) #52
qiangchen
https://codereview.chromium.org/1419673014/diff/340001/webrtc/common_video/incoming_video_stream.cc File webrtc/common_video/incoming_video_stream.cc (right): https://codereview.chromium.org/1419673014/diff/340001/webrtc/common_video/incoming_video_stream.cc#newcode238 webrtc/common_video/incoming_video_stream.cc:238: void IncomingVideoStream::HandOverFrame(const VideoFrame& video_frame) { On 2015/11/24 13:14:40, pbos ...
5 years ago (2015-11-25 01:03:20 UTC) #53
commit-bot: I haz the power
Committed patchset #10 (id:420001)
5 years ago (2015-11-25 02:08:00 UTC) #54
commit-bot: I haz the power
5 years ago (2015-11-25 02:08:12 UTC) #55
Message was sent while issue was closed.
Patchset 10 (id:??) landed as
https://crrev.com/444682acf9804c5fcbddaded9e900ba3cc6921fc
Cr-Commit-Position: refs/heads/master@{#10781}

Powered by Google App Engine
This is Rietveld 408576698