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

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

Issue 2709723003: Initial implementation of RtpTransportControllerReceive and related interfaces.
Patch Set: Rename foo_audio --> audio_foo. Created 3 years, 7 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 1673 matching lines...) Expand 10 before | Expand all | Expand 10 after
1684 if (header->payload_type_frequency < 0) 1684 if (header->payload_type_frequency < 0)
1685 return false; 1685 return false;
1686 bool in_order = IsPacketInOrder(*header); 1686 bool in_order = IsPacketInOrder(*header);
1687 rtp_receive_statistics_->IncomingPacket( 1687 rtp_receive_statistics_->IncomingPacket(
1688 *header, length, IsPacketRetransmitted(*header, in_order)); 1688 *header, length, IsPacketRetransmitted(*header, in_order));
1689 rtp_payload_registry_->SetIncomingPayloadType(*header); 1689 rtp_payload_registry_->SetIncomingPayloadType(*header);
1690 1690
1691 return ReceivePacket(received_packet, length, *header, in_order); 1691 return ReceivePacket(received_packet, length, *header, in_order);
1692 } 1692 }
1693 1693
1694 // TODO(nisse): Delete, as soon as the VoENetwork code is gone.
1694 int32_t Channel::ReceivedRTPPacket(const uint8_t* received_packet, 1695 int32_t Channel::ReceivedRTPPacket(const uint8_t* received_packet,
1695 size_t length, 1696 size_t length,
1696 const PacketTime& packet_time) { 1697 const PacketTime& packet_time) {
1697 WEBRTC_TRACE(kTraceStream, kTraceVoice, VoEId(_instanceId, _channelId), 1698 WEBRTC_TRACE(kTraceStream, kTraceVoice, VoEId(_instanceId, _channelId),
1698 "Channel::ReceivedRTPPacket()"); 1699 "Channel::ReceivedRTPPacket()");
1699 1700
1700 RTPHeader header; 1701 RTPHeader header;
1701 if (!rtp_header_parser_->Parse(received_packet, length, &header)) { 1702 if (!rtp_header_parser_->Parse(received_packet, length, &header)) {
1702 WEBRTC_TRACE(webrtc::kTraceDebug, webrtc::kTraceVoice, _channelId, 1703 WEBRTC_TRACE(webrtc::kTraceDebug, webrtc::kTraceVoice, _channelId,
1703 "Incoming packet: invalid RTP header"); 1704 "Incoming packet: invalid RTP header");
(...skipping 720 matching lines...) Expand 10 before | Expand all | Expand 10 after
2424 int Channel::GetRemoteSSRC(unsigned int& ssrc) { 2425 int Channel::GetRemoteSSRC(unsigned int& ssrc) {
2425 ssrc = rtp_receiver_->SSRC(); 2426 ssrc = rtp_receiver_->SSRC();
2426 return 0; 2427 return 0;
2427 } 2428 }
2428 2429
2429 int Channel::SetSendAudioLevelIndicationStatus(bool enable, unsigned char id) { 2430 int Channel::SetSendAudioLevelIndicationStatus(bool enable, unsigned char id) {
2430 _includeAudioLevelIndication = enable; 2431 _includeAudioLevelIndication = enable;
2431 return SetSendRtpHeaderExtension(enable, kRtpExtensionAudioLevel, id); 2432 return SetSendRtpHeaderExtension(enable, kRtpExtensionAudioLevel, id);
2432 } 2433 }
2433 2434
2434 int Channel::SetReceiveAudioLevelIndicationStatus(bool enable,
2435 unsigned char id) {
2436 rtp_header_parser_->DeregisterRtpHeaderExtension(kRtpExtensionAudioLevel);
2437 if (enable &&
2438 !rtp_header_parser_->RegisterRtpHeaderExtension(kRtpExtensionAudioLevel,
2439 id)) {
2440 return -1;
2441 }
2442 return 0;
2443 }
2444
2445 void Channel::EnableSendTransportSequenceNumber(int id) { 2435 void Channel::EnableSendTransportSequenceNumber(int id) {
2446 int ret = 2436 int ret =
2447 SetSendRtpHeaderExtension(true, kRtpExtensionTransportSequenceNumber, id); 2437 SetSendRtpHeaderExtension(true, kRtpExtensionTransportSequenceNumber, id);
2448 RTC_DCHECK_EQ(0, ret); 2438 RTC_DCHECK_EQ(0, ret);
2449 } 2439 }
2450 2440
2451 void Channel::EnableReceiveTransportSequenceNumber(int id) {
2452 rtp_header_parser_->DeregisterRtpHeaderExtension(
2453 kRtpExtensionTransportSequenceNumber);
2454 bool ret = rtp_header_parser_->RegisterRtpHeaderExtension(
2455 kRtpExtensionTransportSequenceNumber, id);
2456 RTC_DCHECK(ret);
2457 }
2458
2459 void Channel::RegisterSenderCongestionControlObjects( 2441 void Channel::RegisterSenderCongestionControlObjects(
2460 RtpTransportControllerSendInterface* transport, 2442 RtpTransportControllerSendInterface* transport,
2461 RtcpBandwidthObserver* bandwidth_observer) { 2443 RtcpBandwidthObserver* bandwidth_observer) {
2462 RtpPacketSender* rtp_packet_sender = transport->packet_sender(); 2444 RtpPacketSender* rtp_packet_sender = transport->packet_sender();
2463 TransportFeedbackObserver* transport_feedback_observer = 2445 TransportFeedbackObserver* transport_feedback_observer =
2464 transport->transport_feedback_observer(); 2446 transport->transport_feedback_observer();
2465 PacketRouter* packet_router = transport->packet_router(); 2447 PacketRouter* packet_router = transport->packet_router();
2466 2448
2467 RTC_DCHECK(rtp_packet_sender); 2449 RTC_DCHECK(rtp_packet_sender);
2468 RTC_DCHECK(transport_feedback_observer); 2450 RTC_DCHECK(transport_feedback_observer);
(...skipping 639 matching lines...) Expand 10 before | Expand all | Expand 10 after
3108 int64_t min_rtt = 0; 3090 int64_t min_rtt = 0;
3109 if (_rtpRtcpModule->RTT(remoteSSRC, &rtt, &avg_rtt, &min_rtt, &max_rtt) != 3091 if (_rtpRtcpModule->RTT(remoteSSRC, &rtt, &avg_rtt, &min_rtt, &max_rtt) !=
3110 0) { 3092 0) {
3111 return 0; 3093 return 0;
3112 } 3094 }
3113 return rtt; 3095 return rtt;
3114 } 3096 }
3115 3097
3116 } // namespace voe 3098 } // namespace voe
3117 } // namespace webrtc 3099 } // 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