Index: webrtc/video/video_capture_input.cc |
diff --git a/webrtc/video/video_capture_input.cc b/webrtc/video/video_capture_input.cc |
index 2b5d638c69ceebbf44309ea2a676b444ff169711..dfdf5ae4825501525d655733504ed1e7f5fa044f 100644 |
--- a/webrtc/video/video_capture_input.cc |
+++ b/webrtc/video/video_capture_input.cc |
@@ -14,7 +14,6 @@ |
#include "webrtc/base/logging.h" |
#include "webrtc/base/trace_event.h" |
#include "webrtc/modules/include/module_common_types.h" |
-#include "webrtc/modules/utility/include/process_thread.h" |
#include "webrtc/modules/video_capture/video_capture_factory.h" |
#include "webrtc/modules/video_processing/include/video_processing.h" |
#include "webrtc/modules/video_render/video_render_defines.h" |
@@ -27,15 +26,11 @@ |
namespace webrtc { |
namespace internal { |
-VideoCaptureInput::VideoCaptureInput( |
- ProcessThread* module_process_thread, |
- VideoCaptureCallback* frame_callback, |
- VideoRenderer* local_renderer, |
- SendStatisticsProxy* stats_proxy, |
- CpuOveruseObserver* overuse_observer, |
- EncodingTimeObserver* encoding_time_observer) |
- : module_process_thread_(module_process_thread), |
- frame_callback_(frame_callback), |
+VideoCaptureInput::VideoCaptureInput(VideoCaptureCallback* frame_callback, |
+ VideoRenderer* local_renderer, |
+ SendStatisticsProxy* stats_proxy, |
+ OveruseFrameDetector* overuse_detector) |
+ : frame_callback_(frame_callback), |
local_renderer_(local_renderer), |
stats_proxy_(stats_proxy), |
encoder_thread_(EncoderThreadFunction, this, "EncoderThread"), |
@@ -45,19 +40,12 @@ VideoCaptureInput::VideoCaptureInput( |
delta_ntp_internal_ms_( |
Clock::GetRealTimeClock()->CurrentNtpInMilliseconds() - |
TickTime::MillisecondTimestamp()), |
- overuse_detector_(new OveruseFrameDetector(Clock::GetRealTimeClock(), |
- CpuOveruseOptions(), |
- overuse_observer, |
- stats_proxy)), |
- encoding_time_observer_(encoding_time_observer) { |
+ overuse_detector_(overuse_detector) { |
encoder_thread_.Start(); |
encoder_thread_.SetPriority(rtc::kHighPriority); |
- module_process_thread_->RegisterModule(overuse_detector_.get()); |
} |
VideoCaptureInput::~VideoCaptureInput() { |
- module_process_thread_->DeRegisterModule(overuse_detector_.get()); |
- |
// Stop the thread. |
rtc::AtomicOps::ReleaseStore(&stop_, 1); |
capture_event_.Set(); |
@@ -105,9 +93,7 @@ void VideoCaptureInput::IncomingCapturedFrame(const VideoFrame& video_frame) { |
captured_frame_.ShallowCopy(incoming_frame); |
last_captured_timestamp_ = incoming_frame.ntp_time_ms(); |
- overuse_detector_->FrameCaptured(captured_frame_.width(), |
- captured_frame_.height(), |
- captured_frame_.render_time_ms()); |
+ overuse_detector_->FrameCaptured(captured_frame_); |
TRACE_EVENT_ASYNC_BEGIN1("webrtc", "Video", video_frame.render_time_ms(), |
"render_time", video_frame.render_time_ms()); |
@@ -121,12 +107,10 @@ bool VideoCaptureInput::EncoderThreadFunction(void* obj) { |
bool VideoCaptureInput::EncoderProcess() { |
static const int kThreadWaitTimeMs = 100; |
- int64_t capture_time = -1; |
if (capture_event_.Wait(kThreadWaitTimeMs)) { |
if (rtc::AtomicOps::AcquireLoad(&stop_)) |
return false; |
- int64_t encode_start_time = -1; |
VideoFrame deliver_frame; |
{ |
rtc::CritScope lock(&crit_); |
@@ -136,24 +120,8 @@ bool VideoCaptureInput::EncoderProcess() { |
} |
} |
if (!deliver_frame.IsZeroSize()) { |
- capture_time = deliver_frame.render_time_ms(); |
- encode_start_time = Clock::GetRealTimeClock()->TimeInMilliseconds(); |
frame_callback_->DeliverFrame(deliver_frame); |
} |
- // Update the overuse detector with the duration. |
- if (encode_start_time != -1) { |
- int encode_time_ms = static_cast<int>( |
- Clock::GetRealTimeClock()->TimeInMilliseconds() - encode_start_time); |
- stats_proxy_->OnEncodedFrame(encode_time_ms); |
- if (encoding_time_observer_) { |
- encoding_time_observer_->OnReportEncodedTime( |
- deliver_frame.ntp_time_ms(), encode_time_ms); |
- } |
- } |
- } |
- // We're done! |
- if (capture_time != -1) { |
- overuse_detector_->FrameSent(capture_time); |
} |
return true; |
} |