Update VideoFramePump to pass un-changed frames to encoders.
commit43ac266109c2cb29aca8a4858726a3b369c1f9db
authorwez <wez@chromium.org>
Wed, 10 Jun 2015 18:22:29 +0000 (10 11:22 -0700)
committerCommit bot <commit-bot@chromium.org>
Wed, 10 Jun 2015 18:24:38 +0000 (10 18:24 +0000)
tree9190eb075e2952dc784c6b6f30d430631267987d
parent887e6c6ceb9fcd516546f3c436831a8c9c9332c6
Update VideoFramePump to pass un-changed frames to encoders.

This allows VP9/lossy mode to "top-off" previously encoded imagery to
improve visual quality at the client, by continuing to deliver data even
when nothing has actually changed on the host desktop.

This CL makes several other minor changes:
- Fix the host's --enable-i444 flag, which was broken by refactoring.
- Tweak VP9/lossy mode to more conservative quantization settings.
- Tweak VP9/lossy mode to encode up to two unchanged frames for top-off.
- Update VideoEncoderVerbatim for the new VideoFramePump semantics.
- Update the VideoFrameRecorder & FakeDesktopCapturer.
- Adds simple codec & VideoFramePump unit-tests for the new behaviour.

BUG=134202

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

Cr-Commit-Position: refs/heads/master@{#333764}
15 files changed:
remoting/codec/codec_test.cc
remoting/codec/codec_test.h
remoting/codec/video_encoder.h
remoting/codec/video_encoder_verbatim.cc
remoting/codec/video_encoder_verbatim_unittest.cc
remoting/codec/video_encoder_vpx.cc
remoting/codec/video_encoder_vpx.h
remoting/codec/video_encoder_vpx_unittest.cc
remoting/host/client_session.cc
remoting/host/fake_desktop_capturer.cc
remoting/host/host_mock_objects.cc
remoting/host/host_mock_objects.h
remoting/host/video_frame_pump.cc
remoting/host/video_frame_pump_unittest.cc
remoting/host/video_frame_recorder_unittest.cc