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 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
65 public VCMPacketRequestCallback, | 65 public VCMPacketRequestCallback, |
66 public video_coding::OnReceivedFrameCallback, | 66 public video_coding::OnReceivedFrameCallback, |
67 public video_coding::OnCompleteFrameCallback, | 67 public video_coding::OnCompleteFrameCallback, |
68 public CallStatsObserver { | 68 public CallStatsObserver { |
69 public: | 69 public: |
70 RtpVideoStreamReceiver( | 70 RtpVideoStreamReceiver( |
71 Transport* transport, | 71 Transport* transport, |
72 RtcpRttStats* rtt_stats, | 72 RtcpRttStats* rtt_stats, |
73 PacketRouter* packet_router, | 73 PacketRouter* packet_router, |
74 const VideoReceiveStream::Config* config, | 74 const VideoReceiveStream::Config* config, |
75 ReceiveStatistics* rtp_receive_statistics, | |
76 ReceiveStatisticsProxy* receive_stats_proxy, | 75 ReceiveStatisticsProxy* receive_stats_proxy, |
77 ProcessThread* process_thread, | 76 ProcessThread* process_thread, |
78 NackSender* nack_sender, | 77 NackSender* nack_sender, |
79 KeyFrameRequestSender* keyframe_request_sender, | 78 KeyFrameRequestSender* keyframe_request_sender, |
80 video_coding::OnCompleteFrameCallback* complete_frame_callback, | 79 video_coding::OnCompleteFrameCallback* complete_frame_callback, |
81 VCMTiming* timing); | 80 VCMTiming* timing); |
82 ~RtpVideoStreamReceiver(); | 81 ~RtpVideoStreamReceiver(); |
83 | 82 |
84 bool AddReceiveCodec(const VideoCodec& video_codec, | 83 bool AddReceiveCodec(const VideoCodec& video_codec, |
85 const std::map<std::string, std::string>& codec_params); | 84 const std::map<std::string, std::string>& codec_params); |
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
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 const std::unique_ptr<RtpHeaderParser> rtp_header_parser_; |
183 const std::unique_ptr<RtpReceiver> rtp_receiver_; | 182 const std::unique_ptr<RtpReceiver> rtp_receiver_; |
184 ReceiveStatistics* const rtp_receive_statistics_; | 183 const std::unique_ptr<ReceiveStatistics> 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_); |
| 188 uint8_t restored_packet_[IP_PACKET_SIZE] GUARDED_BY(worker_task_checker_); |
| 189 bool restored_packet_in_use_ GUARDED_BY(worker_task_checker_); |
189 int64_t last_packet_log_ms_ GUARDED_BY(worker_task_checker_); | 190 int64_t last_packet_log_ms_ GUARDED_BY(worker_task_checker_); |
190 | 191 |
191 const std::unique_ptr<RtpRtcp> rtp_rtcp_; | 192 const std::unique_ptr<RtpRtcp> rtp_rtcp_; |
192 | 193 |
193 // Members for the new jitter buffer experiment. | 194 // Members for the new jitter buffer experiment. |
194 video_coding::OnCompleteFrameCallback* complete_frame_callback_; | 195 video_coding::OnCompleteFrameCallback* complete_frame_callback_; |
195 KeyFrameRequestSender* keyframe_request_sender_; | 196 KeyFrameRequestSender* keyframe_request_sender_; |
196 VCMTiming* timing_; | 197 VCMTiming* timing_; |
197 std::unique_ptr<NackModule> nack_module_; | 198 std::unique_ptr<NackModule> nack_module_; |
198 rtc::scoped_refptr<video_coding::PacketBuffer> packet_buffer_; | 199 rtc::scoped_refptr<video_coding::PacketBuffer> packet_buffer_; |
(...skipping 10 matching lines...) Expand all Loading... |
209 | 210 |
210 bool has_received_frame_; | 211 bool has_received_frame_; |
211 | 212 |
212 std::vector<RtpPacketSinkInterface*> secondary_sinks_ | 213 std::vector<RtpPacketSinkInterface*> secondary_sinks_ |
213 GUARDED_BY(worker_task_checker_); | 214 GUARDED_BY(worker_task_checker_); |
214 }; | 215 }; |
215 | 216 |
216 } // namespace webrtc | 217 } // namespace webrtc |
217 | 218 |
218 #endif // WEBRTC_VIDEO_RTP_VIDEO_STREAM_RECEIVER_H_ | 219 #endif // WEBRTC_VIDEO_RTP_VIDEO_STREAM_RECEIVER_H_ |
OLD | NEW |