[InsertableStreams] Don't include the header in the transformable payload.
Bug: chromium:1052765
Change-Id: I7d9465361811943edf46b53df80a4c50ad8d01d0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/172720
Commit-Queue: Marina Ciocea <marinaciocea@webrtc.org>
Reviewed-by: Per Ã…hgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30977}
diff --git a/audio/channel_receive.cc b/audio/channel_receive.cc
index 50ad0aa..ebc6a2a 100644
--- a/audio/channel_receive.cc
+++ b/audio/channel_receive.cc
@@ -312,12 +312,12 @@
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<const uint8_t> packet,
const RTPHeader& header) {
- ReceivePacket(packet.data(), packet.size(), header);
+ OnReceivedPayloadData(packet, header);
};
frame_transformer_delegate_ =
new rtc::RefCountedObject<ChannelReceiveFrameTransformerDelegate>(
@@ -595,13 +595,7 @@
rtc::saturated_cast<uint32_t>(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 @@
payload_data_length = 0;
}
- OnReceivedPayloadData(
- rtc::ArrayView<const uint8_t>(payload, payload_data_length), header);
+ rtc::ArrayView<const uint8_t> 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 547946f..73112d1 100644
--- a/audio/channel_receive_frame_transformer_delegate.h
+++ b/audio/channel_receive_frame_transformer_delegate.h
@@ -53,7 +53,7 @@
void OnTransformedFrame(
std::unique_ptr<TransformableFrameInterface> 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<TransformableFrameInterface> frame) const;