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

Side by Side Diff: webrtc/voice_engine/channel.cc

Issue 2709723003: Initial implementation of RtpTransportControllerReceive and related interfaces.
Patch Set: Adapt Call to use the new RtpTransportReceive class. Created 3 years, 9 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 1550 matching lines...) Expand 10 before | Expand all | Expand 10 after
1561 if (header->payload_type_frequency < 0) 1561 if (header->payload_type_frequency < 0)
1562 return false; 1562 return false;
1563 bool in_order = IsPacketInOrder(*header); 1563 bool in_order = IsPacketInOrder(*header);
1564 rtp_receive_statistics_->IncomingPacket( 1564 rtp_receive_statistics_->IncomingPacket(
1565 *header, length, IsPacketRetransmitted(*header, in_order)); 1565 *header, length, IsPacketRetransmitted(*header, in_order));
1566 rtp_payload_registry_->SetIncomingPayloadType(*header); 1566 rtp_payload_registry_->SetIncomingPayloadType(*header);
1567 1567
1568 return ReceivePacket(received_packet, length, *header, in_order); 1568 return ReceivePacket(received_packet, length, *header, in_order);
1569 } 1569 }
1570 1570
1571 // TODO(nisse): Delete, as soon as the VoENetwork code is gone.
1571 int32_t Channel::ReceivedRTPPacket(const uint8_t* received_packet, 1572 int32_t Channel::ReceivedRTPPacket(const uint8_t* received_packet,
1572 size_t length, 1573 size_t length,
1573 const PacketTime& packet_time) { 1574 const PacketTime& packet_time) {
1574 WEBRTC_TRACE(kTraceStream, kTraceVoice, VoEId(_instanceId, _channelId), 1575 WEBRTC_TRACE(kTraceStream, kTraceVoice, VoEId(_instanceId, _channelId),
1575 "Channel::ReceivedRTPPacket()"); 1576 "Channel::ReceivedRTPPacket()");
1576 1577
1577 RTPHeader header; 1578 RTPHeader header;
1578 if (!rtp_header_parser_->Parse(received_packet, length, &header)) { 1579 if (!rtp_header_parser_->Parse(received_packet, length, &header)) {
1579 WEBRTC_TRACE(webrtc::kTraceDebug, webrtc::kTraceVoice, _channelId, 1580 WEBRTC_TRACE(webrtc::kTraceDebug, webrtc::kTraceVoice, _channelId,
1580 "Incoming packet: invalid RTP header"); 1581 "Incoming packet: invalid RTP header");
(...skipping 720 matching lines...) Expand 10 before | Expand all | Expand 10 after
2301 int Channel::GetRemoteSSRC(unsigned int& ssrc) { 2302 int Channel::GetRemoteSSRC(unsigned int& ssrc) {
2302 ssrc = rtp_receiver_->SSRC(); 2303 ssrc = rtp_receiver_->SSRC();
2303 return 0; 2304 return 0;
2304 } 2305 }
2305 2306
2306 int Channel::SetSendAudioLevelIndicationStatus(bool enable, unsigned char id) { 2307 int Channel::SetSendAudioLevelIndicationStatus(bool enable, unsigned char id) {
2307 _includeAudioLevelIndication = enable; 2308 _includeAudioLevelIndication = enable;
2308 return SetSendRtpHeaderExtension(enable, kRtpExtensionAudioLevel, id); 2309 return SetSendRtpHeaderExtension(enable, kRtpExtensionAudioLevel, id);
2309 } 2310 }
2310 2311
2311 int Channel::SetReceiveAudioLevelIndicationStatus(bool enable,
2312 unsigned char id) {
2313 rtp_header_parser_->DeregisterRtpHeaderExtension(kRtpExtensionAudioLevel);
2314 if (enable &&
2315 !rtp_header_parser_->RegisterRtpHeaderExtension(kRtpExtensionAudioLevel,
2316 id)) {
2317 return -1;
2318 }
2319 return 0;
2320 }
2321
2322 void Channel::EnableSendTransportSequenceNumber(int id) { 2312 void Channel::EnableSendTransportSequenceNumber(int id) {
2323 int ret = 2313 int ret =
2324 SetSendRtpHeaderExtension(true, kRtpExtensionTransportSequenceNumber, id); 2314 SetSendRtpHeaderExtension(true, kRtpExtensionTransportSequenceNumber, id);
2325 RTC_DCHECK_EQ(0, ret); 2315 RTC_DCHECK_EQ(0, ret);
2326 } 2316 }
2327 2317
2328 void Channel::EnableReceiveTransportSequenceNumber(int id) {
2329 rtp_header_parser_->DeregisterRtpHeaderExtension(
2330 kRtpExtensionTransportSequenceNumber);
2331 bool ret = rtp_header_parser_->RegisterRtpHeaderExtension(
2332 kRtpExtensionTransportSequenceNumber, id);
2333 RTC_DCHECK(ret);
2334 }
2335
2336 void Channel::RegisterSenderCongestionControlObjects( 2318 void Channel::RegisterSenderCongestionControlObjects(
2337 RtpPacketSender* rtp_packet_sender, 2319 RtpPacketSender* rtp_packet_sender,
2338 TransportFeedbackObserver* transport_feedback_observer, 2320 TransportFeedbackObserver* transport_feedback_observer,
2339 PacketRouter* packet_router, 2321 PacketRouter* packet_router,
2340 RtcpBandwidthObserver* bandwidth_observer) { 2322 RtcpBandwidthObserver* bandwidth_observer) {
2341 RTC_DCHECK(rtp_packet_sender); 2323 RTC_DCHECK(rtp_packet_sender);
2342 RTC_DCHECK(transport_feedback_observer); 2324 RTC_DCHECK(transport_feedback_observer);
2343 RTC_DCHECK(packet_router && !packet_router_); 2325 RTC_DCHECK(packet_router && !packet_router_);
2344 rtcp_observer_->SetBandwidthObserver(bandwidth_observer); 2326 rtcp_observer_->SetBandwidthObserver(bandwidth_observer);
2345 feedback_observer_proxy_->SetTransportFeedbackObserver( 2327 feedback_observer_proxy_->SetTransportFeedbackObserver(
(...skipping 646 matching lines...) Expand 10 before | Expand all | Expand 10 after
2992 int64_t min_rtt = 0; 2974 int64_t min_rtt = 0;
2993 if (_rtpRtcpModule->RTT(remoteSSRC, &rtt, &avg_rtt, &min_rtt, &max_rtt) != 2975 if (_rtpRtcpModule->RTT(remoteSSRC, &rtt, &avg_rtt, &min_rtt, &max_rtt) !=
2994 0) { 2976 0) {
2995 return 0; 2977 return 0;
2996 } 2978 }
2997 return rtt; 2979 return rtt;
2998 } 2980 }
2999 2981
3000 } // namespace voe 2982 } // namespace voe
3001 } // namespace webrtc 2983 } // namespace webrtc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698