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

Side by Side Diff: content/renderer/media/rtc_video_encoder.cc

Issue 1412943003: Update VideoFrameType to FrameType in RTC coders. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 2 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 unified diff | Download patch
OLDNEW
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 "base/bind.h" 7 #include "base/bind.h"
8 #include "base/location.h" 8 #include "base/location.h"
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/memory/scoped_vector.h" 10 #include "base/memory/scoped_vector.h"
(...skipping 414 matching lines...) Expand 10 before | Expand all | Expand 10 after
425 static_cast<uint32_t>(capture_time_us * 90 / 1000); 425 static_cast<uint32_t>(capture_time_us * 90 / 1000);
426 426
427 scoped_ptr<webrtc::EncodedImage> image(new webrtc::EncodedImage( 427 scoped_ptr<webrtc::EncodedImage> image(new webrtc::EncodedImage(
428 reinterpret_cast<uint8_t*>(output_buffer->memory()), 428 reinterpret_cast<uint8_t*>(output_buffer->memory()),
429 payload_size, 429 payload_size,
430 output_buffer->mapped_size())); 430 output_buffer->mapped_size()));
431 image->_encodedWidth = input_visible_size_.width(); 431 image->_encodedWidth = input_visible_size_.width();
432 image->_encodedHeight = input_visible_size_.height(); 432 image->_encodedHeight = input_visible_size_.height();
433 image->_timeStamp = rtp_timestamp; 433 image->_timeStamp = rtp_timestamp;
434 image->capture_time_ms_ = capture_time_ms; 434 image->capture_time_ms_ = capture_time_ms;
435 image->_frameType = (key_frame ? webrtc::kKeyFrame : webrtc::kDeltaFrame); 435 image->_frameType =
436 (key_frame ? webrtc::kVideoFrameKey : webrtc::kVideoFrameDelta);
436 image->_completeFrame = true; 437 image->_completeFrame = true;
437 438
438 encoder_task_runner_->PostTask( 439 encoder_task_runner_->PostTask(
439 FROM_HERE, 440 FROM_HERE,
440 base::Bind(&RTCVideoEncoder::ReturnEncodedImage, weak_encoder_, 441 base::Bind(&RTCVideoEncoder::ReturnEncodedImage, weak_encoder_,
441 base::Passed(&image), bitstream_buffer_id, picture_id_)); 442 base::Passed(&image), bitstream_buffer_id, picture_id_));
442 // Picture ID must wrap after reaching the maximum. 443 // Picture ID must wrap after reaching the maximum.
443 picture_id_ = (picture_id_ + 1) & 0x7FFF; 444 picture_id_ = (picture_id_ + 1) & 0x7FFF;
444 } 445 }
445 446
(...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after
616 617
617 // webrtc::VideoEncoder expects this call to be synchronous. 618 // webrtc::VideoEncoder expects this call to be synchronous.
618 initialization_waiter.Wait(); 619 initialization_waiter.Wait();
619 RecordInitEncodeUMA(initialization_retval, profile); 620 RecordInitEncodeUMA(initialization_retval, profile);
620 return initialization_retval; 621 return initialization_retval;
621 } 622 }
622 623
623 int32_t RTCVideoEncoder::Encode( 624 int32_t RTCVideoEncoder::Encode(
624 const webrtc::VideoFrame& input_image, 625 const webrtc::VideoFrame& input_image,
625 const webrtc::CodecSpecificInfo* codec_specific_info, 626 const webrtc::CodecSpecificInfo* codec_specific_info,
626 const std::vector<webrtc::VideoFrameType>* frame_types) { 627 const std::vector<webrtc::FrameType>* frame_types) {
627 DVLOG(3) << "Encode()"; 628 DVLOG(3) << "Encode()";
628 if (!impl_.get()) { 629 if (!impl_.get()) {
629 DVLOG(3) << "Encode(): returning impl_status_=" << impl_status_; 630 DVLOG(3) << "Encode(): returning impl_status_=" << impl_status_;
630 return impl_status_; 631 return impl_status_;
631 } 632 }
632 633
633 const bool want_key_frame = frame_types && frame_types->size() && 634 const bool want_key_frame = frame_types && frame_types->size() &&
634 frame_types->front() == webrtc::kKeyFrame; 635 frame_types->front() == webrtc::kVideoFrameKey;
635 base::WaitableEvent encode_waiter(true, false); 636 base::WaitableEvent encode_waiter(true, false);
636 int32_t encode_retval = WEBRTC_VIDEO_CODEC_UNINITIALIZED; 637 int32_t encode_retval = WEBRTC_VIDEO_CODEC_UNINITIALIZED;
637 gpu_factories_->GetTaskRunner()->PostTask( 638 gpu_factories_->GetTaskRunner()->PostTask(
638 FROM_HERE, 639 FROM_HERE,
639 base::Bind(&RTCVideoEncoder::Impl::Enqueue, 640 base::Bind(&RTCVideoEncoder::Impl::Enqueue,
640 impl_, 641 impl_,
641 &input_image, 642 &input_image,
642 want_key_frame, 643 want_key_frame,
643 &encode_waiter, 644 &encode_waiter,
644 &encode_retval)); 645 &encode_retval));
(...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after
775 UMA_HISTOGRAM_BOOLEAN("Media.RTCVideoEncoderInitEncodeSuccess", 776 UMA_HISTOGRAM_BOOLEAN("Media.RTCVideoEncoderInitEncodeSuccess",
776 init_retval == WEBRTC_VIDEO_CODEC_OK); 777 init_retval == WEBRTC_VIDEO_CODEC_OK);
777 if (init_retval == WEBRTC_VIDEO_CODEC_OK) { 778 if (init_retval == WEBRTC_VIDEO_CODEC_OK) {
778 UMA_HISTOGRAM_ENUMERATION("Media.RTCVideoEncoderProfile", 779 UMA_HISTOGRAM_ENUMERATION("Media.RTCVideoEncoderProfile",
779 profile, 780 profile,
780 media::VIDEO_CODEC_PROFILE_MAX + 1); 781 media::VIDEO_CODEC_PROFILE_MAX + 1);
781 } 782 }
782 } 783 }
783 784
784 } // namespace content 785 } // namespace content
OLDNEW
« content/renderer/media/rtc_video_decoder.cc ('K') | « content/renderer/media/rtc_video_encoder.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698