OLD | NEW |
1 /* | 1 /* |
2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2012 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 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
121 | 121 |
122 VCMQMSettingsCallback* const qm_settings_callback_; | 122 VCMQMSettingsCallback* const qm_settings_callback_; |
123 VCMProtectionCallback* protection_callback_; | 123 VCMProtectionCallback* protection_callback_; |
124 | 124 |
125 rtc::CriticalSection params_crit_; | 125 rtc::CriticalSection params_crit_; |
126 EncoderParameters encoder_params_ GUARDED_BY(params_crit_); | 126 EncoderParameters encoder_params_ GUARDED_BY(params_crit_); |
127 bool encoder_has_internal_source_ GUARDED_BY(params_crit_); | 127 bool encoder_has_internal_source_ GUARDED_BY(params_crit_); |
128 std::vector<FrameType> next_frame_types_ GUARDED_BY(params_crit_); | 128 std::vector<FrameType> next_frame_types_ GUARDED_BY(params_crit_); |
129 }; | 129 }; |
130 | 130 |
131 class VideoReceiver { | 131 class VideoReceiver : public Module { |
132 public: | 132 public: |
133 typedef VideoCodingModule::ReceiverRobustness ReceiverRobustness; | 133 typedef VideoCodingModule::ReceiverRobustness ReceiverRobustness; |
134 | 134 |
135 VideoReceiver(Clock* clock, | 135 VideoReceiver(Clock* clock, |
136 EventFactory* event_factory, | 136 EventFactory* event_factory, |
137 EncodedImageCallback* pre_decode_image_callback, | 137 EncodedImageCallback* pre_decode_image_callback, |
138 NackSender* nack_sender = nullptr, | 138 NackSender* nack_sender = nullptr, |
139 KeyFrameRequestSender* keyframe_request_sender = nullptr); | 139 KeyFrameRequestSender* keyframe_request_sender = nullptr); |
140 ~VideoReceiver(); | 140 ~VideoReceiver(); |
141 | 141 |
(...skipping 30 matching lines...) Expand all Loading... |
172 void SetNackSettings(size_t max_nack_list_size, | 172 void SetNackSettings(size_t max_nack_list_size, |
173 int max_packet_age_to_nack, | 173 int max_packet_age_to_nack, |
174 int max_incomplete_time_ms); | 174 int max_incomplete_time_ms); |
175 | 175 |
176 void SetDecodeErrorMode(VCMDecodeErrorMode decode_error_mode); | 176 void SetDecodeErrorMode(VCMDecodeErrorMode decode_error_mode); |
177 int SetMinReceiverDelay(int desired_delay_ms); | 177 int SetMinReceiverDelay(int desired_delay_ms); |
178 | 178 |
179 int32_t SetReceiveChannelParameters(int64_t rtt); | 179 int32_t SetReceiveChannelParameters(int64_t rtt); |
180 int32_t SetVideoProtection(VCMVideoProtection videoProtection, bool enable); | 180 int32_t SetVideoProtection(VCMVideoProtection videoProtection, bool enable); |
181 | 181 |
182 int64_t TimeUntilNextProcess(); | 182 int64_t TimeUntilNextProcess() override; |
183 void Process(); | 183 void Process() override; |
184 | 184 |
185 void TriggerDecoderShutdown(); | 185 void TriggerDecoderShutdown(); |
186 | 186 |
187 protected: | 187 protected: |
188 int32_t Decode(const webrtc::VCMEncodedFrame& frame) | 188 int32_t Decode(const webrtc::VCMEncodedFrame& frame) |
189 EXCLUSIVE_LOCKS_REQUIRED(receive_crit_); | 189 EXCLUSIVE_LOCKS_REQUIRED(receive_crit_); |
190 int32_t RequestKeyFrame(); | 190 int32_t RequestKeyFrame(); |
191 int32_t RequestSliceLossIndication(const uint64_t pictureID) const; | 191 int32_t RequestSliceLossIndication(const uint64_t pictureID) const; |
192 | 192 |
193 private: | 193 private: |
(...skipping 22 matching lines...) Expand all Loading... |
216 VCMProcessTimer _receiveStatsTimer; | 216 VCMProcessTimer _receiveStatsTimer; |
217 VCMProcessTimer _retransmissionTimer; | 217 VCMProcessTimer _retransmissionTimer; |
218 VCMProcessTimer _keyRequestTimer; | 218 VCMProcessTimer _keyRequestTimer; |
219 QpParser qp_parser_; | 219 QpParser qp_parser_; |
220 ThreadUnsafeOneTimeEvent first_frame_received_; | 220 ThreadUnsafeOneTimeEvent first_frame_received_; |
221 }; | 221 }; |
222 | 222 |
223 } // namespace vcm | 223 } // namespace vcm |
224 } // namespace webrtc | 224 } // namespace webrtc |
225 #endif // WEBRTC_MODULES_VIDEO_CODING_VIDEO_CODING_IMPL_H_ | 225 #endif // WEBRTC_MODULES_VIDEO_CODING_VIDEO_CODING_IMPL_H_ |
OLD | NEW |