diff --git a/audio/channel_receive.cc b/audio/channel_receive.cc index 50ad0aa85c..ebc6a2abbe 100644 --- a/audio/channel_receive.cc +++ b/audio/channel_receive.cc @@ -312,12 +312,12 @@ void ChannelReceive::InitFrameTransformerDelegate( RTC_DCHECK(frame_transformer); RTC_DCHECK(!frame_transformer_delegate_); - // Pass a callback to ChannelReceive::ReceivePacket, to be called by the - // delegate to receive transformed audio. + // Pass a callback to ChannelReceive::OnReceivedPayloadData, to be called by + // the delegate to receive transformed audio. ChannelReceiveFrameTransformerDelegate::ReceiveFrameCallback receive_audio_callback = [this](rtc::ArrayView packet, const RTPHeader& header) { - ReceivePacket(packet.data(), packet.size(), header); + OnReceivedPayloadData(packet, header); }; frame_transformer_delegate_ = new rtc::RefCountedObject( @@ -595,13 +595,7 @@ void ChannelReceive::OnRtpPacket(const RtpPacketReceived& packet) { rtc::saturated_cast(packet_copy.payload_type_frequency()), header.extension.absolute_capture_time); - if (frame_transformer_delegate_) { - // Asynchronously transform the received payload. After the payload is - // transformed, the delegate will call ReceivePacket to handle it. - frame_transformer_delegate_->Transform(packet_copy, header, remote_ssrc_); - } else { - ReceivePacket(packet_copy.data(), packet_copy.size(), header); - } + ReceivePacket(packet_copy.data(), packet_copy.size(), header); } void ChannelReceive::ReceivePacket(const uint8_t* packet, @@ -645,8 +639,14 @@ void ChannelReceive::ReceivePacket(const uint8_t* packet, payload_data_length = 0; } - OnReceivedPayloadData( - rtc::ArrayView(payload, payload_data_length), header); + rtc::ArrayView payload_data(payload, payload_data_length); + if (frame_transformer_delegate_) { + // Asynchronously transform the received payload. After the payload is + // transformed, the delegate will call OnReceivedPayloadData to handle it. + frame_transformer_delegate_->Transform(payload_data, header, remote_ssrc_); + } else { + OnReceivedPayloadData(payload_data, header); + } } // May be called on either worker thread or network thread. diff --git a/audio/channel_receive_frame_transformer_delegate.h b/audio/channel_receive_frame_transformer_delegate.h index 547946f973..73112d10e3 100644 --- a/audio/channel_receive_frame_transformer_delegate.h +++ b/audio/channel_receive_frame_transformer_delegate.h @@ -53,7 +53,7 @@ class ChannelReceiveFrameTransformerDelegate : public TransformedFrameCallback { void OnTransformedFrame( std::unique_ptr frame) override; - // Delegates the call to ChannelReceive::ReceivePacket on the + // Delegates the call to ChannelReceive::OnReceivedPayloadData on the // |channel_receive_thread_|, by calling |receive_frame_callback_|. void ReceiveFrame(std::unique_ptr frame) const;