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

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

Issue 288103002: [Cast] EncodedAudioFrame+EncodedVideoFrame+reference_time --> EncodedFrame (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase 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/external_video_encoder.cc
diff --git a/media/cast/video_sender/external_video_encoder.cc b/media/cast/video_sender/external_video_encoder.cc
index 627b72390c0163e244b74dfa557e4f8f794dc36d..d2e306504f4357723c28228dfec74834c4cdb125 100644
--- a/media/cast/video_sender/external_video_encoder.cc
+++ b/media/cast/video_sender/external_video_encoder.cc
@@ -222,21 +222,19 @@ class LocalVideoEncodeAcceleratorClient
stream_header_.append(static_cast<const char*>(output_buffer->memory()),
payload_size);
} else if (!encoded_frame_data_storage_.empty()) {
- scoped_ptr<transport::EncodedVideoFrame> encoded_frame(
- new transport::EncodedVideoFrame());
-
- encoded_frame->codec = codec_;
- encoded_frame->key_frame = key_frame;
- encoded_frame->last_referenced_frame_id = last_encoded_frame_id_;
- last_encoded_frame_id_++;
- encoded_frame->frame_id = last_encoded_frame_id_;
- encoded_frame->rtp_timestamp = GetVideoRtpTimestamp(
- encoded_frame_data_storage_.front().capture_time);
- if (key_frame) {
- // Self referenced.
- encoded_frame->last_referenced_frame_id = encoded_frame->frame_id;
- }
-
+ scoped_ptr<transport::EncodedFrame> encoded_frame(
+ new transport::EncodedFrame());
+ encoded_frame->dependency = key_frame ? transport::EncodedFrame::KEY :
+ transport::EncodedFrame::DEPENDENT;
+ encoded_frame->frame_id = ++last_encoded_frame_id_;
+ if (key_frame)
+ encoded_frame->referenced_frame_id = encoded_frame->frame_id;
+ else
+ encoded_frame->referenced_frame_id = encoded_frame->frame_id - 1;
+ encoded_frame->reference_time =
+ encoded_frame_data_storage_.front().capture_time;
+ encoded_frame->rtp_timestamp =
+ GetVideoRtpTimestamp(encoded_frame->reference_time);
if (!stream_header_.empty()) {
encoded_frame->data = stream_header_;
stream_header_.clear();
@@ -257,8 +255,7 @@ class LocalVideoEncodeAcceleratorClient
CastEnvironment::MAIN,
FROM_HERE,
base::Bind(encoded_frame_data_storage_.front().frame_encoded_callback,
- base::Passed(&encoded_frame),
- encoded_frame_data_storage_.front().capture_time));
+ base::Passed(&encoded_frame)));
encoded_frame_data_storage_.pop_front();
} else {
« no previous file with comments | « media/cast/video_sender/codecs/vp8/vp8_encoder.cc ('k') | media/cast/video_sender/external_video_encoder_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698