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..8bc15ed7f6fd9cb50ed67795589645f352db68ff 100644 |
--- a/media/cast/video_sender/external_video_encoder.cc |
+++ b/media/cast/video_sender/external_video_encoder.cc |
@@ -222,21 +222,18 @@ 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->relationship = key_frame ? transport::EncodedFrame::KEY : |
+ transport::EncodedFrame::DEPENDENT; |
+ encoded_frame->frame_id = ++last_encoded_frame_id_; |
+ encoded_frame->referenced_frame_id = encoded_frame->frame_id; |
+ if (!key_frame) |
hubbe
2014/05/16 17:13:20
I think
if (key_frame)
encoded_frame->reference
miu
2014/05/16 21:28:46
Done.
|
+ --encoded_frame->referenced_frame_id; |
+ 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 +254,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 { |