4983 Commits

Author SHA1 Message Date
Lennart Grahl
0d0ed76ac1 Fix RTP header extension encryption
Reland of commit a743303211b89bbcf4cea438ee797bbbc7b59e80

Previously, RTP header extensions with encryption had been filtered
if the encryption had been activated (not the other way around) which
was likely an unintended logic inversion.

In addition, it ensures that encrypted RTP header extensions are only
negotiated if RTP header extension encryption is turned on. Formerly,
which extensions had been negotiated depended on the order in which
they were inserted, regardless of whether or not header encryption was
actually enabled, leading to no extensions being sent on the wire.

Further changes:

- If RTP header encryption enabled, prefer encrypted extensions over
  non-encrypted extensions
- Add most extensions to list of extensions supported for encryption
- Discard encrypted extensions in a session description in case encryption
  is not supported for that extension
- Mark FindHeaderExtensionByUri without filter argument as deprecated

Bug: webrtc:11713
Change-Id: I52a5ade1b94bc01d1c2a35cb56023684fcaf9982
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/219081
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34129}
2021-05-26 09:42:09 +00:00
Erik Språng
770acabd5d Refactor mid/rid rtp tests to avoid using egress/transport logic.
This CL makes a number of test use the paced sender callback to verify
the output of RTPSender, instead of re-parsed data from RtpSenderEgres.

Bug: webrtc:11340
Change-Id: I13ccf5a5db4b6df128cf2fa9e8dad443fcd15cdd
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/220162
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34126}
2021-05-26 08:44:19 +00:00
Jan Grulich
8d9d575920 PipeWire capturer: fix stream width in PW 0.2 code
Set we don't use full stream width. This follows same code as in PW 0.3
case, it was just accidentally omitted.

Bug: chromium:682122
Change-Id: Ifb9200a14387ba9b9da3246c9c4e30306393c4e6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/214700
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Tommi <tommi@webrtc.org>
Reviewed-by: Wez <wez@google.com>
Cr-Commit-Position: refs/heads/master@{#34124}
2021-05-26 06:44:19 +00:00
Erik Språng
4fbc3fc59e Move SendPacketUpdates* tests to rtp_sender_egress_unittest.
These should be the last of the testis from rtp_sender_unittest.cc that
should be moved and refactored to just test RtpSenderEgress.

Bug: webrtc:11340
Change-Id: Id09d7bbade608dd7194dcd8843d4f2887842a372
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/220140
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34118}
2021-05-25 15:25:30 +00:00
Erik Språng
238da9a57e Remove obsolete SendPacketMatches* tests from rtp_sender_egress_unittest.
These tests were likely made back when PacketRouter was iterating over
the RTP modules to find the correct to send on. Now that this is just
a DCHECK, it's already implicitly covered by other tests that actually
test the respective packet type functionality. Let's thus just remove
these old tests.

Bug: webrtc:11340
Change-Id: I244ca7e365378f4e48a601464b5df0e1d07732be
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/219621
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34116}
2021-05-25 12:57:35 +00:00
Erik Språng
552169c7db Refactor RtpPacketCounter tests and move to rtp_sender_egress_unittest.
Bug: webrtc:11340
Change-Id: Ifdcb3d99113502fb5bebf1fc3ea5253a141d313b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/219790
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34115}
2021-05-25 12:55:45 +00:00
Christoffer Rodbro
2ab4764b9e Clean-up for calculation of upper bandwidth limit.
Follow-up for https://webrtc-review.googlesource.com/c/src/+/219696.

Bug: webrtc:12306
Change-Id: I94861f87e83216d8e92ff09e0f2ce39fd672d9f8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/220100
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Commit-Queue: Christoffer Rodbro <crodbro@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34113}
2021-05-25 10:56:19 +00:00
Erik Språng
36005afeb4 Refactor and improve RtpSender packet history test.
This CL refactors RtpSenderTest.SendPacketHandlesRetransmissionHistory,
moves some testing to rtp_ender_egress_unittest and adds test coverage
for a few cases.

Bug: webrtc:11340
Change-Id: Ic225d2af43c3926f69fe3ea45f41b18c29b8b4fd
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/219796
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34111}
2021-05-25 09:53:27 +00:00
Danil Chapovalov
02c0295a98 Remove obsolete DCHECK in RtpPacket::CopyHeaderFrom
This check was important when header bytes were copied from source
packet to destination, but current implementation (new line 123) slices
the source packet, making capacity of the destination packet irrelevant.

Bug: b/189015462
Change-Id: I7e649cb7dfc6ba0fbe989c943e6515ab0da05fef
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/219695
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34110}
2021-05-25 09:42:27 +00:00
Christoffer Rodbro
6396b48b18 Avoid modifying BWE internal state on reception of REMB feedback.
Instead, cap the final bandwidth estimate by the last received cap. This allows fast rampup after a REMB cap is lifted.

Bug: webrtc:12306
Change-Id: Ia99707134ce145275460524b3e46923876fdf62f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/219696
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Commit-Queue: Christoffer Rodbro <crodbro@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34109}
2021-05-25 09:03:23 +00:00
Ted Meyer
41a111d5b9 Switch to av_packet_alloc()
ffmpeg is going to be hiding the implementation of AVPacket, so we can't
allocate them on the stack anymore. av_init_packet is marked deprecated
on TOT ffmpeg, so remove its use everywhere in favor of av_packet_alloc
and av_packet_free.

Bug: chromium:1211508
Change-Id: I154311071123110dd749c71dec1ec2a0452b3908
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/217780
Commit-Queue: Ted Meyer <tmathmeyer@google.com>
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34106}
2021-05-24 23:33:08 +00:00
Byoungchan Lee
0f506780aa Remove usage of TOOLKIT_GTK define.
This is not defined anywhere, including chromium.

Bug: None
Change-Id: If5e89880570a80dd5720e48ebaefb0eb2c37fab3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/215360
Reviewed-by: Jamie Walch <jamiewalch@chromium.org>
Commit-Queue: Jamie Walch <jamiewalch@chromium.org>
Cr-Commit-Position: refs/heads/master@{#34105}
2021-05-24 21:50:27 +00:00
Mirko Bonadei
2f3c5e6752 Skip WindowCapturerTest.Capture on macOS.
Bug: webrtc:12801
Change-Id: I543313f3c304b694cc50bff5a6344f1c6d944c8d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/219635
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Joe Downing <joedow@chromium.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34103}
2021-05-24 14:57:59 +00:00
Doudou Kisabaka
ae0d117d51 Implement the mixer-to-client per CSRC audio level extension (RFC 6465).
This is loosely based on the similar implementation in gecko.

Bug: webrtc:9965
Change-Id: I5203a05e1c34ca6f97bd1b143790f95ff245e340
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/219791
Reviewed-by: Tommi <tommi@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Doudou Kisabaka <doudouk@google.com>
Cr-Commit-Position: refs/heads/master@{#34102}
2021-05-24 14:11:28 +00:00
Erik Språng
cf497890f3 Refactor some retransmission tests.
This simplifies some tests and removes dependency on RtpSenderEgress
for those tests in rtp_sender_unittest.

Bug: webrtc:11340
Change-Id: I37489875947b0ac48a1742d2e9945510ee002f99
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/219624
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34099}
2021-05-24 13:10:05 +00:00
Paul Hallak
cab90db24a Delete NtpOffsetMs and TimeMicrosToNtp methods.
This consolidates the querying of the Ntp time in once place, the clock.

Bug: webrtc:11327
Change-Id: I14b19c2380996571d8c67c2c186629c209787162
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/219794
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Paul Hallak <phallak@google.com>
Cr-Commit-Position: refs/heads/master@{#34083}
2021-05-21 19:32:42 +00:00
Paul Hallak
a6b0d53dc2 Delete the old flavor of RtcpTransceiverImpl::ReceivePacket
Bug: webrtc:11327
Change-Id: I612d734ebc9abc202972fb1aadcea976b06e81de
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/219792
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Paul Hallak <phallak@google.com>
Cr-Commit-Position: refs/heads/master@{#34081}
2021-05-21 19:06:22 +00:00
Paul Hallak
fe3dd51f32 Use the injected clock in rtcp_transciever.
Bug: webrtc:11327
Change-Id: Idb02842f2eb679f972c0449a01a81a26ceb85827
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/219789
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Paul Hallak <phallak@google.com>
Cr-Commit-Position: refs/heads/master@{#34080}
2021-05-21 17:34:33 +00:00
Paul Hallak
00f6e75671 Use webrtc::Clock to query for the NTP time and to convert timestamps
to NTP.

No-Try because of lack of infra lack of capacity on macs.

No-Try: True
Bug: webrtc:11327
Change-Id: Ie0c9983031a6d37ae54b1d2381c229bee1a89e8a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/214134
Commit-Queue: Paul Hallak <phallak@google.com>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34078}
2021-05-21 14:33:00 +00:00
Paul Hallak
47ed99872d Use the clock to convert absolute capture timestamps to NTP times.
This allows callers to use timestamps generated from their own clocks
without worrying about converting to webrtc time.

No-Try because of lack of infra lack of capacity on macs.

No-Try: True
Bug: webrtc:11327
Change-Id: I7b1935654a2b23cf844c7b3622ed68763ced9da5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/219785
Commit-Queue: Paul Hallak <phallak@google.com>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Minyue Li <minyue@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34076}
2021-05-21 12:41:50 +00:00
Paul Hallak
95f1e5192c Do not attempt setting the absolute capture time extension if we don't
get a timestamp.

Also, use -1 to signify an unset timestamp. This is what other callers
do: https://source.chromium.org/chromium/chromium/src/+/main:third_party/webrtc/modules/audio_coding/acm2/audio_coding_module.cc;l=306;drc=bbe4aed2302dc763935496b80a5cefb6a42d912d

No-Try because of lack of infra lack of capacity on macs.

No-Try: True
Bug: webrtc:11327
Change-Id: Ide0c0633579b6b2be3eea9912b13f858760de0ad
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/219781
Commit-Queue: Paul Hallak <phallak@google.com>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34074}
2021-05-21 10:55:15 +00:00
Hanna Silen
b8dc7fa5a6 Make AgcManagerDirect clipping parameters configurable
Bug: webrtc:12774
Change-Id: I99824b5aabe6f921a5db425dd1c1c1d4c606186c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/219681
Commit-Queue: Hanna Silen <silen@webrtc.org>
Reviewed-by: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34069}
2021-05-20 16:53:59 +00:00
Erik Språng
e2b9fc6909 Move FecOverheadRate, BitrateCallbacks to rtp_sender_egress_unittest.
Bug: webrtc:11340
Change-Id: I33dcaea0146429de94d7610b46592b41e0c5549a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/219685
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34068}
2021-05-20 14:38:12 +00:00
Minyue Li
63b3095d2b Make local to capturer clock offset a separate entry in PacketInfo.
This also changes the meaning of |estimated_capture_clock_offset| in
|absolute_capture_time_| to become a remote to capturer clock offset.

Bug: chromium:1056230, webrtc:10739
Change-Id: Id658590e027bbe77ae0834ea224e1dc977a305f2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/219163
Commit-Queue: Minyue Li <minyue@webrtc.org>
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Alessio Bazzica <alessiob@webrtc.org>
Reviewed-by: Christoffer Rodbro <crodbro@webrtc.org>
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Reviewed-by: Chen Xing <chxg@google.com>
Cr-Commit-Position: refs/heads/master@{#34067}
2021-05-20 13:42:57 +00:00
Erik Språng
e7481a4199 Add an UlpFec test to RtpRtcp unit tests.
Bug: webrtc:11340
Change-Id: I0ef9c07ff1c9a23af5cd1e6c226c1fb15e4758ca
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/219469
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34057}
2021-05-19 15:26:24 +00:00
Gustaf Ullberg
398def6828 Improvements to AEC3 logging to simplify debugging
Adds log messages for
- AEC3 creation
- Transparent mode implementation selection
- Config parameter changes via RetrieveFieldTrialValue

Bug: webrtc:8671
Change-Id: Ibb1e76d66975a3a3c1227e31b9916a17b76e6c29
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/219468
Reviewed-by: Jesus de Vicente Pena <devicentepena@webrtc.org>
Commit-Queue: Gustaf Ullberg <gustaf@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34056}
2021-05-19 14:28:44 +00:00
Gustaf Ullberg
aeb8ce882f AEC3: Change adaptation speed of the matched filter after a delay is found
This change enables the use of two different adaptation speeds of the
matched filter of the delay estimator of AEC3.

One speed is used when no delay has been found, and one is used after a
reliable delay has been found. The purpose is to use a slower adaptation
speed to reduce the risk of divergence during double-talk without
slowing down the search for the initial delay.

The CL prepares for experimentation by adding field trials for
controlling the two adaptation speeds.

Bug: webrtc:12775
Change-Id: I817a1ab5ded0f78d20de45edcf04c708290173fc
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/219083
Commit-Queue: Gustaf Ullberg <gustaf@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34055}
2021-05-19 13:37:13 +00:00
Erik Språng
f6be1b22d6 Simplify RtpSenderTest.SendFlexfecPackets and move to RtpRtcp-level.
Bug: webrtc:11340
Change-Id: Ic83217994c447e490a6ac9cf04ceafa3dc009af7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/219461
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34051}
2021-05-19 10:19:38 +00:00
Henrik Boström
38f1d4bf8a [LibvpxVp8Encoder] Don't DCHECK crash if I420 is not equal to I420A.
In CL https://webrtc-review.googlesource.com/c/src/+/216323 we fixed
the issue where I420 and I420A not being equal would result in dropping
frames in release builds.

But we forgot to update the corresponding DCHECK, meaning the I420 not
being the same as I420A issue still causes crashes on debug builds.
(I must have been running a release build not to catch this before?)

This CL replaces the DCHECK_EQ with an RTC_NOTREACHED inside the
IsCompatibleVideoFrameBufferType check.

Because this only affects debug builds, this CL does not need to be
backmerged anywhere.

Bug: chromium:1203206
Change-Id: I101823e8bca293e94d0f7ce507fe78cedff3ea1b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/219281
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34048}
2021-05-19 08:48:46 +00:00
Per Åhgren
91a892f8ed Add ability to dump the coarse filter in the echo subtractor
Bug: b/155316201
Change-Id: I008cdf1531af3c3c0fff4ce19ad5dd74f8e73f65
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/217891
Reviewed-by: Sam Zackrisson <saza@google.com>
Commit-Queue: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34047}
2021-05-19 08:24:16 +00:00
Danil Chapovalov
cf0ec283d2 Delete RtcpStatistic struct as no longer used
Bug: webrtc:10678
Change-Id: Ic99910817f8b3044124a212627f0a754a54b69e7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/219284
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34046}
2021-05-19 08:07:56 +00:00
Erik Språng
db28555903 Improve test coverage for padding packet generation.
This is a follow-up to r34019. It adds checks for when padding can be
sent before media - and how timestamps are set on RTX padding.

Bug: webrtc:11340
Change-Id: I46fbd3c3eff9e308b5c65220718df749f2d9c46b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/219162
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34041}
2021-05-18 16:47:16 +00:00
Erik Språng
567e847260 Move Send(Generic|Raw)Video from rtp sender unittest to RtpRtcp-level.
Bug: webrtc:11340
Change-Id: Id2204f136c06584f9284c1560832559bb8ac5011
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/219283
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34040}
2021-05-18 14:33:44 +00:00
Gustaf Ullberg
a399c823bb Field trial to disable the transient suppressor
This change adds the field trial "WebRTC-TransientSuppressorForcedOff"
that can be used to disable the transient suppressor (removal of
keyboard typing sounds). The field trial can be enabled by users via
command-line or via experimentation.

Bug: chromium:1186705
Change-Id: I7272df6a20fbbee24a7ba0904502c76bd775d275
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/219282
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Gustaf Ullberg <gustaf@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34038}
2021-05-18 12:34:37 +00:00
Björn Terelius
a77e16ca2c Update BitBuffer methods to style guide
Specifically, use reference instead of pointer for out parameter
and place the out parameter last, for the following methods

ReadUInt8
ReadUInt16
ReadUInt32
ReadBits
PeekBits
ReadNonSymmetric
ReadSignedExponentialGolomb
ReadExponentialGolomb

Bug: webrtc:11933
Change-Id: I3f1efe3e29155985277b0cd18700ddea25fe7914
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/218504
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34037}
2021-05-18 11:10:27 +00:00
Doudou Kisabaka
fe6595f006 Include all RTP packet infos from the mix list when updating the audio frame for mixing.
Users of the mixer can use this information to determine which sources were included in the frame.

Bug: webrtc:12745
Change-Id: I11a8e3b1f4e8f95eb870336cad8dd082330bdf02
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/217768
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Minyue Li <minyue@webrtc.org>
Reviewed-by: Alessio Bazzica <alessiob@webrtc.org>
Reviewed-by: Chen Xing <chxg@google.com>
Commit-Queue: Doudou Kisabaka <doudouk@google.com>
Cr-Commit-Position: refs/heads/master@{#34035}
2021-05-18 11:05:37 +00:00
Alessio Bazzica
7ddadbc108 APM: dump GainController1::AnalogGainController in Config::ToString
Update `AudioProcessing::Config::ToString()` to also dump the config
from `AnalogGainController` which is missing.

Bug: webrtc:7494
Change-Id: Iea5dab1f6abb9ec8581ce690a2a119f202b4d1e1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/219082
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34025}
2021-05-17 16:37:37 +00:00
Doudou Kisabaka
dbf13e32ec AudioMixer: make the number of sources to mix configurable.
This allows mixing different number of streams depending on the
client's capabilities.
This CL adds `WebRTC.Audio.AudioMixer.NumIncomingActiveStreams2`,
which is defined in [1], since the histogram is not logged anymore
as enum.

[1] https://chromium-review.googlesource.com/c/chromium/src/+/2883627

Bug: webrtc:12746
Change-Id: I0d9b3888f0f95269806539e33b56619b757a5c68
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/218160
Reviewed-by: Alessio Bazzica <alessiob@webrtc.org>
Reviewed-by: Minyue Li <minyue@webrtc.org>
Reviewed-by: Johannes Kron <kron@webrtc.org>
Commit-Queue: Doudou Kisabaka <doudouk@google.com>
Cr-Commit-Position: refs/heads/master@{#34024}
2021-05-17 15:43:25 +00:00
Erik Språng
726b0e824b Refactor RtpSenderTest.TrafficSmoothingW* tests
Reduce to testing what RTPSender is actually interested in: that
packets are actually forwarded to the pacer.
Partially the old test was verifying TransmissionOffset header extension,
add an explicit test for that at RtpRtcp-level instead.

Bug: webrtc:11340
Change-Id: I62be39e1d9d8c214c3277f4f1326db05b937674a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/218845
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34023}
2021-05-17 15:32:15 +00:00
Danil Chapovalov
b27a9f9481 Cleanup ReceiveStatistics collecting ReportBlock
avoid intermediate type RtcpStatistics,
Instead write to rtcp::ReportBlock directly.

Bug: webrtc:10678
Change-Id: Ia5f840d720e48d79cbbcb0c95cd221c87156205e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/218840
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34021}
2021-05-17 14:15:45 +00:00
Erik Språng
4310375740 Move SendPacketObserver tests to rtp_sender_egress_unittest.
Bug: webrtc:11340
Change-Id: I865d52b3aa50e8500fc5ecb379538e53ca7ad250
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/218606
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34020}
2021-05-17 13:23:04 +00:00
Erik Språng
7a86aadf3d Refactor RtpSenderTest.SendPadding.
Simplifies the test so that it only tests the padding-related parts.
Header extensions for padding already has a dedicated test, as does
packet stats from RtpSenderEgress.

Bug: webrtc:11340
Change-Id: I88829409aac15f0aad0d4d634114731e819574bd
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/218844
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34019}
2021-05-17 13:21:45 +00:00
Danil Chapovalov
36b7d10a1f Delete unused test method in neteq that uses RtcpStatistics
Bug: webrtc:10678
Change-Id: I759b635037ab7d2d113fbf8359cdbc46e7712ea5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/218843
Reviewed-by: Minyue Li <minyue@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34018}
2021-05-17 12:43:44 +00:00
Erik Språng
95aaf287bb Refactors yet more rtp_sender_unitttests into rtp_sender_egress_unittest
Bug: webrtc:11340
Change-Id: I537c0efd5f0c4576fb43f193e4345618d59035ed
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/218604
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34014}
2021-05-16 21:43:01 +00:00
Danil Chapovalov
f01c2c96f2 Delete RtcpStatisticsCallback in favor of ReportBlockDataObserver
Bug: webrtc:10678
Change-Id: Ie016cbc47dbba15176fc5e7ad7d01a438db7dfb3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/218842
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34013}
2021-05-16 15:09:29 +00:00
Erik Språng
bd09a46aa1 Move some tests out from rtp_sender_unittest.
Moves OnSendSideDelayUpdated and OnSendPacketUpdated out from
rtp_sender_unittest and into rtp_sender_egress_unittest and
rtp_rtcp_impl2_unittest. The former test now only tests the logic for
updating send-side-delay stats. The latter is now on a proper
RtpRtcp-level and also verifies that frame timestamps makes it to the
egress (as assumed by the first test).

Bug: webrtc:11340
Change-Id: I784042ad91eb66a4d1eebdbbc625f9522528bfb5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/218502
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33996}
2021-05-12 14:01:29 +00:00
Per Kjellander
fe2063ebc7 Remove REMB throttling funcionality from PacketRouter
This removes PacketRouter inheritance from  RemoteBitrateObserver and TransportFeedbackSenderInterface.
Call binds methods for sending REMB and transport feedback messages from RemoteCongestionController to PacketRouter.
This is needed until the RTCPTranseiver is used instead of the RTP modules.

Bug: webrtc:12693
Change-Id: I7088de497cd6d1e15c98788ff3e6b0a2c8897ea8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/215965
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33993}
2021-05-12 11:24:58 +00:00
Harsh Maniar
085eceb9ec Increase FEC receiver's protected packet queue size.
- The FEC receiver tracks maximum of 48 media packets at a time, and packet reordering can delay the FEC packet from its protected media packets by more than 48 sequences.
- Such FEC packets do not get purged until much later when newer FEC packets with much higher sequence mark them as old.
- Until that happens, they sit in the receiver queue, wasting CPU cycles.
- If the receiver maintains a larger queue size for the media packets, it increases possibility of having all media packets in the queue, thereby organically purging the FEC packet.
- More importantly, this also increases the efficacy of FEC decode for such packet, since media packets now remain relevant for longer and aid in lost packet recovery.

Bug: webrtc:12656
Change-Id: Id0058df9a23ea31839decf2c37e0670a54c947fc
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/215882
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33989}
2021-05-12 06:26:38 +00:00
Zhaoliang Ma
074edf6016 Fix the VideoFrameType of super frame construction in VideoProcessor
When VideoFrameType for svc upper layer is kVideoFrameDelta for key pic,
the svc unittest will fail due to the wrong frame type for the super
frame of first key picture.

Bug: None
Change-Id: Iff026aaecb73890d3c45d2c88c9654a12d6fe3bf
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/216461
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Zhaoliang Ma <zhaoliang.ma@intel.com>
Cr-Commit-Position: refs/heads/master@{#33986}
2021-05-12 02:21:45 +00:00
Jesús de Vicente Peña
d674ec77af Not dropping the refresh DTX packets but substituting them by 1 byte packets.
Bug: webrtc:12380
Change-Id: I27029c591ac2555d6ae61b706adcf97c9498a9fb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/217880
Reviewed-by: Minyue Li <minyue@webrtc.org>
Commit-Queue: Jesus de Vicente Pena <devicentepena@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33983}
2021-05-11 19:47:34 +00:00