Commit 4a432fc0 authored by imcheng@chromium.org's avatar imcheng@chromium.org

Cast: Log target encode bitrate before a frame is encoded.

Read the target encode bitrate and bind it to the "encoded" callback
before actually encode the frame instead of reading the target bitrate
after frame has been encoded . This gives a more accurate value of
the encode bitrate each frame was encoded at.

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@271132 0039d316-1c4b-4281-b951-d872f2087c98
parent ab2fa50e
......@@ -153,13 +153,15 @@ void VideoSender::InsertRawVideoFrame(
video_frame,
capture_time,
base::Bind(&VideoSender::SendEncodedVideoFrameMainThread,
weak_factory_.GetWeakPtr()))) {
weak_factory_.GetWeakPtr(),
current_requested_bitrate_))) {
frames_in_encoder_++;
UpdateFramesInFlight();
}
}
void VideoSender::SendEncodedVideoFrameMainThread(
int requested_bitrate_before_encode,
scoped_ptr<transport::EncodedVideoFrame> encoded_frame,
const base::TimeTicks& capture_time) {
DCHECK(cast_environment_->CurrentlyOn(CastEnvironment::MAIN));
......@@ -176,7 +178,7 @@ void VideoSender::SendEncodedVideoFrameMainThread(
last_send_time_, FRAME_ENCODED, VIDEO_EVENT, encoded_frame->rtp_timestamp,
frame_id, static_cast<int>(encoded_frame->data.size()),
encoded_frame->key_frame,
current_requested_bitrate_);
requested_bitrate_before_encode);
// Used by chrome/browser/extension/api/cast_streaming/performance_test.cc
TRACE_EVENT_INSTANT1(
......
......@@ -92,6 +92,7 @@ class VideoSender : public base::NonThreadSafe,
void UpdateFramesInFlight();
void SendEncodedVideoFrameMainThread(
int requested_bitrate_before_encode,
scoped_ptr<transport::EncodedVideoFrame> encoded_frame,
const base::TimeTicks& capture_time);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment