RESOURCE_UTILIZATION in VideoFrameMetadata, a consumer feedback signal.
commit5dface5ccc2e0662365ce127987348cc2d04819b
authormiu <miu@chromium.org>
Mon, 8 Jun 2015 19:17:20 +0000 (8 12:17 -0700)
committerCommit bot <commit-bot@chromium.org>
Mon, 8 Jun 2015 19:18:51 +0000 (8 19:18 +0000)
tree78f264e7907fea635820c54c049e6bff133ea2f5
parent89b0cc457ff83154f80709d9b58575047845730e
RESOURCE_UTILIZATION in VideoFrameMetadata, a consumer feedback signal.

Adds a RESOURCE_UTILIZATION to media::VideoFrameMetadata which will allow
consumers to convey a "throttling feedback signal" to the producers of
media::VideoFrames.  Plumbs-in browser-side and renderer-side passing of
the metadata value across the IPC layer.

Also in this change, the media::cast::VideoSender sets the
RESOURCE_UTILIZATION metadata value to indicate CPU encode and network
bandwidth bottlenecks in the end-to-end system (sending a video stream
to a remote receiver).  An upcoming change will allow the screen capture
pipeline to use this feedback to automatically adjust resolution and
framerate during a session, maintaining the highest-quality user
experience possible in the current environment.  See bug for more
details.

BUG=156767

Review URL: https://codereview.chromium.org/1157193002

Cr-Commit-Position: refs/heads/master@{#333313}
17 files changed:
content/browser/media/capture/content_video_capture_device_core.cc
content/browser/media/capture/content_video_capture_device_core.h
content/browser/renderer_host/media/video_capture_controller.cc
content/browser/renderer_host/media/video_capture_controller.h
content/browser/renderer_host/media/video_capture_controller_unittest.cc
content/browser/renderer_host/media/video_capture_host.cc
content/browser/renderer_host/media/video_capture_host.h
content/browser/renderer_host/media/video_capture_host_unittest.cc
content/common/media/video_capture_messages.h
content/renderer/media/video_capture_impl.cc
content/renderer/media/video_capture_impl.h
content/renderer/media/video_capture_impl_unittest.cc
content/renderer/media/video_capture_message_filter.cc
media/base/video_frame_metadata.h
media/cast/sender/video_sender.cc
media/cast/sender/video_sender.h
media/cast/sender/video_sender_unittest.cc