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

Side by Side Diff: webrtc/modules/video_coding/video_coding_impl.h

Issue 1905983002: Use vcm::VideoReceiver on the receive side. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Created 4 years, 8 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
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
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
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
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_
OLDNEW
« no previous file with comments | « webrtc/modules/video_coding/receiver.cc ('k') | webrtc/modules/video_coding/video_coding_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698