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

Issue 1236663002: Allow shaped-desktop hosts to send shape only when it changes. (Closed)

Created:
5 years, 5 months ago by Wez
Modified:
5 years, 5 months ago
Reviewers:
Sergey Ulanov
CC:
chromium-reviews, chromoting-reviews_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Allow shaped-desktop hosts to send shape only when it changes. Previously hosts supplying a shaped desktop needed to attach the desktop shape to every frame, wasting bandwidth since the shape changes relatively infrequently. This CL updates the VideoRenderer implementations to preserve the shape (or lack of one) from the preceding frame if the VideoPacket does not include the use_desktop_shape field. Also simplifies FrameConsumerProxy to remove the need for ref-counting, updates NULL->nullptr throughout remoting/codec/, and removes unnecessary transparency logic from VideoDecoderVpx. BUG=446288 Committed: https://crrev.com/070889be6cd0ff3425d6260fbaac59ed24f34627 Cr-Commit-Position: refs/heads/master@{#339212}

Patch Set 1 #

Total comments: 6

Patch Set 2 : Avoid coercing * to bool #

Patch Set 3 : Allow ApplyBuffer & OnVideoShape to handle NULL (i.e. un-shaped) #

Patch Set 4 : Simplify FrameConsumerProxy #

Total comments: 6

Patch Set 5 : Revert SoftwareVideoRenderer ownership of FrameConsumerProxy #

Patch Set 6 : Fix Pepper 2D renderer build #

Unified diffs Side-by-side diffs Delta from patch set Stats (+206 lines, -324 lines) Patch
M remoting/client/frame_consumer.h View 1 2 1 chunk +9 lines, -8 lines 0 comments Download
M remoting/client/frame_consumer_proxy.h View 1 2 3 2 chunks +8 lines, -13 lines 0 comments Download
M remoting/client/frame_consumer_proxy.cc View 1 2 3 2 chunks +28 lines, -28 lines 0 comments Download
M remoting/client/jni/chromoting_jni_instance.h View 1 2 3 4 2 chunks +3 lines, -3 lines 0 comments Download
M remoting/client/jni/chromoting_jni_instance.cc View 1 2 3 4 1 chunk +11 lines, -11 lines 0 comments Download
M remoting/client/jni/jni_frame_consumer.h View 1 2 3 4 1 chunk +1 line, -1 line 0 comments Download
M remoting/client/jni/jni_frame_consumer.cc View 1 2 3 4 1 chunk +2 lines, -1 line 0 comments Download
M remoting/client/plugin/chromoting_instance.h View 1 2 3 4 5 1 chunk +1 line, -1 line 0 comments Download
M remoting/client/plugin/chromoting_instance.cc View 1 2 3 4 5 1 chunk +19 lines, -16 lines 0 comments Download
M remoting/client/plugin/pepper_video_renderer.h View 1 2 1 chunk +3 lines, -2 lines 0 comments Download
M remoting/client/plugin/pepper_video_renderer_2d.h View 1 2 3 4 5 4 chunks +4 lines, -3 lines 0 comments Download
M remoting/client/plugin/pepper_video_renderer_2d.cc View 1 2 3 4 5 3 chunks +13 lines, -8 lines 0 comments Download
M remoting/client/plugin/pepper_video_renderer_3d.h View 1 chunk +1 line, -1 line 0 comments Download
M remoting/client/plugin/pepper_video_renderer_3d.cc View 1 2 3 4 5 1 chunk +16 lines, -16 lines 0 comments Download
M remoting/client/software_video_renderer.h View 1 2 3 4 1 chunk +1 line, -2 lines 0 comments Download
M remoting/client/software_video_renderer.cc View 1 2 3 4 5 5 chunks +8 lines, -9 lines 0 comments Download
M remoting/codec/audio_decoder_opus.cc View 1 2 3 4 1 chunk +1 line, -4 lines 0 comments Download
M remoting/codec/codec_test.cc View 1 2 3 4 1 chunk +1 line, -4 lines 0 comments Download
M remoting/codec/video_decoder_vpx.h View 3 chunks +10 lines, -17 lines 0 comments Download
M remoting/codec/video_decoder_vpx.cc View 1 2 3 4 9 chunks +66 lines, -176 lines 0 comments Download

Messages

Total messages: 17 (4 generated)
Wez
5 years, 5 months ago (2015-07-10 21:05:54 UTC) #2
Sergey Ulanov
lgtm https://codereview.chromium.org/1236663002/diff/1/remoting/client/plugin/pepper_video_renderer_3d.cc File remoting/client/plugin/pepper_video_renderer_3d.cc (right): https://codereview.chromium.org/1236663002/diff/1/remoting/client/plugin/pepper_video_renderer_3d.cc#newcode237 remoting/client/plugin/pepper_video_renderer_3d.cc:237: // Process the frame shape, if supplied nit: ...
5 years, 5 months ago (2015-07-10 21:51:44 UTC) #3
Wez
PTAL - lots of changes due to the shape & FrameConsumerProxy refactoring. I expect there ...
5 years, 5 months ago (2015-07-13 19:56:24 UTC) #4
Sergey Ulanov
> I expect there will be follow-up changes to the iOS and Android client builds ...
5 years, 5 months ago (2015-07-13 21:00:32 UTC) #5
Wez
https://codereview.chromium.org/1236663002/diff/60001/remoting/client/plugin/pepper_video_renderer_2d.cc File remoting/client/plugin/pepper_video_renderer_2d.cc (right): https://codereview.chromium.org/1236663002/diff/60001/remoting/client/plugin/pepper_video_renderer_2d.cc#newcode103 remoting/client/plugin/pepper_video_renderer_2d.cc:103: context.main_task_runner(), context.decode_task_runner(), this)); On 2015/07/13 21:00:32, Sergey Ulanov wrote: ...
5 years, 5 months ago (2015-07-14 02:26:44 UTC) #6
Sergey Ulanov
lgtm https://codereview.chromium.org/1236663002/diff/60001/remoting/client/plugin/pepper_video_renderer_2d.cc File remoting/client/plugin/pepper_video_renderer_2d.cc (right): https://codereview.chromium.org/1236663002/diff/60001/remoting/client/plugin/pepper_video_renderer_2d.cc#newcode103 remoting/client/plugin/pepper_video_renderer_2d.cc:103: context.main_task_runner(), context.decode_task_runner(), this)); On 2015/07/14 02:26:44, Wez wrote: ...
5 years, 5 months ago (2015-07-14 16:12:24 UTC) #7
Sergey Ulanov
https://codereview.chromium.org/1236663002/diff/60001/remoting/client/plugin/pepper_video_renderer_2d.cc File remoting/client/plugin/pepper_video_renderer_2d.cc (right): https://codereview.chromium.org/1236663002/diff/60001/remoting/client/plugin/pepper_video_renderer_2d.cc#newcode103 remoting/client/plugin/pepper_video_renderer_2d.cc:103: context.main_task_runner(), context.decode_task_runner(), this)); On 2015/07/14 16:12:24, Sergey Ulanov wrote: ...
5 years, 5 months ago (2015-07-14 16:13:22 UTC) #8
Wez
PTAL - had to revert the changes that moved FrameConsumerProxy to be owned by SoftwareVideoRenderer, ...
5 years, 5 months ago (2015-07-16 21:45:10 UTC) #11
Sergey Ulanov
5 years, 5 months ago (2015-07-17 00:09:17 UTC) #12
Sergey Ulanov
lgtm
5 years, 5 months ago (2015-07-17 00:09:22 UTC) #13
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1236663002/100001
5 years, 5 months ago (2015-07-17 01:32:07 UTC) #15
commit-bot: I haz the power
Committed patchset #6 (id:100001)
5 years, 5 months ago (2015-07-17 03:19:25 UTC) #16
commit-bot: I haz the power
5 years, 5 months ago (2015-07-17 03:20:13 UTC) #17
Message was sent while issue was closed.
Patchset 6 (id:??) landed as
https://crrev.com/070889be6cd0ff3425d6260fbaac59ed24f34627
Cr-Commit-Position: refs/heads/master@{#339212}

Powered by Google App Engine
This is Rietveld 408576698