OLD | NEW |
1 /* | 1 /* |
2 * Copyright (c) 2013 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2013 The WebRTC project authors. All Rights Reserved. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license | 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 | 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 | 6 * tree. An additional intellectual property rights grant can be found |
7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
9 */ | 9 */ |
10 | 10 |
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
132 static const int kMaxLayers = 3; | 132 static const int kMaxLayers = 3; |
133 std::unique_ptr<IvfFileWriter> file_writers_[kMaxLayers]; | 133 std::unique_ptr<IvfFileWriter> file_writers_[kMaxLayers]; |
134 | 134 |
135 rtc::PlatformThread encoder_thread_; | 135 rtc::PlatformThread encoder_thread_; |
136 rtc::Event encoder_wakeup_event_; | 136 rtc::Event encoder_wakeup_event_; |
137 volatile int stop_encoder_thread_; | 137 volatile int stop_encoder_thread_; |
138 rtc::CriticalSection encoder_settings_crit_; | 138 rtc::CriticalSection encoder_settings_crit_; |
139 std::unique_ptr<EncoderSettings> pending_encoder_settings_ | 139 std::unique_ptr<EncoderSettings> pending_encoder_settings_ |
140 GUARDED_BY(encoder_settings_crit_); | 140 GUARDED_BY(encoder_settings_crit_); |
141 uint32_t encoder_max_bitrate_bps_ GUARDED_BY(encoder_settings_crit_); | 141 uint32_t encoder_max_bitrate_bps_ GUARDED_BY(encoder_settings_crit_); |
| 142 uint32_t encoder_target_rate_bps_ GUARDED_BY(encoder_settings_crit_); |
142 | 143 |
143 enum class State { | 144 enum class State { |
144 kStopped, // VideoSendStream::Start has not yet been called. | 145 kStopped, // VideoSendStream::Start has not yet been called. |
145 kStarted, // VideoSendStream::Start has been called. | 146 kStarted, // VideoSendStream::Start has been called. |
146 // VideoSendStream::Start has been called but the encoder have timed out. | 147 // VideoSendStream::Start has been called but the encoder have timed out. |
147 kEncoderTimedOut, | 148 kEncoderTimedOut, |
148 }; | 149 }; |
149 rtc::Optional<State> pending_state_change_ GUARDED_BY(encoder_settings_crit_); | 150 rtc::Optional<State> pending_state_change_ GUARDED_BY(encoder_settings_crit_); |
150 | 151 |
151 // Only used on the encoder thread. | 152 // Only used on the encoder thread. |
(...skipping 12 matching lines...) Expand all Loading... |
164 const std::unique_ptr<RtcpBandwidthObserver> bandwidth_observer_; | 165 const std::unique_ptr<RtcpBandwidthObserver> bandwidth_observer_; |
165 // RtpRtcp modules, declared here as they use other members on construction. | 166 // RtpRtcp modules, declared here as they use other members on construction. |
166 const std::vector<RtpRtcp*> rtp_rtcp_modules_; | 167 const std::vector<RtpRtcp*> rtp_rtcp_modules_; |
167 PayloadRouter payload_router_; | 168 PayloadRouter payload_router_; |
168 VideoCaptureInput input_; | 169 VideoCaptureInput input_; |
169 }; | 170 }; |
170 } // namespace internal | 171 } // namespace internal |
171 } // namespace webrtc | 172 } // namespace webrtc |
172 | 173 |
173 #endif // WEBRTC_VIDEO_VIDEO_SEND_STREAM_H_ | 174 #endif // WEBRTC_VIDEO_VIDEO_SEND_STREAM_H_ |
OLD | NEW |