OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "content/renderer/media/rtc_video_encoder.h" | 5 #include "content/renderer/media/rtc_video_encoder.h" |
6 | 6 |
7 #include <string.h> | 7 #include <string.h> |
8 | 8 |
9 #include "base/bind.h" | 9 #include "base/bind.h" |
10 #include "base/location.h" | 10 #include "base/location.h" |
(...skipping 491 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
502 input_next_frame_keyframe_ = false; | 502 input_next_frame_keyframe_ = false; |
503 | 503 |
504 if (!video_encoder_) { | 504 if (!video_encoder_) { |
505 SignalAsyncWaiter(WEBRTC_VIDEO_CODEC_ERROR); | 505 SignalAsyncWaiter(WEBRTC_VIDEO_CODEC_ERROR); |
506 return; | 506 return; |
507 } | 507 } |
508 | 508 |
509 const int index = input_buffers_free_.back(); | 509 const int index = input_buffers_free_.back(); |
510 bool requires_copy = false; | 510 bool requires_copy = false; |
511 scoped_refptr<media::VideoFrame> frame; | 511 scoped_refptr<media::VideoFrame> frame; |
512 if (next_frame->native_handle()) { | 512 if (next_frame->video_frame_buffer()->native_handle()) { |
513 frame = static_cast<media::VideoFrame*>(next_frame->native_handle()); | 513 frame = static_cast<media::VideoFrame*>( |
| 514 next_frame->video_frame_buffer()->native_handle()); |
514 requires_copy = RequiresSizeChange(frame); | 515 requires_copy = RequiresSizeChange(frame); |
515 } else { | 516 } else { |
516 requires_copy = true; | 517 requires_copy = true; |
517 } | 518 } |
518 | 519 |
519 if (requires_copy) { | 520 if (requires_copy) { |
520 base::SharedMemory* input_buffer = input_buffers_[index]; | 521 base::SharedMemory* input_buffer = input_buffers_[index]; |
521 frame = media::VideoFrame::WrapExternalSharedMemory( | 522 frame = media::VideoFrame::WrapExternalSharedMemory( |
522 media::PIXEL_FORMAT_I420, input_frame_coded_size_, | 523 media::PIXEL_FORMAT_I420, input_frame_coded_size_, |
523 gfx::Rect(input_visible_size_), input_visible_size_, | 524 gfx::Rect(input_visible_size_), input_visible_size_, |
(...skipping 282 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
806 UMA_HISTOGRAM_BOOLEAN("Media.RTCVideoEncoderInitEncodeSuccess", | 807 UMA_HISTOGRAM_BOOLEAN("Media.RTCVideoEncoderInitEncodeSuccess", |
807 init_retval == WEBRTC_VIDEO_CODEC_OK); | 808 init_retval == WEBRTC_VIDEO_CODEC_OK); |
808 if (init_retval == WEBRTC_VIDEO_CODEC_OK) { | 809 if (init_retval == WEBRTC_VIDEO_CODEC_OK) { |
809 UMA_HISTOGRAM_ENUMERATION("Media.RTCVideoEncoderProfile", | 810 UMA_HISTOGRAM_ENUMERATION("Media.RTCVideoEncoderProfile", |
810 profile, | 811 profile, |
811 media::VIDEO_CODEC_PROFILE_MAX + 1); | 812 media::VIDEO_CODEC_PROFILE_MAX + 1); |
812 } | 813 } |
813 } | 814 } |
814 | 815 |
815 } // namespace content | 816 } // namespace content |
OLD | NEW |