OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 #ifndef REMOTING_PROTOCOL_WEBRTC_VIDEO_STREAM_H_ | 5 #ifndef REMOTING_PROTOCOL_WEBRTC_VIDEO_STREAM_H_ |
6 #define REMOTING_PROTOCOL_WEBRTC_VIDEO_STREAM_H_ | 6 #define REMOTING_PROTOCOL_WEBRTC_VIDEO_STREAM_H_ |
7 | 7 |
8 #include <stdint.h> | 8 #include <stdint.h> |
9 | 9 |
10 #include <memory> | 10 #include <memory> |
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
83 // Used to encode captured frames. Always accessed on the encode thread. | 83 // Used to encode captured frames. Always accessed on the encode thread. |
84 std::unique_ptr<WebrtcVideoEncoder> encoder_; | 84 std::unique_ptr<WebrtcVideoEncoder> encoder_; |
85 | 85 |
86 scoped_refptr<InputEventTimestampsSource> event_timestamps_source_; | 86 scoped_refptr<InputEventTimestampsSource> event_timestamps_source_; |
87 | 87 |
88 scoped_refptr<webrtc::PeerConnectionInterface> peer_connection_; | 88 scoped_refptr<webrtc::PeerConnectionInterface> peer_connection_; |
89 scoped_refptr<webrtc::MediaStreamInterface> stream_; | 89 scoped_refptr<webrtc::MediaStreamInterface> stream_; |
90 | 90 |
91 HostVideoStatsDispatcher video_stats_dispatcher_; | 91 HostVideoStatsDispatcher video_stats_dispatcher_; |
92 | 92 |
| 93 // In case when the capturer failed to capture a frame the corresponding event |
| 94 // timestamps are saved in |next_frame_input_event_timestamps_| to be used for |
| 95 // the following frame. |
| 96 InputEventTimestamps next_frame_input_event_timestamps_; |
| 97 |
93 // Timestamps for the frame that's being captured. | 98 // Timestamps for the frame that's being captured. |
94 std::unique_ptr<FrameTimestamps> captured_frame_timestamps_; | 99 std::unique_ptr<FrameTimestamps> captured_frame_timestamps_; |
95 | 100 |
96 std::unique_ptr<WebrtcFrameScheduler> scheduler_; | 101 std::unique_ptr<WebrtcFrameScheduler> scheduler_; |
97 | 102 |
98 webrtc::DesktopSize frame_size_; | 103 webrtc::DesktopSize frame_size_; |
99 webrtc::DesktopVector frame_dpi_; | 104 webrtc::DesktopVector frame_dpi_; |
100 Observer* observer_ = nullptr; | 105 Observer* observer_ = nullptr; |
101 | 106 |
102 base::ThreadChecker thread_checker_; | 107 base::ThreadChecker thread_checker_; |
103 | 108 |
104 base::WeakPtrFactory<WebrtcVideoStream> weak_factory_; | 109 base::WeakPtrFactory<WebrtcVideoStream> weak_factory_; |
105 | 110 |
106 DISALLOW_COPY_AND_ASSIGN(WebrtcVideoStream); | 111 DISALLOW_COPY_AND_ASSIGN(WebrtcVideoStream); |
107 }; | 112 }; |
108 | 113 |
109 } // namespace protocol | 114 } // namespace protocol |
110 } // namespace remoting | 115 } // namespace remoting |
111 | 116 |
112 #endif // REMOTING_PROTOCOL_WEBRTC_VIDEO_STREAM_H_ | 117 #endif // REMOTING_PROTOCOL_WEBRTC_VIDEO_STREAM_H_ |
OLD | NEW |