SignalPacketReceived should pass packet as a pointer instead of a non-const reference.

See https://google.github.io/styleguide/cppguide.html#Reference_Arguments.
The Bind to ProcessPacket in OnPacketReceived is safe because Bind captures arguments by value.

BUG=webrtc:7013

Review-Url: https://codereview.webrtc.org/2980923002
Cr-Commit-Position: refs/heads/master@{#19028}
This commit is contained in:
zstein 2017-07-14 12:30:04 -07:00 committed by Commit Bot
parent e76bd3aa43
commit 634977b611
5 changed files with 11 additions and 11 deletions

View File

@ -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<char>();
int len = static_cast<int>(packet.size());
char* data = packet->data<char>();
int len = static_cast<int>(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<void>(
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

View File

@ -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;

View File

@ -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,

View File

@ -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<bool, rtc::CopyOnWriteBuffer&, const rtc::PacketTime&>
sigslot::signal3<bool, rtc::CopyOnWriteBuffer*, const rtc::PacketTime&>
SignalPacketReceived;
protected:

View File

@ -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_;