tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

commit 7a2ee012715e41f722b35ca3397d430c839f9c9a
parent 312d76660c8fa4b677b215f1a93a8c8998ca7156
Author: Michael Froman <mfroman@mozilla.com>
Date:   Wed,  8 Oct 2025 23:21:25 -0500

Bug 1993083 - Vendor libwebrtc from b01ae85f9a

Upstream commit: https://webrtc.googlesource.com/src/+/b01ae85f9a0465da301222bb599735838ade831e
    Use ArrayView in webrtc voice engine unittests

    Bug: webrtc:42225170
    Change-Id: I6c9bfb7c48fcde7c992841ab8d300bb491b61b11
    Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/399501
    Auto-Submit: Harald Alvestrand <hta@webrtc.org>
    Reviewed-by: Evan Shrubsole <eshr@webrtc.org>
    Commit-Queue: Evan Shrubsole <eshr@webrtc.org>
    Cr-Commit-Position: refs/heads/main@{#45113}

Diffstat:
Mthird_party/libwebrtc/README.mozilla.last-vendor | 4++--
Mthird_party/libwebrtc/media/engine/fake_webrtc_call.cc | 13++++++-------
Mthird_party/libwebrtc/media/engine/fake_webrtc_call.h | 4++--
Mthird_party/libwebrtc/media/engine/webrtc_voice_engine_unittest.cc | 120++++++++++++++++++++++++++++++++++++++-----------------------------------------
4 files changed, 67 insertions(+), 74 deletions(-)

diff --git a/third_party/libwebrtc/README.mozilla.last-vendor b/third_party/libwebrtc/README.mozilla.last-vendor @@ -1,4 +1,4 @@ # ./mach python dom/media/webrtc/third_party_build/vendor-libwebrtc.py --from-local /home/mfroman/mozilla/elm/.moz-fast-forward/moz-libwebrtc --commit mozpatches libwebrtc -libwebrtc updated from /home/mfroman/mozilla/elm/.moz-fast-forward/moz-libwebrtc commit mozpatches on 2025-10-09T04:20:11.801364+00:00. +libwebrtc updated from /home/mfroman/mozilla/elm/.moz-fast-forward/moz-libwebrtc commit mozpatches on 2025-10-09T04:21:16.462311+00:00. # base of lastest vendoring -52b34e1d20 +b01ae85f9a diff --git a/third_party/libwebrtc/media/engine/fake_webrtc_call.cc b/third_party/libwebrtc/media/engine/fake_webrtc_call.cc @@ -121,16 +121,15 @@ void FakeAudioReceiveStream::SetStats( stats_ = stats; } -bool FakeAudioReceiveStream::VerifyLastPacket(const uint8_t* data, - size_t length) const { - return last_packet_ == Buffer(data, length); +bool FakeAudioReceiveStream::VerifyLastPacket( + ArrayView<const uint8_t> data) const { + return last_packet_ == Buffer(data.data(), data.size()); } -bool FakeAudioReceiveStream::DeliverRtp(const uint8_t* packet, - size_t length, +bool FakeAudioReceiveStream::DeliverRtp(ArrayView<const uint8_t> packet, int64_t /* packet_time_us */) { ++received_packets_; - last_packet_.SetData(packet, length); + last_packet_.SetData(packet); return true; } @@ -690,7 +689,7 @@ bool FakeCall::DeliverPacketInternal(MediaType media_type, if (media_type == MediaType::AUDIO) { for (auto receiver : audio_receive_streams_) { if (receiver->GetConfig().rtp.remote_ssrc == ssrc) { - receiver->DeliverRtp(packet.cdata(), packet.size(), arrival_time.us()); + receiver->DeliverRtp(packet, arrival_time.us()); ++delivered_packets_by_ssrc_[ssrc]; return true; } diff --git a/third_party/libwebrtc/media/engine/fake_webrtc_call.h b/third_party/libwebrtc/media/engine/fake_webrtc_call.h @@ -124,10 +124,10 @@ class FakeAudioReceiveStream final : public AudioReceiveStreamInterface { const AudioReceiveStreamInterface::Config& GetConfig() const; void SetStats(const AudioReceiveStreamInterface::Stats& stats); int received_packets() const { return received_packets_; } - bool VerifyLastPacket(const uint8_t* data, size_t length) const; + bool VerifyLastPacket(ArrayView<const uint8_t> data) const; const AudioSinkInterface* sink() const { return sink_; } float gain() const { return gain_; } - bool DeliverRtp(const uint8_t* packet, size_t length, int64_t packet_time_us); + bool DeliverRtp(ArrayView<const uint8_t> packet, int64_t packet_time_us); bool started() const { return started_; } int base_mininum_playout_delay_ms() const { return base_mininum_playout_delay_ms_; diff --git a/third_party/libwebrtc/media/engine/webrtc_voice_engine_unittest.cc b/third_party/libwebrtc/media/engine/webrtc_voice_engine_unittest.cc @@ -22,6 +22,7 @@ #include <vector> #include "absl/strings/match.h" +#include "api/array_view.h" #include "api/audio/audio_processing.h" #include "api/audio/builtin_audio_processing_builder.h" #include "api/audio_codecs/audio_codec_pair_id.h" @@ -79,6 +80,7 @@ #include "test/mock_audio_decoder_factory.h" #include "test/mock_audio_encoder_factory.h" +namespace webrtc { namespace { using ::testing::_; using ::testing::ContainerEq; @@ -211,8 +213,6 @@ std::vector<webrtc::Codec> ReceiveCodecsWithId( return AddIdToCodecs(pt_mapper, std::move(codecs)); } -} // namespace - // Tests that our stub library "works". TEST(WebRtcVoiceEngineTestStubLibrary, StartupShutdown) { Environment env = CreateEnvironment(); @@ -351,9 +351,9 @@ class WebRtcVoiceEngineTestFake : public ::testing::TestWithParam<bool> { EXPECT_FALSE(call_.GetAudioSendStream(kSsrcX)); } - void DeliverPacket(const void* data, int len) { + void DeliverPacket(ArrayView<const uint8_t> data) { webrtc::RtpPacketReceived packet; - packet.Parse(reinterpret_cast<const uint8_t*>(data), len); + packet.Parse(data); receive_channel_->OnPacketReceived(packet); webrtc::Thread::Current()->ProcessMessages(0); } @@ -1601,7 +1601,7 @@ TEST_P(WebRtcVoiceEngineTestFake, GetRtpReceiveParametersWithUnsignaledSsrc) { EXPECT_FALSE(rtp_parameters.encodings[0].ssrc); // Receive PCMU packet (SSRC=1). - DeliverPacket(kPcmuFrame, sizeof(kPcmuFrame)); + DeliverPacket(kPcmuFrame); // The `ssrc` member should still be unset. rtp_parameters = receive_channel_->GetDefaultRtpReceiveParameters(); @@ -2597,7 +2597,7 @@ TEST_P(WebRtcVoiceEngineTestFake, GetStatsWithMultipleSendStreams) { { webrtc::VoiceMediaSendInfo send_info; webrtc::VoiceMediaReceiveInfo receive_info; - DeliverPacket(kPcmuFrame, sizeof(kPcmuFrame)); + DeliverPacket(kPcmuFrame); SetAudioReceiveStreamStats(); EXPECT_CALL(*adm_, GetPlayoutUnderrunCount()).WillOnce(Return(0)); EXPECT_EQ(true, send_channel_->GetStats(&send_info)); @@ -2756,7 +2756,7 @@ TEST_P(WebRtcVoiceEngineTestFake, GetStats) { // Deliver a new packet - a default receive stream should be created and we // should see stats again. { - DeliverPacket(kPcmuFrame, sizeof(kPcmuFrame)); + DeliverPacket(kPcmuFrame); SetAudioReceiveStreamStats(); EXPECT_CALL(*adm_, GetPlayoutUnderrunCount()).WillOnce(Return(0)); webrtc::VoiceMediaSendInfo send_info; @@ -2795,10 +2795,9 @@ TEST_P(WebRtcVoiceEngineTestFake, SetSendSsrcAfterCreatingReceiveChannel) { TEST_P(WebRtcVoiceEngineTestFake, Recv) { EXPECT_TRUE(SetupChannel()); EXPECT_TRUE(AddRecvStream(1)); - DeliverPacket(kPcmuFrame, sizeof(kPcmuFrame)); + DeliverPacket(kPcmuFrame); - EXPECT_TRUE( - GetRecvStream(1).VerifyLastPacket(kPcmuFrame, sizeof(kPcmuFrame))); + EXPECT_TRUE(GetRecvStream(1).VerifyLastPacket(kPcmuFrame)); } // Test that we can properly receive packets on multiple streams. @@ -2811,7 +2810,7 @@ TEST_P(WebRtcVoiceEngineTestFake, RecvWithMultipleStreams) { EXPECT_TRUE(AddRecvStream(ssrc2)); EXPECT_TRUE(AddRecvStream(ssrc3)); // Create packets with the right SSRCs. - unsigned char packets[4][sizeof(kPcmuFrame)]; + uint8_t packets[4][sizeof(kPcmuFrame)]; for (size_t i = 0; i < std::size(packets); ++i) { memcpy(packets[i], kPcmuFrame, sizeof(kPcmuFrame)); webrtc::SetBE32(packets[i] + 8, static_cast<uint32_t>(i)); @@ -2825,28 +2824,28 @@ TEST_P(WebRtcVoiceEngineTestFake, RecvWithMultipleStreams) { EXPECT_EQ(s2.received_packets(), 0); EXPECT_EQ(s3.received_packets(), 0); - DeliverPacket(packets[0], sizeof(packets[0])); + DeliverPacket(packets[0]); EXPECT_EQ(s1.received_packets(), 0); EXPECT_EQ(s2.received_packets(), 0); EXPECT_EQ(s3.received_packets(), 0); - DeliverPacket(packets[1], sizeof(packets[1])); + DeliverPacket(packets[1]); EXPECT_EQ(s1.received_packets(), 1); - EXPECT_TRUE(s1.VerifyLastPacket(packets[1], sizeof(packets[1]))); + EXPECT_TRUE(s1.VerifyLastPacket(packets[1])); EXPECT_EQ(s2.received_packets(), 0); EXPECT_EQ(s3.received_packets(), 0); - DeliverPacket(packets[2], sizeof(packets[2])); + DeliverPacket(packets[2]); EXPECT_EQ(s1.received_packets(), 1); EXPECT_EQ(s2.received_packets(), 1); - EXPECT_TRUE(s2.VerifyLastPacket(packets[2], sizeof(packets[2]))); + EXPECT_TRUE(s2.VerifyLastPacket(packets[2])); EXPECT_EQ(s3.received_packets(), 0); - DeliverPacket(packets[3], sizeof(packets[3])); + DeliverPacket(packets[3]); EXPECT_EQ(s1.received_packets(), 1); EXPECT_EQ(s2.received_packets(), 1); EXPECT_EQ(s3.received_packets(), 1); - EXPECT_TRUE(s3.VerifyLastPacket(packets[3], sizeof(packets[3]))); + EXPECT_TRUE(s3.VerifyLastPacket(packets[3])); EXPECT_TRUE(receive_channel_->RemoveRecvStream(ssrc3)); EXPECT_TRUE(receive_channel_->RemoveRecvStream(ssrc2)); @@ -2858,11 +2857,10 @@ TEST_P(WebRtcVoiceEngineTestFake, RecvUnsignaled) { EXPECT_TRUE(SetupChannel()); EXPECT_EQ(0u, call_.GetAudioReceiveStreams().size()); - DeliverPacket(kPcmuFrame, sizeof(kPcmuFrame)); + DeliverPacket(kPcmuFrame); EXPECT_EQ(1u, call_.GetAudioReceiveStreams().size()); - EXPECT_TRUE( - GetRecvStream(kSsrc1).VerifyLastPacket(kPcmuFrame, sizeof(kPcmuFrame))); + EXPECT_TRUE(GetRecvStream(kSsrc1).VerifyLastPacket(kPcmuFrame)); } // Tests that when we add a stream without SSRCs, but contains a stream_id @@ -2877,12 +2875,10 @@ TEST_P(WebRtcVoiceEngineTestFake, RecvUnsignaledSsrcWithSignaledStreamId) { // The stream shouldn't have been created at this point because it doesn't // have any SSRCs. EXPECT_EQ(0u, call_.GetAudioReceiveStreams().size()); - - DeliverPacket(kPcmuFrame, sizeof(kPcmuFrame)); + DeliverPacket(kPcmuFrame); EXPECT_EQ(1u, call_.GetAudioReceiveStreams().size()); - EXPECT_TRUE( - GetRecvStream(kSsrc1).VerifyLastPacket(kPcmuFrame, sizeof(kPcmuFrame))); + EXPECT_TRUE(GetRecvStream(kSsrc1).VerifyLastPacket(kPcmuFrame)); EXPECT_EQ(kSyncLabel, GetRecvStream(kSsrc1).GetConfig().sync_group); // Remset the unsignaled stream to clear the cached parameters. If a new @@ -2890,11 +2886,10 @@ TEST_P(WebRtcVoiceEngineTestFake, RecvUnsignaledSsrcWithSignaledStreamId) { receive_channel_->ResetUnsignaledRecvStream(); receive_channel_->RemoveRecvStream(kSsrc1); - DeliverPacket(kPcmuFrame, sizeof(kPcmuFrame)); + DeliverPacket(kPcmuFrame); EXPECT_EQ(1u, call_.GetAudioReceiveStreams().size()); - EXPECT_TRUE( - GetRecvStream(kSsrc1).VerifyLastPacket(kPcmuFrame, sizeof(kPcmuFrame))); + EXPECT_TRUE(GetRecvStream(kSsrc1).VerifyLastPacket(kPcmuFrame)); EXPECT_TRUE(GetRecvStream(kSsrc1).GetConfig().sync_group.empty()); } @@ -2905,12 +2900,12 @@ TEST_P(WebRtcVoiceEngineTestFake, ASSERT_TRUE(call_.GetAudioReceiveStreams().empty()); // Deliver a couple packets with unsignaled SSRCs. - unsigned char packet[sizeof(kPcmuFrame)]; + uint8_t packet[sizeof(kPcmuFrame)]; memcpy(packet, kPcmuFrame, sizeof(kPcmuFrame)); webrtc::SetBE32(&packet[8], 0x1234); - DeliverPacket(packet, sizeof(packet)); + DeliverPacket(packet); webrtc::SetBE32(&packet[8], 0x5678); - DeliverPacket(packet, sizeof(packet)); + DeliverPacket(packet); // Verify that the receive streams were created. const auto& receivers1 = call_.GetAudioReceiveStreams(); @@ -2926,34 +2921,34 @@ TEST_P(WebRtcVoiceEngineTestFake, // that packets are forwarded to them all. TEST_P(WebRtcVoiceEngineTestFake, RecvMultipleUnsignaled) { EXPECT_TRUE(SetupChannel()); - unsigned char packet[sizeof(kPcmuFrame)]; + uint8_t packet[sizeof(kPcmuFrame)]; memcpy(packet, kPcmuFrame, sizeof(kPcmuFrame)); // Note that SSRC = 0 is not supported. for (uint32_t ssrc = 1; ssrc < (1 + kMaxUnsignaledRecvStreams); ++ssrc) { webrtc::SetBE32(&packet[8], ssrc); - DeliverPacket(packet, sizeof(packet)); + DeliverPacket(packet); // Verify we have one new stream for each loop iteration. EXPECT_EQ(ssrc, call_.GetAudioReceiveStreams().size()); EXPECT_EQ(1, GetRecvStream(ssrc).received_packets()); - EXPECT_TRUE(GetRecvStream(ssrc).VerifyLastPacket(packet, sizeof(packet))); + EXPECT_TRUE(GetRecvStream(ssrc).VerifyLastPacket(packet)); } // Sending on the same SSRCs again should not create new streams. for (uint32_t ssrc = 1; ssrc < (1 + kMaxUnsignaledRecvStreams); ++ssrc) { webrtc::SetBE32(&packet[8], ssrc); - DeliverPacket(packet, sizeof(packet)); + DeliverPacket(packet); EXPECT_EQ(kMaxUnsignaledRecvStreams, call_.GetAudioReceiveStreams().size()); EXPECT_EQ(2, GetRecvStream(ssrc).received_packets()); - EXPECT_TRUE(GetRecvStream(ssrc).VerifyLastPacket(packet, sizeof(packet))); + EXPECT_TRUE(GetRecvStream(ssrc).VerifyLastPacket(packet)); } // Send on another SSRC, the oldest unsignaled stream (SSRC=1) is replaced. constexpr uint32_t kAnotherSsrc = 667; webrtc::SetBE32(&packet[8], kAnotherSsrc); - DeliverPacket(packet, sizeof(packet)); + DeliverPacket(packet); const auto& streams = call_.GetAudioReceiveStreams(); EXPECT_EQ(kMaxUnsignaledRecvStreams, streams.size()); @@ -2972,32 +2967,30 @@ TEST_P(WebRtcVoiceEngineTestFake, RecvMultipleUnsignaled) { // added, and that this stream will get any packets for unknown SSRCs. TEST_P(WebRtcVoiceEngineTestFake, RecvUnsignaledAfterSignaled) { EXPECT_TRUE(SetupChannel()); - unsigned char packet[sizeof(kPcmuFrame)]; + uint8_t packet[sizeof(kPcmuFrame)]; memcpy(packet, kPcmuFrame, sizeof(kPcmuFrame)); // Add a known stream, send packet and verify we got it. const uint32_t signaled_ssrc = 1; webrtc::SetBE32(&packet[8], signaled_ssrc); EXPECT_TRUE(AddRecvStream(signaled_ssrc)); - DeliverPacket(packet, sizeof(packet)); - EXPECT_TRUE( - GetRecvStream(signaled_ssrc).VerifyLastPacket(packet, sizeof(packet))); + DeliverPacket(packet); + EXPECT_TRUE(GetRecvStream(signaled_ssrc).VerifyLastPacket(packet)); EXPECT_EQ(1u, call_.GetAudioReceiveStreams().size()); // Note that the first unknown SSRC cannot be 0, because we only support // creating receive streams for SSRC!=0. const uint32_t unsignaled_ssrc = 7011; webrtc::SetBE32(&packet[8], unsignaled_ssrc); - DeliverPacket(packet, sizeof(packet)); - EXPECT_TRUE( - GetRecvStream(unsignaled_ssrc).VerifyLastPacket(packet, sizeof(packet))); + DeliverPacket(packet); + EXPECT_TRUE(GetRecvStream(unsignaled_ssrc).VerifyLastPacket(packet)); EXPECT_EQ(2u, call_.GetAudioReceiveStreams().size()); - DeliverPacket(packet, sizeof(packet)); + DeliverPacket(packet); EXPECT_EQ(2, GetRecvStream(unsignaled_ssrc).received_packets()); webrtc::SetBE32(&packet[8], signaled_ssrc); - DeliverPacket(packet, sizeof(packet)); + DeliverPacket(packet); EXPECT_EQ(2, GetRecvStream(signaled_ssrc).received_packets()); EXPECT_EQ(2u, call_.GetAudioReceiveStreams().size()); } @@ -3009,10 +3002,9 @@ TEST_P(WebRtcVoiceEngineTestFake, AddRecvStreamAfterUnsignaled_NoRecreate) { EXPECT_TRUE(SetupChannel()); // Spawn unsignaled stream with SSRC=1. - DeliverPacket(kPcmuFrame, sizeof(kPcmuFrame)); + DeliverPacket(kPcmuFrame); EXPECT_EQ(1u, call_.GetAudioReceiveStreams().size()); - EXPECT_TRUE( - GetRecvStream(1).VerifyLastPacket(kPcmuFrame, sizeof(kPcmuFrame))); + EXPECT_TRUE(GetRecvStream(1).VerifyLastPacket(kPcmuFrame)); // Verify that the underlying stream object in Call is not recreated when a // stream with SSRC=1 is added. @@ -3028,10 +3020,9 @@ TEST_P(WebRtcVoiceEngineTestFake, AddRecvStreamAfterUnsignaled_Updates) { EXPECT_TRUE(SetupChannel()); // Spawn unsignaled stream with SSRC=1. - DeliverPacket(kPcmuFrame, sizeof(kPcmuFrame)); + DeliverPacket(kPcmuFrame); EXPECT_EQ(1u, call_.GetAudioReceiveStreams().size()); - EXPECT_TRUE( - GetRecvStream(1).VerifyLastPacket(kPcmuFrame, sizeof(kPcmuFrame))); + EXPECT_TRUE(GetRecvStream(1).VerifyLastPacket(kPcmuFrame)); // Verify that the underlying stream object in Call gets updated when a // stream with SSRC=1 is added, and which has changed stream parameters. @@ -3461,7 +3452,7 @@ TEST_P(WebRtcVoiceEngineTestFake, SetOutputVolumeUnsignaledRecvStream) { EXPECT_TRUE(SetupChannel()); // Spawn an unsignaled stream by sending a packet - gain should be 1. - DeliverPacket(kPcmuFrame, sizeof(kPcmuFrame)); + DeliverPacket(kPcmuFrame); EXPECT_DOUBLE_EQ(1, GetRecvStream(kSsrc1).gain()); // Should remember the volume "2" which will be set on new unsignaled streams, @@ -3470,10 +3461,10 @@ TEST_P(WebRtcVoiceEngineTestFake, SetOutputVolumeUnsignaledRecvStream) { EXPECT_DOUBLE_EQ(2, GetRecvStream(kSsrc1).gain()); // Spawn an unsignaled stream by sending a packet - gain should be 2. - unsigned char pcmuFrame2[sizeof(kPcmuFrame)]; + uint8_t pcmuFrame2[sizeof(kPcmuFrame)]; memcpy(pcmuFrame2, kPcmuFrame, sizeof(kPcmuFrame)); webrtc::SetBE32(&pcmuFrame2[8], kSsrcX); - DeliverPacket(pcmuFrame2, sizeof(pcmuFrame2)); + DeliverPacket(pcmuFrame2); EXPECT_DOUBLE_EQ(2, GetRecvStream(kSsrcX).gain()); // Setting gain for all unsignaled streams. @@ -3511,7 +3502,7 @@ TEST_P(WebRtcVoiceEngineTestFake, EXPECT_TRUE(SetupChannel()); // Spawn an unsignaled stream by sending a packet - delay should be 0. - DeliverPacket(kPcmuFrame, sizeof(kPcmuFrame)); + DeliverPacket(kPcmuFrame); EXPECT_EQ( 0, receive_channel_->GetBaseMinimumPlayoutDelayMs(kSsrc1).value_or(-1)); // Check that it doesn't provide default values for unknown ssrc. @@ -3532,10 +3523,10 @@ TEST_P(WebRtcVoiceEngineTestFake, receive_channel_->GetBaseMinimumPlayoutDelayMs(kSsrcY).has_value()); // Spawn an unsignaled stream by sending a packet - delay should be 100. - unsigned char pcmuFrame2[sizeof(kPcmuFrame)]; + uint8_t pcmuFrame2[sizeof(kPcmuFrame)]; memcpy(pcmuFrame2, kPcmuFrame, sizeof(kPcmuFrame)); webrtc::SetBE32(&pcmuFrame2[8], kSsrcX); - DeliverPacket(pcmuFrame2, sizeof(pcmuFrame2)); + DeliverPacket(pcmuFrame2); EXPECT_EQ( 100, receive_channel_->GetBaseMinimumPlayoutDelayMs(kSsrcX).value_or(-1)); @@ -3636,7 +3627,7 @@ TEST_P(WebRtcVoiceEngineTestFake, DeliverAudioPacket_Call) { // Test that packets are forwarded to the Call when configured accordingly. const uint32_t kAudioSsrc = 1; webrtc::CopyOnWriteBuffer kPcmuPacket(kPcmuFrame, sizeof(kPcmuFrame)); - static const unsigned char kRtcp[] = { + static const uint8_t kRtcp[] = { 0x80, 0xc9, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; @@ -3719,7 +3710,7 @@ TEST_P(WebRtcVoiceEngineTestFake, SetRawAudioSinkUnsignaledRecvStream) { // Spawn an unsignaled stream by sending a packet - it should be assigned the // default sink. - DeliverPacket(kPcmuFrame, sizeof(kPcmuFrame)); + DeliverPacket(kPcmuFrame); EXPECT_NE(nullptr, GetRecvStream(kSsrc1).sink()); // Try resetting the default sink. @@ -3732,15 +3723,15 @@ TEST_P(WebRtcVoiceEngineTestFake, SetRawAudioSinkUnsignaledRecvStream) { // If we remove and add a default stream, it should get the same sink. EXPECT_TRUE(receive_channel_->RemoveRecvStream(kSsrc1)); - DeliverPacket(kPcmuFrame, sizeof(kPcmuFrame)); + DeliverPacket(kPcmuFrame); EXPECT_NE(nullptr, GetRecvStream(kSsrc1).sink()); // Spawn another unsignaled stream - it should be assigned the default sink // and the previous unsignaled stream should lose it. - unsigned char pcmuFrame2[sizeof(kPcmuFrame)]; + uint8_t pcmuFrame2[sizeof(kPcmuFrame)]; memcpy(pcmuFrame2, kPcmuFrame, sizeof(kPcmuFrame)); webrtc::SetBE32(&pcmuFrame2[8], kSsrcX); - DeliverPacket(pcmuFrame2, sizeof(pcmuFrame2)); + DeliverPacket(pcmuFrame2); if (kMaxUnsignaledRecvStreams > 1) { EXPECT_EQ(nullptr, GetRecvStream(kSsrc1).sink()); } @@ -4214,3 +4205,6 @@ TEST(WebRtcVoiceEngineTest, CollectRecvCodecsWithLatePtAssignment) { EXPECT_GE(find_codec({"telephone-event", 48000, 1}), num_specs); } } + +} // namespace +} // namespace webrtc