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

Side by Side Diff: webrtc/video/video_capture_input.h

Issue 2060403002: Add task queue to Call. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@move_getpadding
Patch Set: Fix audio thread check when adding audio to bitrateallocator. Created 4 years, 4 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
(Empty)
1 /*
2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
3 *
4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree.
9 */
10
11 #ifndef WEBRTC_VIDEO_VIDEO_CAPTURE_INPUT_H_
12 #define WEBRTC_VIDEO_VIDEO_CAPTURE_INPUT_H_
13
14 #include <memory>
15 #include <vector>
16
17 #include "webrtc/base/criticalsection.h"
18 #include "webrtc/base/event.h"
19 #include "webrtc/base/platform_thread.h"
20 #include "webrtc/base/thread_annotations.h"
21 #include "webrtc/common_types.h"
22 #include "webrtc/engine_configurations.h"
23 #include "webrtc/modules/video_capture/video_capture.h"
24 #include "webrtc/modules/video_coding/include/video_codec_interface.h"
25 #include "webrtc/modules/video_coding/include/video_coding.h"
26 #include "webrtc/modules/video_processing/include/video_processing.h"
27 #include "webrtc/system_wrappers/include/clock.h"
28 #include "webrtc/typedefs.h"
29 #include "webrtc/video_send_stream.h"
30
31 namespace webrtc {
32
33 class Config;
34 class OveruseFrameDetector;
35 class SendStatisticsProxy;
36
37 namespace internal {
38 class VideoCaptureInput : public webrtc::VideoCaptureInput {
39 public:
40 VideoCaptureInput(rtc::Event* capture_event,
41 rtc::VideoSinkInterface<VideoFrame>* local_renderer,
42 SendStatisticsProxy* send_stats_proxy,
43 OveruseFrameDetector* overuse_detector);
44 ~VideoCaptureInput();
45
46 void IncomingCapturedFrame(const VideoFrame& video_frame) override;
47
48 bool GetVideoFrame(VideoFrame* frame);
49
50 private:
51 rtc::CriticalSection crit_;
52
53 rtc::VideoSinkInterface<VideoFrame>* const local_renderer_;
54 SendStatisticsProxy* const stats_proxy_;
55 rtc::Event* const capture_event_;
56
57 std::unique_ptr<VideoFrame> captured_frame_ GUARDED_BY(crit_);
58 Clock* const clock_;
59 // Used to make sure incoming time stamp is increasing for every frame.
60 int64_t last_captured_timestamp_;
61 // Delta used for translating between NTP and internal timestamps.
62 const int64_t delta_ntp_internal_ms_;
63
64 OveruseFrameDetector* const overuse_detector_;
65 };
66
67 } // namespace internal
68 } // namespace webrtc
69
70 #endif // WEBRTC_VIDEO_VIDEO_CAPTURE_INPUT_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698