This reverts commit 5b4fcb5bf69218c2f42ca2b0cada6c15f2f638e9.
Reason for revert: Breaks build
Original change's description:
> New build target p2p:stun_types
>
> The media:rtc_media_base target needs definitions of various
> stun-related types and constant. With this new smaller target, it no
> longer needs to depend on all of p2p.
>
> Bug: webrtc:8733
> Change-Id: I05910b6915f6d2c96e8f52a017adbc7eb693dca8
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/150945
> Commit-Queue: Niels Moller <nisse@webrtc.org>
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Reviewed-by: Steve Anton <steveanton@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#29036}
TBR=steveanton@webrtc.org,mbonadei@webrtc.org,nisse@webrtc.org
# Not skipping CQ checks because original CL landed > 1 day ago.
Bug: webrtc:8733
Change-Id: I6e00657a6137ff773325f37ec02ee1014b6fe96b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/151740
Reviewed-by: Hannes Landeholm <hnsl@webrtc.org>
Commit-Queue: Hannes Landeholm <hnsl@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29085}
Separate renderer part into steps and make it easier to add more steps
as separate interceptors.
Bug: webrtc:10138
Change-Id: I667fc85d0da4fb59090e69caa4c32bd4afc3bd05
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/151645
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29082}
This CL reduces the complexity and heap usage of the adaptive filter
in AEC3 by avoiding to compute these for the shadow
filter. In particular it
-Moves to compute the ERL, frequency response and impulse response
on an on-demand basis.
-Stores the ERL, frequency response and impulse response outside
of the adaptive filter.
All the changes have been tested for bitexactness on a sizeable
amount of recordings.
Bug: webrtc:10913
Change-Id: If83c236a6e3f2e489be129b9ebf6143a72f521d1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/151138
Commit-Queue: Per Åhgren <peah@webrtc.org>
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29081}
All channels are populated by RenderDelayBuffer. but all other
dependent modules are hardcoded to do their regular mono processing
on the first channel.
Bug: webrtc:10913
Tested: Bitexactness on a large set of aecdumps
Change-Id: I11d11aa0ad3da0f244c0ec020d2c9f0f4a735834
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/151640
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Sam Zackrisson <saza@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29079}
The VectorBuffer and MatrixBuffer names are too generic for their use case.
Bug: webrtc:10913
Change-Id: Ideecd0d27e07487a85a61dc6474e69733d07dcd6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/151602
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Sam Zackrisson <saza@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29076}
All dependent modules are hardcoded to do their regular mono processing on the first channel.
This _almost_ makes RenderBuffer multi-channel: FftData is still only mono.
Bug: webrtc:10913
Change-Id: Id5cc34dbabfe59e1cc72a9675dc7979794e870ed
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/151139
Commit-Queue: Sam Zackrisson <saza@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29074}
Use the latest builder class for AudioRecord instead of the old
constructor. AudioTrack has been updated for a while now.
Bug: webrtc:10942
Change-Id: Ia68b12e5aaf1525cfa630650fbaaa02d70ada15f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/151305
Reviewed-by: Alex Glaznev <glaznev@webrtc.org>
Commit-Queue: Henrik Andreassson <henrika@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29072}
This reverts commit 52a8da38f9ec6da7c487626c699d811e542e1cf5.
Reason for revert: It doesn't solve the problem.
Original change's description:
> Always create output_dir in setup_apprtc.py.
>
> This should probably fix [1]. It only happens on Windows bots and from
> the error it looks like if output_dir is missing, the unzipping just
> fails.
>
> [1] - https://ci.chromium.org/p/chromium/builders/webrtc.fyi/WebRTC%20Chromium%20FYI%20Win%20Builder/4027
>
> Bug: None
> Change-Id: I2f0abe90898d6d15525b46fd74635e2a3150cb37
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/151307
> Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#29064}
TBR=phoglund@webrtc.org,mbonadei@webrtc.org
Change-Id: If8d93033dcb871476f23c1597f24efcd2e20cfb2
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: None
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/151420
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29067}
This behavior seems to conform to expectations from the rate allocators,
using this signal to chose which layers to enable and then distributing
the remaining bandwidth to the activated layers.
Bug: webrtc:10126
Change-Id: If0e1b27dc672ec2fbb30a5f5ac734e5ed4b42e45
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/151306
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Florent Castelli <orphis@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29065}
This prepares for simplifying the behavior of optionals so that
an empty parameter value resets the optional.
Bug: webrtc:9883
Change-Id: I8ef8fe9698235044cac66bc4a587abe874c8f854
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/150883
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29061}
This CL propagates the number of render and capture channels into
the echo subtractor and the adaptive filters.
Bug: webrtc:10913
Change-Id: I5ffff24ff64b7cc0f262bf008b34b6dfca1e78f9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/151300
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Commit-Queue: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29059}
Update the |cumulative_lost_| counter per received packet. The rules
follow from RFC 3550 and are fairly simple: Decrement the counter by
one for every received packet. For every in-order packet, i.e., increasing
|received_seq_max_|, add that change to |cumulative_lost_|.
Net change is zero as long as packets are received in proper sequence.
This way, GetStats() always returns an up-to-date value, independent
of the timing of RTCP report blocks.
For RTCP reports, keep a workaround to never report negative cumulative loss.
Bug: webrtc:10679
Change-Id: I47ff3bf266ff2382f405ec9828d34f7fad7068b4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/150641
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29058}
These fixes are automatically created by various analysis tools, but have been manually triggered to be applied.
* the 'empty' method should be used to check for emptiness instead of 'size' (3 times)
* using decl 'Return' is unused (4 times)
* using decl '_' is unused (3 times)
* using decl 'DoAll' is unused (2 times)
* using decl 'SetArgPointee' is unused
* using decl 'Dlrr' is unused
* using decl 'IsEmpty' is unused
* redundant get() call on smart pointer
* using decl 'Invoke' is unused (2 times)
* using decl 'SizeIs' is unused (3 times)
* using decl 'make_tuple' is unused
* using decl 'NiceMock' is unused
* using decl 'SaveArg' is unused (2 times)
* using decl 'AtLeast' is unused
* using decl 'ElementsAre' is unused
* using decl 'Gt' is unused
Bug: None
Change-Id: I97658fb0e94620b8319d7c3da29b15e27ec23188
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/151133
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29056}
Currently we set the EOR bit when sending a message through the sctp
library. This makes the send non atomic, meaning that message can be
partially accepted by the sctp socket. Currently we ignore the sent
amount result, but this change now checks that result and buffers the
remaining message to be sent later in the case that it was only
partially accepted by usrsctp.
Bug: webrtc:10922
Change-Id: I9ff563c40e2b7dbdeb19b40d07c43a15ff7c9b49
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/150562
Commit-Queue: Seth Hampson <shampson@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Amit Hilbuch <amithi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29051}
"WebRTC-VP8-Forced-Fallback-Encoder-v2" affect VP8 only, "WebRTC-Video-MinVideoBitrate" apply to all codec. When both field trial string are set, the bitrate set by "WebRTC-VP8-Forced-Fallback-Encoder-v2" will be used.
Bug: webrtc:10915
Change-Id: I63da5909c04ecfad99e93a535fbf71293890fd11
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/151135
Commit-Queue: Ying Wang <yinwa@webrtc.org>
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Christoffer Rodbro <crodbro@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29047}
This class doesn't strictly follow rtc::TaskQueue semantics,
which makes it surprising and hard to use correctly.
Please use TaskQueueForTest instead.
This CL follows usual deprecation process:
1/ Rename.
% for i in `git ls-files` ; sed -i "s:SingleThreadedTaskQueueForTesting:DEPRECATED_SingleThreadedTaskQueueForTesting:" $i
2/ Annotate old name for downstream users and accidental new uses.
Bug: webrtc:10933
Change-Id: I80b4ee5a48df1f63f63a43ed0efdb50eb7fb156a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/150788
Reviewed-by: Elad Alon <eladalon@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Tommi <tommi@webrtc.org>
Commit-Queue: Yves Gerey <yvesg@google.com>
Cr-Commit-Position: refs/heads/master@{#29045}
This reverts commit eec5fff4df92b2330e5fec67ff08c7cbb4c4ab8d.
Reason for revert: Some crashes found by the fuzzer
Original change's description:
> Refactor FEC code to use COW buffers
>
> This refactoring helps to reduce unnecessary memcpy calls on the receive
> side.
>
> This CL replaces
> |uint8 data[IP_PACKET_SIZE]| with |rtc::CopyOnWriteBuffer data| in Packet class,
> removes |length| field there, and does necessary changes.
>
> This is a reland of these two CLs with fixes:
> https://webrtc-review.googlesource.com/c/src/+/144942
> https://webrtc-review.googlesource.com/c/src/+/144881
>
> Bug: webrtc:10750
> Change-Id: I76f6dee5a57ade59942ea2822ca4737edfe6438b
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/145332
> Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
> Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
> Reviewed-by: Stefan Holmer <stefan@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#29035}
TBR=brandtr@webrtc.org,ilnik@webrtc.org,stefan@webrtc.org
Change-Id: Id3d65fb1324b9f1b0446fe217012115ecacf2b40
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:10750
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/151130
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29043}
This is a reland of a66395e72f9fc86873bf443579ec73c3d78af240
Original change's description:
> Reland "Add core multi-channel pipeline in AEC3 This CL adds basic the basic pipeline to support multi-channel processing in AEC3."
>
> This is a reland of f3a197e55323aee974a932c52dd19fa88e5d4e38
>
> Original change's description:
> > Add core multi-channel pipeline in AEC3
> > This CL adds basic the basic pipeline to support multi-channel
> > processing in AEC3.
> >
> > Apart from that, it removes the 8 kHz processing support in several
> > places of the AEC3 code.
> >
> > Bug: webrtc:10913
> > Change-Id: If5b75fa325ed0071deea94a7546cb4a7adf22137
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/150332
> > Commit-Queue: Per Åhgren <peah@webrtc.org>
> > Reviewed-by: Sam Zackrisson <saza@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#29017}
>
> Bug: webrtc:10913
> Change-Id: Ifc4b13bd994cfd22dca8f8755fa5700617cc379d
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/151124
> Reviewed-by: Sam Zackrisson <saza@webrtc.org>
> Commit-Queue: Per Åhgren <peah@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#29034}
Bug: webrtc:10913
Change-Id: Id8da5666df8c86f290c73ad5dc9958199f1a7ebe
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/151127
Commit-Queue: Sam Zackrisson <saza@webrtc.org>
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29042}
The VideoBitrateAllocator subclasses may actually allocate more than the
target, in order to satisfy the min bitrate constraint. In this case,
make sure the bandwidth allocation we signal to the encoder is at least
this large.
Bug: chromium:995462
Change-Id: I08b89a7c54392330d773e13c1b0a3eff42f81672
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/151125
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29040}