| Index: webrtc/video/video_capture_input.h
|
| diff --git a/webrtc/video/video_capture_input.h b/webrtc/video/video_capture_input.h
|
| index d44907cd0ee83270f15aed1ae3d18969f20854bb..7d3cc7dfaba270406a23312c2ca6edff7f6a4f08 100644
|
| --- a/webrtc/video/video_capture_input.h
|
| +++ b/webrtc/video/video_capture_input.h
|
| @@ -15,6 +15,7 @@
|
|
|
| #include "webrtc/base/criticalsection.h"
|
| #include "webrtc/base/event.h"
|
| +#include "webrtc/base/optional.h"
|
| #include "webrtc/base/platform_thread.h"
|
| #include "webrtc/base/scoped_ptr.h"
|
| #include "webrtc/base/thread_annotations.h"
|
| @@ -38,6 +39,7 @@ class OveruseFrameDetector;
|
| class ProcessThread;
|
| class RegistrableCpuOveruseMetricsObserver;
|
| class SendStatisticsProxy;
|
| +class VideoCodingModule;
|
| class VideoRenderer;
|
|
|
| class VideoCaptureCallback {
|
| @@ -48,17 +50,21 @@ class VideoCaptureCallback {
|
| };
|
|
|
| namespace internal {
|
| +
|
| +class VideoSendStream;
|
| class VideoCaptureInput : public webrtc::VideoCaptureInput {
|
| public:
|
| VideoCaptureInput(ProcessThread* module_process_thread,
|
| VideoCaptureCallback* frame_callback,
|
| - VideoRenderer* local_renderer,
|
| + VideoCodingModule* vcm,
|
| + VideoSendStream* video_send_stream,
|
| + const webrtc::VideoSendStream::Config& config,
|
| SendStatisticsProxy* send_stats_proxy,
|
| - CpuOveruseObserver* overuse_observer,
|
| - EncodingTimeObserver* encoding_time_observer);
|
| + CpuOveruseObserver* overuse_observer);
|
| ~VideoCaptureInput();
|
|
|
| void IncomingCapturedFrame(const VideoFrame& video_frame) override;
|
| + void TriggerSetSendCodec(const VideoCodec& video_codec);
|
|
|
| private:
|
| // Thread functions for deliver captured frames to receivers.
|
| @@ -69,26 +75,25 @@ class VideoCaptureInput : public webrtc::VideoCaptureInput {
|
| ProcessThread* const module_process_thread_;
|
|
|
| VideoCaptureCallback* const frame_callback_;
|
| - VideoRenderer* const local_renderer_;
|
| + VideoCodingModule* const vcm_;
|
| + VideoSendStream* const video_send_stream_;
|
| + const webrtc::VideoSendStream::Config config_;
|
| + bool encoder_registered_;
|
| SendStatisticsProxy* const stats_proxy_;
|
|
|
| - // Frame used in IncomingFrameI420.
|
| - rtc::scoped_ptr<CriticalSectionWrapper> incoming_frame_cs_;
|
| - VideoFrame incoming_frame_;
|
| -
|
| rtc::PlatformThread encoder_thread_;
|
| rtc::Event capture_event_;
|
|
|
| volatile int stop_;
|
|
|
| - VideoFrame captured_frame_ GUARDED_BY(capture_cs_.get());
|
| + rtc::Optional<VideoCodec> replacement_codec_settings_ GUARDED_BY(capture_cs_);
|
| + VideoFrame captured_frame_ GUARDED_BY(capture_cs_);
|
| // Used to make sure incoming time stamp is increasing for every frame.
|
| int64_t last_captured_timestamp_;
|
| // Delta used for translating between NTP and internal timestamps.
|
| const int64_t delta_ntp_internal_ms_;
|
|
|
| rtc::scoped_ptr<OveruseFrameDetector> overuse_detector_;
|
| - EncodingTimeObserver* const encoding_time_observer_;
|
| };
|
|
|
| } // namespace internal
|
|
|