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

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

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/voice_engine/channel.h ('k') | webrtc/voice_engine/channel_proxy.h » ('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 1699 matching lines...) Expand 10 before | Expand all | Expand 10 after
1710 if (header->payload_type_frequency < 0) 1710 if (header->payload_type_frequency < 0)
1711 return false; 1711 return false;
1712 bool in_order = IsPacketInOrder(*header); 1712 bool in_order = IsPacketInOrder(*header);
1713 rtp_receive_statistics_->IncomingPacket( 1713 rtp_receive_statistics_->IncomingPacket(
1714 *header, length, IsPacketRetransmitted(*header, in_order)); 1714 *header, length, IsPacketRetransmitted(*header, in_order));
1715 rtp_payload_registry_->SetIncomingPayloadType(*header); 1715 rtp_payload_registry_->SetIncomingPayloadType(*header);
1716 1716
1717 return ReceivePacket(received_packet, length, *header, in_order); 1717 return ReceivePacket(received_packet, length, *header, in_order);
1718 } 1718 }
1719 1719
1720 // TODO(nisse): Delete, as soon as the VoENetwork code is gone.
1720 int32_t Channel::ReceivedRTPPacket(const uint8_t* received_packet, 1721 int32_t Channel::ReceivedRTPPacket(const uint8_t* received_packet,
1721 size_t length, 1722 size_t length,
1722 const PacketTime& packet_time) { 1723 const PacketTime& packet_time) {
1723 WEBRTC_TRACE(kTraceStream, kTraceVoice, VoEId(_instanceId, _channelId), 1724 WEBRTC_TRACE(kTraceStream, kTraceVoice, VoEId(_instanceId, _channelId),
1724 "Channel::ReceivedRTPPacket()"); 1725 "Channel::ReceivedRTPPacket()");
1725 1726
1726 RTPHeader header; 1727 RTPHeader header;
1727 if (!rtp_header_parser_->Parse(received_packet, length, &header)) { 1728 if (!rtp_header_parser_->Parse(received_packet, length, &header)) {
1728 WEBRTC_TRACE(webrtc::kTraceDebug, webrtc::kTraceVoice, _channelId, 1729 WEBRTC_TRACE(webrtc::kTraceDebug, webrtc::kTraceVoice, _channelId,
1729 "Incoming packet: invalid RTP header"); 1730 "Incoming packet: invalid RTP header");
(...skipping 693 matching lines...) Expand 10 before | Expand all | Expand 10 after
2423 int Channel::GetRemoteSSRC(unsigned int& ssrc) { 2424 int Channel::GetRemoteSSRC(unsigned int& ssrc) {
2424 ssrc = rtp_receiver_->SSRC(); 2425 ssrc = rtp_receiver_->SSRC();
2425 return 0; 2426 return 0;
2426 } 2427 }
2427 2428
2428 int Channel::SetSendAudioLevelIndicationStatus(bool enable, unsigned char id) { 2429 int Channel::SetSendAudioLevelIndicationStatus(bool enable, unsigned char id) {
2429 _includeAudioLevelIndication = enable; 2430 _includeAudioLevelIndication = enable;
2430 return SetSendRtpHeaderExtension(enable, kRtpExtensionAudioLevel, id); 2431 return SetSendRtpHeaderExtension(enable, kRtpExtensionAudioLevel, id);
2431 } 2432 }
2432 2433
2433 int Channel::SetReceiveAudioLevelIndicationStatus(bool enable,
2434 unsigned char id) {
2435 rtp_header_parser_->DeregisterRtpHeaderExtension(kRtpExtensionAudioLevel);
2436 if (enable &&
2437 !rtp_header_parser_->RegisterRtpHeaderExtension(kRtpExtensionAudioLevel,
2438 id)) {
2439 return -1;
2440 }
2441 return 0;
2442 }
2443
2444 void Channel::EnableSendTransportSequenceNumber(int id) { 2434 void Channel::EnableSendTransportSequenceNumber(int id) {
2445 int ret = 2435 int ret =
2446 SetSendRtpHeaderExtension(true, kRtpExtensionTransportSequenceNumber, id); 2436 SetSendRtpHeaderExtension(true, kRtpExtensionTransportSequenceNumber, id);
2447 RTC_DCHECK_EQ(0, ret); 2437 RTC_DCHECK_EQ(0, ret);
2448 } 2438 }
2449 2439
2450 void Channel::EnableReceiveTransportSequenceNumber(int id) {
2451 rtp_header_parser_->DeregisterRtpHeaderExtension(
2452 kRtpExtensionTransportSequenceNumber);
2453 bool ret = rtp_header_parser_->RegisterRtpHeaderExtension(
2454 kRtpExtensionTransportSequenceNumber, id);
2455 RTC_DCHECK(ret);
2456 }
2457
2458 void Channel::RegisterSenderCongestionControlObjects( 2440 void Channel::RegisterSenderCongestionControlObjects(
2459 RtpTransportControllerSendInterface* transport, 2441 RtpTransportControllerSendInterface* transport,
2460 RtcpBandwidthObserver* bandwidth_observer) { 2442 RtcpBandwidthObserver* bandwidth_observer) {
2461 RtpPacketSender* rtp_packet_sender = transport->packet_sender(); 2443 RtpPacketSender* rtp_packet_sender = transport->packet_sender();
2462 TransportFeedbackObserver* transport_feedback_observer = 2444 TransportFeedbackObserver* transport_feedback_observer =
2463 transport->transport_feedback_observer(); 2445 transport->transport_feedback_observer();
2464 PacketRouter* packet_router = transport->packet_router(); 2446 PacketRouter* packet_router = transport->packet_router();
2465 2447
2466 RTC_DCHECK(rtp_packet_sender); 2448 RTC_DCHECK(rtp_packet_sender);
2467 RTC_DCHECK(transport_feedback_observer); 2449 RTC_DCHECK(transport_feedback_observer);
(...skipping 660 matching lines...) Expand 10 before | Expand all | Expand 10 after
3128 int64_t min_rtt = 0; 3110 int64_t min_rtt = 0;
3129 if (_rtpRtcpModule->RTT(remoteSSRC, &rtt, &avg_rtt, &min_rtt, &max_rtt) != 3111 if (_rtpRtcpModule->RTT(remoteSSRC, &rtt, &avg_rtt, &min_rtt, &max_rtt) !=
3130 0) { 3112 0) {
3131 return 0; 3113 return 0;
3132 } 3114 }
3133 return rtt; 3115 return rtt;
3134 } 3116 }
3135 3117
3136 } // namespace voe 3118 } // namespace voe
3137 } // namespace webrtc 3119 } // namespace webrtc
OLDNEW
« no previous file with comments | « webrtc/voice_engine/channel.h ('k') | webrtc/voice_engine/channel_proxy.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698