[remoting webrtc] Client requests key-frames every 3s if display is unchanged |
|||||
Issue descriptionWhen using WebRTC connection, if the display is idle, the host does not send any new frames to the client. This causes the client to request a key-frame at 3000ms intervals, which wastes network resources: https://cs.chromium.org/chromium/src/third_party/webrtc/video/video_receive_stream.cc?l=456&rcl=bef8a5d2ca5413c680995584b8c0976852ba5f25 We should consider sending "keep-alive" empty frames at regular intervals?
,
Oct 19 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/a6a3f1e839e900f335350c8555a973cadce46386 commit a6a3f1e839e900f335350c8555a973cadce46386 Author: Lambros Lambrou <lambroslambrou@chromium.org> Date: Thu Oct 19 01:37:29 2017 [remoting webrtc] Send regular keep-alive frames If the display is unchanging, the host will normally not send any frames to the client, which causes the client to think the video stream is broken. The client makes FIR or PLI requests every few seconds, resulting in unnecessary key-frames which wastes resources. This CL fixes this by sending empty frame deltas at a capped rate when the capturer returns empty frame updates. The capped rate is set to a rapid value, since testing indicates this also helps avoid laggy behavior ( crbug.com/773549 ), possibly because of improved b/w estimation when more frames are sent. Bug: 773894 , 773549 Change-Id: I40da2167a86aad3d099eeb45de7c21685b6ad612 Reviewed-on: https://chromium-review.googlesource.com/724660 Commit-Queue: Lambros Lambrou <lambroslambrou@chromium.org> Reviewed-by: Zijie He <zijiehe@chromium.org> Cr-Commit-Position: refs/heads/master@{#509965} [modify] https://crrev.com/a6a3f1e839e900f335350c8555a973cadce46386/remoting/protocol/webrtc_frame_scheduler_simple.cc [modify] https://crrev.com/a6a3f1e839e900f335350c8555a973cadce46386/remoting/protocol/webrtc_frame_scheduler_simple.h
,
Oct 20 2017
Requesting merge of revision a6a3f1e839e900f335350c8555a973cadce46386 into M63 (3239). Change was verified on an official nightly build. This CL has no effect on Chrome browser, only the remoting host binary.
,
Oct 21 2017
Your change meets the bar and is auto-approved for M63. Please go ahead and merge the CL to branch 3239 manually. Please contact milestone owner if you have questions. Owners: cmasso@(Android), cmasso@(iOS), gkihumba@(ChromeOS), govind@(Desktop) For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
Oct 23 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/ca29a5fe00248482cd8036dfd9f2507944166661 commit ca29a5fe00248482cd8036dfd9f2507944166661 Author: Lambros Lambrou <lambroslambrou@chromium.org> Date: Mon Oct 23 16:47:56 2017 [remoting webrtc] Send regular keep-alive frames If the display is unchanging, the host will normally not send any frames to the client, which causes the client to think the video stream is broken. The client makes FIR or PLI requests every few seconds, resulting in unnecessary key-frames which wastes resources. This CL fixes this by sending empty frame deltas at a capped rate when the capturer returns empty frame updates. The capped rate is set to a rapid value, since testing indicates this also helps avoid laggy behavior ( crbug.com/773549 ), possibly because of improved b/w estimation when more frames are sent. Bug: 773894 , 773549 Change-Id: I40da2167a86aad3d099eeb45de7c21685b6ad612 Reviewed-on: https://chromium-review.googlesource.com/724660 Commit-Queue: Lambros Lambrou <lambroslambrou@chromium.org> Reviewed-by: Zijie He <zijiehe@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#509965}(cherry picked from commit a6a3f1e839e900f335350c8555a973cadce46386) Reviewed-on: https://chromium-review.googlesource.com/733720 Reviewed-by: Jamie Walch <jamiewalch@chromium.org> Cr-Commit-Position: refs/branch-heads/3239@{#154} Cr-Branched-From: adb61db19020ed8ecee5e91b1a0ea4c924ae2988-refs/heads/master@{#508578} [modify] https://crrev.com/ca29a5fe00248482cd8036dfd9f2507944166661/remoting/protocol/webrtc_frame_scheduler_simple.cc [modify] https://crrev.com/ca29a5fe00248482cd8036dfd9f2507944166661/remoting/protocol/webrtc_frame_scheduler_simple.h
,
Oct 23 2017
,
Oct 31 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/d8b560e714819f4378f09a83d33e56175d88833c commit d8b560e714819f4378f09a83d33e56175d88833c Author: Lambros Lambrou <lambroslambrou@chromium.org> Date: Tue Oct 31 19:50:19 2017 [remoting] Add unittests for WebrtcFrameSchedulerSimple This adds unittests for the changes made in crrev.com/a6a3f1e839e900f335350c8555a973cadce46386 This requires a small refactoring to allow unittests to fake the current time for the WebrtcFrameSchedulerSimple class. Bug: 773894 Change-Id: I00e1204b1eab446e18e5d8796770dbd64623abfc Reviewed-on: https://chromium-review.googlesource.com/729565 Commit-Queue: Lambros Lambrou <lambroslambrou@chromium.org> Reviewed-by: Zijie He <zijiehe@chromium.org> Cr-Commit-Position: refs/heads/master@{#512914} [modify] https://crrev.com/d8b560e714819f4378f09a83d33e56175d88833c/remoting/protocol/webrtc_frame_scheduler_simple.cc [modify] https://crrev.com/d8b560e714819f4378f09a83d33e56175d88833c/remoting/protocol/webrtc_frame_scheduler_simple.h [modify] https://crrev.com/d8b560e714819f4378f09a83d33e56175d88833c/remoting/protocol/webrtc_frame_scheduler_unittest.cc |
|||||
►
Sign in to add a comment |
|||||
Comment 1 by jamiewa...@chromium.org
, Oct 12 2017Owner: lambroslambrou@chromium.org
Status: Assigned (was: Untriaged)