Index: webrtc/voice_engine/channel.cc |
diff --git a/webrtc/voice_engine/channel.cc b/webrtc/voice_engine/channel.cc |
index a9cf2b26dc8edea51bb8d56b57d13a52275e58b2..c64bbf035d85f27abd571f4f5f8d905436057508 100644 |
--- a/webrtc/voice_engine/channel.cc |
+++ b/webrtc/voice_engine/channel.cc |
@@ -32,6 +32,7 @@ |
#include "webrtc/modules/rtp_rtcp/include/receive_statistics.h" |
#include "webrtc/modules/rtp_rtcp/include/rtp_payload_registry.h" |
#include "webrtc/modules/rtp_rtcp/include/rtp_receiver.h" |
+#include "webrtc/modules/rtp_rtcp/source/rtp_packet_received.h" |
#include "webrtc/modules/rtp_rtcp/source/rtp_receiver_strategy.h" |
#include "webrtc/modules/utility/include/process_thread.h" |
#include "webrtc/system_wrappers/include/trace.h" |
@@ -1634,9 +1635,7 @@ int32_t Channel::DeRegisterExternalTransport() { |
return 0; |
} |
-int32_t Channel::ReceivedRTPPacket(const uint8_t* received_packet, |
- size_t length, |
- const PacketTime& packet_time) { |
+int32_t Channel::OnRTPPacket(const RtpPacketReceived& packet) { |
WEBRTC_TRACE(kTraceStream, kTraceVoice, VoEId(_instanceId, _channelId), |
"Channel::ReceivedRTPPacket()"); |
@@ -1644,21 +1643,18 @@ int32_t Channel::ReceivedRTPPacket(const uint8_t* received_packet, |
UpdatePlayoutTimestamp(false); |
RTPHeader header; |
- if (!rtp_header_parser_->Parse(received_packet, length, &header)) { |
- WEBRTC_TRACE(webrtc::kTraceDebug, webrtc::kTraceVoice, _channelId, |
- "Incoming packet: invalid RTP header"); |
- return -1; |
- } |
+ packet.GetHeader(&header); |
header.payload_type_frequency = |
rtp_payload_registry_->GetPayloadTypeFrequency(header.payloadType); |
if (header.payload_type_frequency < 0) |
return -1; |
bool in_order = IsPacketInOrder(header); |
rtp_receive_statistics_->IncomingPacket( |
- header, length, IsPacketRetransmitted(header, in_order)); |
+ header, packet.size(), IsPacketRetransmitted(header, in_order)); |
rtp_payload_registry_->SetIncomingPayloadType(header); |
- return ReceivePacket(received_packet, length, header, in_order) ? 0 : -1; |
+ // TODO(nisse): Is .data() and .size() right? |
+ return ReceivePacket(packet.data(), packet.size(), header, in_order) ? 0 : -1; |
} |
bool Channel::ReceivePacket(const uint8_t* packet, |