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

Unified Diff: media/cast/video_sender/fake_software_video_encoder.cc

Issue 289283014: Cast: Fake software video encoder to respect target bitrate (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: lowered bitrate Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: media/cast/video_sender/fake_software_video_encoder.cc
diff --git a/media/cast/video_sender/fake_software_video_encoder.cc b/media/cast/video_sender/fake_software_video_encoder.cc
index 01a3ccef51ab210ffffcb738f984c9417202c599..ee8fe0fd00c52e445570808f5a21c186c08a640b 100644
--- a/media/cast/video_sender/fake_software_video_encoder.cc
+++ b/media/cast/video_sender/fake_software_video_encoder.cc
@@ -13,10 +13,13 @@
namespace media {
namespace cast {
-FakeSoftwareVideoEncoder::FakeSoftwareVideoEncoder()
- : next_frame_is_key_(true),
+FakeSoftwareVideoEncoder::FakeSoftwareVideoEncoder(
+ const VideoSenderConfig& video_config)
+ : video_config_(video_config),
+ next_frame_is_key_(true),
frame_id_(0),
- frame_id_to_reference_(0) {
+ frame_id_to_reference_(0),
+ frame_size_(0) {
}
FakeSoftwareVideoEncoder::~FakeSoftwareVideoEncoder() {}
@@ -37,17 +40,18 @@ bool FakeSoftwareVideoEncoder::Encode(
}
base::DictionaryValue values;
- values.Set("key", base::Value::CreateBooleanValue(
- encoded_image->dependency == transport::EncodedFrame::KEY));
- values.Set("id", base::Value::CreateIntegerValue(encoded_image->frame_id));
- values.Set("ref", base::Value::CreateIntegerValue(
- encoded_image->referenced_frame_id));
+ values.SetBoolean("key",
+ encoded_image->dependency == transport::EncodedFrame::KEY);
+ values.SetInteger("ref", encoded_image->referenced_frame_id);
+ values.SetInteger("id", encoded_image->frame_id);
+ values.SetInteger("size", frame_size_);
+ values.SetString("data", std::string(frame_size_, ' '));
base::JSONWriter::Write(&values, &encoded_image->data);
return true;
}
void FakeSoftwareVideoEncoder::UpdateRates(uint32 new_bitrate) {
- // TODO(hclam): Implement bitrate control.
+ frame_size_ = new_bitrate / video_config_.max_frame_rate / 8;
}
void FakeSoftwareVideoEncoder::GenerateKeyFrame() {
« no previous file with comments | « media/cast/video_sender/fake_software_video_encoder.h ('k') | media/cast/video_sender/video_encoder_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698