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

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

Issue 2709723003: Initial implementation of RtpTransportControllerReceive and related interfaces.
Patch Set: Merge remote-tracking branch 'origin/master' into design-RtpTransportReceiveController Created 3 years, 3 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
« no previous file with comments | « webrtc/test/mock_voe_channel_proxy.h ('k') | webrtc/video/rtp_video_stream_receiver.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 148 matching lines...) Expand 10 before | Expand all | Expand 10 after
159 bool in_order); 159 bool in_order);
160 // Parses and handles for instance RTX and RED headers. 160 // Parses and handles for instance RTX and RED headers.
161 // This function assumes that it's being called from only one thread. 161 // This function assumes that it's being called from only one thread.
162 void ParseAndHandleEncapsulatingHeader(const uint8_t* packet, 162 void ParseAndHandleEncapsulatingHeader(const uint8_t* packet,
163 size_t packet_length, 163 size_t packet_length,
164 const RTPHeader& header); 164 const RTPHeader& header);
165 void NotifyReceiverOfFecPacket(const RTPHeader& header); 165 void NotifyReceiverOfFecPacket(const RTPHeader& header);
166 bool IsPacketInOrder(const RTPHeader& header) const; 166 bool IsPacketInOrder(const RTPHeader& header) const;
167 bool IsPacketRetransmitted(const RTPHeader& header, bool in_order) const; 167 bool IsPacketRetransmitted(const RTPHeader& header, bool in_order) const;
168 void UpdateHistograms(); 168 void UpdateHistograms();
169 void EnableReceiveRtpHeaderExtension(const std::string& extension, int id);
170 bool IsRedEnabled() const; 169 bool IsRedEnabled() const;
171 void InsertSpsPpsIntoTracker(uint8_t payload_type); 170 void InsertSpsPpsIntoTracker(uint8_t payload_type);
172 171
173 Clock* const clock_; 172 Clock* const clock_;
174 // Ownership of this object lies with VideoReceiveStream, which owns |this|. 173 // Ownership of this object lies with VideoReceiveStream, which owns |this|.
175 const VideoReceiveStream::Config& config_; 174 const VideoReceiveStream::Config& config_;
176 PacketRouter* const packet_router_; 175 PacketRouter* const packet_router_;
177 ProcessThread* const process_thread_; 176 ProcessThread* const process_thread_;
178 177
179 RemoteNtpTimeEstimator ntp_estimator_; 178 RemoteNtpTimeEstimator ntp_estimator_;
180 RTPPayloadRegistry rtp_payload_registry_; 179 RTPPayloadRegistry rtp_payload_registry_;
181 180
182 const std::unique_ptr<RtpHeaderParser> rtp_header_parser_; 181 RtpHeaderExtensionMap rtp_header_extensions_;
183 const std::unique_ptr<RtpReceiver> rtp_receiver_; 182 const std::unique_ptr<RtpReceiver> rtp_receiver_;
184 ReceiveStatistics* const rtp_receive_statistics_; 183 ReceiveStatistics* const rtp_receive_statistics_;
185 std::unique_ptr<UlpfecReceiver> ulpfec_receiver_; 184 std::unique_ptr<UlpfecReceiver> ulpfec_receiver_;
186 185
187 rtc::SequencedTaskChecker worker_task_checker_; 186 rtc::SequencedTaskChecker worker_task_checker_;
188 bool receiving_ GUARDED_BY(worker_task_checker_); 187 bool receiving_ GUARDED_BY(worker_task_checker_);
189 int64_t last_packet_log_ms_ GUARDED_BY(worker_task_checker_); 188 int64_t last_packet_log_ms_ GUARDED_BY(worker_task_checker_);
190 189
191 const std::unique_ptr<RtpRtcp> rtp_rtcp_; 190 const std::unique_ptr<RtpRtcp> rtp_rtcp_;
192 191
(...skipping 16 matching lines...) Expand all
209 208
210 bool has_received_frame_; 209 bool has_received_frame_;
211 210
212 std::vector<RtpPacketSinkInterface*> secondary_sinks_ 211 std::vector<RtpPacketSinkInterface*> secondary_sinks_
213 GUARDED_BY(worker_task_checker_); 212 GUARDED_BY(worker_task_checker_);
214 }; 213 };
215 214
216 } // namespace webrtc 215 } // namespace webrtc
217 216
218 #endif // WEBRTC_VIDEO_RTP_VIDEO_STREAM_RECEIVER_H_ 217 #endif // WEBRTC_VIDEO_RTP_VIDEO_STREAM_RECEIVER_H_
OLDNEW
« no previous file with comments | « webrtc/test/mock_voe_channel_proxy.h ('k') | webrtc/video/rtp_video_stream_receiver.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698