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 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
58 class ViEChannel : public VCMFrameTypeCallback, | 58 class ViEChannel : public VCMFrameTypeCallback, |
59 public VCMReceiveCallback, | 59 public VCMReceiveCallback, |
60 public VCMReceiveStatisticsCallback, | 60 public VCMReceiveStatisticsCallback, |
61 public VCMDecoderTimingCallback, | 61 public VCMDecoderTimingCallback, |
62 public VCMPacketRequestCallback, | 62 public VCMPacketRequestCallback, |
63 public RtpFeedback { | 63 public RtpFeedback { |
64 public: | 64 public: |
65 friend class ChannelStatsObserver; | 65 friend class ChannelStatsObserver; |
66 friend class ViEChannelProtectionCallback; | 66 friend class ViEChannelProtectionCallback; |
67 | 67 |
68 ViEChannel(int32_t channel_id, | 68 ViEChannel(uint32_t number_of_cores, |
69 int32_t engine_id, | |
70 uint32_t number_of_cores, | |
71 Transport* transport, | 69 Transport* transport, |
72 ProcessThread* module_process_thread, | 70 ProcessThread* module_process_thread, |
73 RtcpIntraFrameObserver* intra_frame_observer, | 71 RtcpIntraFrameObserver* intra_frame_observer, |
74 RtcpBandwidthObserver* bandwidth_observer, | 72 RtcpBandwidthObserver* bandwidth_observer, |
75 TransportFeedbackObserver* transport_feedback_observer, | 73 TransportFeedbackObserver* transport_feedback_observer, |
76 RemoteBitrateEstimator* remote_bitrate_estimator, | 74 RemoteBitrateEstimator* remote_bitrate_estimator, |
77 RtcpRttStats* rtt_stats, | 75 RtcpRttStats* rtt_stats, |
78 PacedSender* paced_sender, | 76 PacedSender* paced_sender, |
79 PacketRouter* packet_router, | 77 PacketRouter* packet_router, |
80 size_t max_rtp_streams, | 78 size_t max_rtp_streams, |
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
185 | 183 |
186 void GetReceiveRtcpPacketTypeCounter( | 184 void GetReceiveRtcpPacketTypeCounter( |
187 RtcpPacketTypeCounter* packet_counter) const; | 185 RtcpPacketTypeCounter* packet_counter) const; |
188 | 186 |
189 void RegisterSendSideDelayObserver(SendSideDelayObserver* observer); | 187 void RegisterSendSideDelayObserver(SendSideDelayObserver* observer); |
190 | 188 |
191 // Called on any new send bitrate estimate. | 189 // Called on any new send bitrate estimate. |
192 void RegisterSendBitrateObserver(BitrateStatisticsObserver* observer); | 190 void RegisterSendBitrateObserver(BitrateStatisticsObserver* observer); |
193 | 191 |
194 // Implements RtpFeedback. | 192 // Implements RtpFeedback. |
195 virtual int32_t OnInitializeDecoder( | 193 int32_t OnInitializeDecoder(const int8_t payload_type, |
196 const int32_t id, | 194 const char payload_name[RTP_PAYLOAD_NAME_SIZE], |
197 const int8_t payload_type, | 195 const int frequency, |
198 const char payload_name[RTP_PAYLOAD_NAME_SIZE], | 196 const uint8_t channels, |
199 const int frequency, | 197 const uint32_t rate) override; |
200 const uint8_t channels, | 198 void OnIncomingSSRCChanged(const uint32_t ssrc) override; |
201 const uint32_t rate); | 199 void OnIncomingCSRCChanged(const uint32_t CSRC, const bool added) override; |
202 virtual void OnIncomingSSRCChanged(const int32_t id, | |
203 const uint32_t ssrc); | |
204 virtual void OnIncomingCSRCChanged(const int32_t id, | |
205 const uint32_t CSRC, | |
206 const bool added); | |
207 | 200 |
208 int32_t SetRemoteSSRCType(const StreamType usage, const uint32_t SSRC); | 201 int32_t SetRemoteSSRCType(const StreamType usage, const uint32_t SSRC); |
209 | 202 |
210 int32_t StartSend(); | 203 int32_t StartSend(); |
211 int32_t StopSend(); | 204 int32_t StopSend(); |
212 bool Sending(); | 205 bool Sending(); |
213 void StartReceive(); | 206 void StartReceive(); |
214 void StopReceive(); | 207 void StopReceive(); |
215 | 208 |
216 int32_t ReceivedRTPPacket(const void* rtp_packet, | 209 int32_t ReceivedRTPPacket(const void* rtp_packet, |
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
289 void OnRttUpdate(int64_t avg_rtt_ms, int64_t max_rtt_ms); | 282 void OnRttUpdate(int64_t avg_rtt_ms, int64_t max_rtt_ms); |
290 | 283 |
291 int ProtectionRequest(const FecProtectionParams* delta_fec_params, | 284 int ProtectionRequest(const FecProtectionParams* delta_fec_params, |
292 const FecProtectionParams* key_fec_params, | 285 const FecProtectionParams* key_fec_params, |
293 uint32_t* sent_video_rate_bps, | 286 uint32_t* sent_video_rate_bps, |
294 uint32_t* sent_nack_rate_bps, | 287 uint32_t* sent_nack_rate_bps, |
295 uint32_t* sent_fec_rate_bps); | 288 uint32_t* sent_fec_rate_bps); |
296 | 289 |
297 private: | 290 private: |
298 static std::vector<RtpRtcp*> CreateRtpRtcpModules( | 291 static std::vector<RtpRtcp*> CreateRtpRtcpModules( |
299 int32_t id, | |
300 bool receiver_only, | 292 bool receiver_only, |
301 ReceiveStatistics* receive_statistics, | 293 ReceiveStatistics* receive_statistics, |
302 Transport* outgoing_transport, | 294 Transport* outgoing_transport, |
303 RtcpIntraFrameObserver* intra_frame_callback, | 295 RtcpIntraFrameObserver* intra_frame_callback, |
304 RtcpBandwidthObserver* bandwidth_callback, | 296 RtcpBandwidthObserver* bandwidth_callback, |
305 TransportFeedbackObserver* transport_feedback_callback, | 297 TransportFeedbackObserver* transport_feedback_callback, |
306 RtcpRttStats* rtt_stats, | 298 RtcpRttStats* rtt_stats, |
307 RtcpPacketTypeCounterObserver* rtcp_packet_type_counter_observer, | 299 RtcpPacketTypeCounterObserver* rtcp_packet_type_counter_observer, |
308 RemoteBitrateEstimator* remote_bitrate_estimator, | 300 RemoteBitrateEstimator* remote_bitrate_estimator, |
309 PacedSender* paced_sender, | 301 PacedSender* paced_sender, |
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
403 const { | 395 const { |
404 CriticalSectionScoped cs(critsect_.get()); | 396 CriticalSectionScoped cs(critsect_.get()); |
405 return counter_map_; | 397 return counter_map_; |
406 } | 398 } |
407 | 399 |
408 private: | 400 private: |
409 std::map<uint32_t, RtcpPacketTypeCounter> counter_map_ | 401 std::map<uint32_t, RtcpPacketTypeCounter> counter_map_ |
410 GUARDED_BY(critsect_); | 402 GUARDED_BY(critsect_); |
411 } rtcp_packet_type_counter_observer_; | 403 } rtcp_packet_type_counter_observer_; |
412 | 404 |
413 const int32_t channel_id_; | |
414 const int32_t engine_id_; | |
415 const uint32_t number_of_cores_; | 405 const uint32_t number_of_cores_; |
416 const bool sender_; | 406 const bool sender_; |
417 | 407 |
418 ProcessThread* const module_process_thread_; | 408 ProcessThread* const module_process_thread_; |
419 | 409 |
420 // Used for all registered callbacks except rendering. | 410 // Used for all registered callbacks except rendering. |
421 rtc::scoped_ptr<CriticalSectionWrapper> crit_; | 411 rtc::scoped_ptr<CriticalSectionWrapper> crit_; |
422 | 412 |
423 // Owned modules/classes. | 413 // Owned modules/classes. |
424 rtc::scoped_refptr<PayloadRouter> send_payload_router_; | 414 rtc::scoped_refptr<PayloadRouter> send_payload_router_; |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
456 size_t num_rtts_ GUARDED_BY(crit_); | 446 size_t num_rtts_ GUARDED_BY(crit_); |
457 | 447 |
458 // RtpRtcp modules, declared last as they use other members on construction. | 448 // RtpRtcp modules, declared last as they use other members on construction. |
459 const std::vector<RtpRtcp*> rtp_rtcp_modules_; | 449 const std::vector<RtpRtcp*> rtp_rtcp_modules_; |
460 size_t num_active_rtp_rtcp_modules_ GUARDED_BY(crit_); | 450 size_t num_active_rtp_rtcp_modules_ GUARDED_BY(crit_); |
461 }; | 451 }; |
462 | 452 |
463 } // namespace webrtc | 453 } // namespace webrtc |
464 | 454 |
465 #endif // WEBRTC_VIDEO_ENGINE_VIE_CHANNEL_H_ | 455 #endif // WEBRTC_VIDEO_ENGINE_VIE_CHANNEL_H_ |
OLD | NEW |