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 configuration.audio_messages, | 65 configuration.audio_messages, |
66 configuration.paced_sender, | 66 configuration.paced_sender, |
67 configuration.transport_sequence_number_allocator, | 67 configuration.transport_sequence_number_allocator, |
68 configuration.transport_feedback_callback, | 68 configuration.transport_feedback_callback, |
69 configuration.send_bitrate_observer, | 69 configuration.send_bitrate_observer, |
70 configuration.send_frame_count_observer, | 70 configuration.send_frame_count_observer, |
71 configuration.send_side_delay_observer), | 71 configuration.send_side_delay_observer), |
72 rtcp_sender_(configuration.audio, | 72 rtcp_sender_(configuration.audio, |
73 configuration.clock, | 73 configuration.clock, |
74 configuration.receive_statistics, | 74 configuration.receive_statistics, |
75 configuration.rtcp_packet_type_counter_observer), | 75 configuration.rtcp_packet_type_counter_observer, |
| 76 configuration.outgoing_transport), |
76 rtcp_receiver_(configuration.clock, | 77 rtcp_receiver_(configuration.clock, |
77 configuration.receiver_only, | 78 configuration.receiver_only, |
78 configuration.rtcp_packet_type_counter_observer, | 79 configuration.rtcp_packet_type_counter_observer, |
79 configuration.bandwidth_callback, | 80 configuration.bandwidth_callback, |
80 configuration.intra_frame_callback, | 81 configuration.intra_frame_callback, |
81 configuration.transport_feedback_callback, | 82 configuration.transport_feedback_callback, |
82 this), | 83 this), |
83 clock_(configuration.clock), | 84 clock_(configuration.clock), |
84 audio_(configuration.audio), | 85 audio_(configuration.audio), |
85 collision_detected_(false), | 86 collision_detected_(false), |
86 last_process_time_(configuration.clock->TimeInMilliseconds()), | 87 last_process_time_(configuration.clock->TimeInMilliseconds()), |
87 last_bitrate_process_time_(configuration.clock->TimeInMilliseconds()), | 88 last_bitrate_process_time_(configuration.clock->TimeInMilliseconds()), |
88 last_rtt_process_time_(configuration.clock->TimeInMilliseconds()), | 89 last_rtt_process_time_(configuration.clock->TimeInMilliseconds()), |
89 packet_overhead_(28), // IPV4 UDP. | 90 packet_overhead_(28), // IPV4 UDP. |
90 padding_index_(static_cast<size_t>(-1)), // Start padding at first child. | 91 padding_index_(static_cast<size_t>(-1)), // Start padding at first child. |
91 nack_method_(kNackOff), | 92 nack_method_(kNackOff), |
92 nack_last_time_sent_full_(0), | 93 nack_last_time_sent_full_(0), |
93 nack_last_time_sent_full_prev_(0), | 94 nack_last_time_sent_full_prev_(0), |
94 nack_last_seq_number_sent_(0), | 95 nack_last_seq_number_sent_(0), |
95 key_frame_req_method_(kKeyFrameReqFirRtp), | 96 key_frame_req_method_(kKeyFrameReqFirRtp), |
96 remote_bitrate_(configuration.remote_bitrate_estimator), | 97 remote_bitrate_(configuration.remote_bitrate_estimator), |
97 rtt_stats_(configuration.rtt_stats), | 98 rtt_stats_(configuration.rtt_stats), |
98 critical_section_rtt_(CriticalSectionWrapper::CreateCriticalSection()), | 99 critical_section_rtt_(CriticalSectionWrapper::CreateCriticalSection()), |
99 rtt_ms_(0) { | 100 rtt_ms_(0) { |
100 send_video_codec_.codecType = kVideoCodecUnknown; | 101 send_video_codec_.codecType = kVideoCodecUnknown; |
101 | 102 |
102 // TODO(pwestin) move to constructors of each rtp/rtcp sender/receiver object. | |
103 rtcp_sender_.RegisterSendTransport(configuration.outgoing_transport); | |
104 | |
105 // Make sure that RTCP objects are aware of our SSRC. | 103 // Make sure that RTCP objects are aware of our SSRC. |
106 uint32_t SSRC = rtp_sender_.SSRC(); | 104 uint32_t SSRC = rtp_sender_.SSRC(); |
107 rtcp_sender_.SetSSRC(SSRC); | 105 rtcp_sender_.SetSSRC(SSRC); |
108 SetRtcpReceiverSsrcs(SSRC); | 106 SetRtcpReceiverSsrcs(SSRC); |
109 } | 107 } |
110 | 108 |
111 // Returns the number of milliseconds until the module want a worker thread | 109 // Returns the number of milliseconds until the module want a worker thread |
112 // to call Process. | 110 // to call Process. |
113 int64_t ModuleRtpRtcpImpl::TimeUntilNextProcess() { | 111 int64_t ModuleRtpRtcpImpl::TimeUntilNextProcess() { |
114 const int64_t now = clock_->TimeInMilliseconds(); | 112 const int64_t now = clock_->TimeInMilliseconds(); |
(...skipping 874 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
989 void ModuleRtpRtcpImpl::RegisterSendChannelRtpStatisticsCallback( | 987 void ModuleRtpRtcpImpl::RegisterSendChannelRtpStatisticsCallback( |
990 StreamDataCountersCallback* callback) { | 988 StreamDataCountersCallback* callback) { |
991 rtp_sender_.RegisterRtpStatisticsCallback(callback); | 989 rtp_sender_.RegisterRtpStatisticsCallback(callback); |
992 } | 990 } |
993 | 991 |
994 StreamDataCountersCallback* | 992 StreamDataCountersCallback* |
995 ModuleRtpRtcpImpl::GetSendChannelRtpStatisticsCallback() const { | 993 ModuleRtpRtcpImpl::GetSendChannelRtpStatisticsCallback() const { |
996 return rtp_sender_.GetRtpStatisticsCallback(); | 994 return rtp_sender_.GetRtpStatisticsCallback(); |
997 } | 995 } |
998 } // namespace webrtc | 996 } // namespace webrtc |
OLD | NEW |