diff --git a/webrtc/pc/channel.cc b/webrtc/pc/channel.cc index 80fd75b5e8..f6568c3c18 100644 --- a/webrtc/pc/channel.cc +++ b/webrtc/pc/channel.cc @@ -748,7 +748,7 @@ bool BaseChannel::HandlesPayloadType(int packet_type) const { } void BaseChannel::OnPacketReceived(bool rtcp, - rtc::CopyOnWriteBuffer& packet, + rtc::CopyOnWriteBuffer* packet, const rtc::PacketTime& packet_time) { if (!has_received_packet_ && !rtcp) { has_received_packet_ = true; @@ -758,8 +758,8 @@ void BaseChannel::OnPacketReceived(bool rtcp, // Unprotect the packet, if needed. if (srtp_filter_.IsActive()) { TRACE_EVENT0("webrtc", "SRTP Decode"); - char* data = packet.data(); - int len = static_cast(packet.size()); + char* data = packet->data(); + int len = static_cast(packet->size()); bool res; if (!rtcp) { res = srtp_filter_.UnprotectRtp(data, len, &len); @@ -784,7 +784,7 @@ void BaseChannel::OnPacketReceived(bool rtcp, } } - packet.SetSize(len); + packet->SetSize(len); } else if (srtp_required_) { // Our session description indicates that SRTP is required, but we got a // packet before our SRTP filter is active. This means either that @@ -804,7 +804,7 @@ void BaseChannel::OnPacketReceived(bool rtcp, invoker_.AsyncInvoke( RTC_FROM_HERE, worker_thread_, - Bind(&BaseChannel::ProcessPacket, this, rtcp, packet, packet_time)); + Bind(&BaseChannel::ProcessPacket, this, rtcp, *packet, packet_time)); } void BaseChannel::ProcessPacket(bool rtcp, @@ -1678,7 +1678,7 @@ void VoiceChannel::GetActiveStreams_w(AudioInfo::StreamList* actives) { } void VoiceChannel::OnPacketReceived(bool rtcp, - rtc::CopyOnWriteBuffer& packet, + rtc::CopyOnWriteBuffer* packet, const rtc::PacketTime& packet_time) { BaseChannel::OnPacketReceived(rtcp, packet, packet_time); // Set a flag when we've received an RTP packet. If we're waiting for early diff --git a/webrtc/pc/channel.h b/webrtc/pc/channel.h index ae3a29a2ff..11d21212f8 100644 --- a/webrtc/pc/channel.h +++ b/webrtc/pc/channel.h @@ -271,7 +271,7 @@ class BaseChannel const rtc::PacketTime& packet_time); // TODO(zstein): packet can be const once the RtpTransport handles protection. virtual void OnPacketReceived(bool rtcp, - rtc::CopyOnWriteBuffer& packet, + rtc::CopyOnWriteBuffer* packet, const rtc::PacketTime& packet_time); void ProcessPacket(bool rtcp, const rtc::CopyOnWriteBuffer& packet, @@ -505,7 +505,7 @@ class VoiceChannel : public BaseChannel { private: // overrides from BaseChannel void OnPacketReceived(bool rtcp, - rtc::CopyOnWriteBuffer& packet, + rtc::CopyOnWriteBuffer* packet, const rtc::PacketTime& packet_time) override; void UpdateMediaSendRecvState_w() override; const ContentInfo* GetFirstContent(const SessionDescription* sdesc) override; diff --git a/webrtc/pc/rtptransport.cc b/webrtc/pc/rtptransport.cc index 6b0141fc8e..d530c73c50 100644 --- a/webrtc/pc/rtptransport.cc +++ b/webrtc/pc/rtptransport.cc @@ -190,7 +190,7 @@ void RtpTransport::OnReadPacket(rtc::PacketTransportInternal* transport, } // This mutates |packet| if it is protected. - SignalPacketReceived(rtcp, packet, packet_time); + SignalPacketReceived(rtcp, &packet, packet_time); } bool RtpTransport::WantsPacket(bool rtcp, diff --git a/webrtc/pc/rtptransport.h b/webrtc/pc/rtptransport.h index 87f29bac2a..a86fa126bb 100644 --- a/webrtc/pc/rtptransport.h +++ b/webrtc/pc/rtptransport.h @@ -73,7 +73,7 @@ class RtpTransport : public RtpTransportInterface, public sigslot::has_slots<> { // TODO(zstein): Consider having two signals - RtcPacketReceived and // RtcpPacketReceived. // The first argument is true for RTCP packets and false for RTP packets. - sigslot::signal3 + sigslot::signal3 SignalPacketReceived; protected: diff --git a/webrtc/pc/rtptransport_unittest.cc b/webrtc/pc/rtptransport_unittest.cc index 4b75a05c80..9b9e6cf377 100644 --- a/webrtc/pc/rtptransport_unittest.cc +++ b/webrtc/pc/rtptransport_unittest.cc @@ -162,7 +162,7 @@ class SignalPacketReceivedCounter : public sigslot::has_slots<> { private: void OnPacketReceived(bool rtcp, - rtc::CopyOnWriteBuffer&, + rtc::CopyOnWriteBuffer*, const rtc::PacketTime&) { if (rtcp) { ++rtcp_count_;