The address and the related address of local candidates are sanitized
accordingly when the mDNS concealment of local IPs is enabled. Also,
remote hostname candidates created from signaling are sanitized in stats
as well. A couple of unit tests are revised to reflect the desired
behavior of AsyncResolverInterface so that when a hostname candidate is
resolved, the hostname is kept in the candidate address.
Bug: webrtc:9605, chromium:914452
Change-Id: Iad9ad04ce4e50304e44cf04b15b97a7ae2dec960
Reviewed-on: https://webrtc-review.googlesource.com/c/113643
Reviewed-by: Qingsi Wang <qingsi@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Seth Hampson <shampson@webrtc.org>
Reviewed-by: Jeroen de Borst <jeroendb@webrtc.org>
Commit-Queue: Qingsi Wang <qingsi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25996}
This CL simplifies a lot of code that can be cleaned up after the merge
of RtpTransportControllerSend and SendSideCongestionController.
In particular, the role of CongestionControlHandler is reduced to only
handle the pacer pushback and stream pausing mechanism.
Bug: webrtc:9586
Change-Id: Idbc1e968efd35e6df6129bc307f6bc1db18d20f2
Reviewed-on: https://webrtc-review.googlesource.com/c/113947
Reviewed-by: Christoffer Rodbro <crodbro@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25994}
It is important that these numbers do not change, so instead of
referring to constants we will use literals here. If we need to update
them we will simply have to update this test as well.
Bug: webrtc:7452
Change-Id: I2808ef08d2236c10666258a8670cc2fd08543143
Reviewed-on: https://webrtc-review.googlesource.com/c/114160
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Paulina Hensman <phensman@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25991}
- Add chroma siting to color space RTP extension.
- Use 16 bits for max/min luminance.
- Change denominator of chromaticity and luminance.
- Add RTC_DCHECKs to protect against overflows.
Bug: webrtc:8651
Change-Id: If8b95bad6241381224eaba9c5bccce06a65a9195
Reviewed-on: https://webrtc-review.googlesource.com/c/113804
Commit-Queue: Johannes Kron <kron@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25990}
This reverts commit a099877d8946eb942046ca1295cc142e4fa7ea6f.
Reason for revert: Breaks WebRTC roll into Chromium. See https://chromium-review.googlesource.com/c/chromium/src/+/1373891:
In file included from ../../third_party/webrtc/modules/desktop_capture/linux/window_capturer_pipewire.cc:11:
In file included from ../../third_party/webrtc/modules/desktop_capture/linux/window_capturer_pipewire.h:16:
../../third_party/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.h:16:10: fatal error: 'pipewire/pipewire.h' file not found
#include <pipewire/pipewire.h>
^~~~~~~~~~~~~~~~~~~~~
Original change's description:
> Reland "Default to dlopening the PipeWire."
>
> This is a reland of a13be019017449c57f48203d0fb778f34f7553a7
>
> Original change's description:
> > Default to dlopening the PipeWire.
> >
> > Reuse the existing infra from Chromium to do that. Additionally the
> > target_gen_dir needs to the added to the include directories, otherwise
> > the Chromium build will fail as it won't find the generated stubs. Also the
> > pw_properties_new() was replaced with pw_properties_new_string() as it doesn't
> > require a variadic parameter because the //tools/generate_stubs/generate_stubs.py
> > doesn't work with them correctly. With all these changes in place the PipeWire
> > support is enabled when compiling on Linux.
> >
> > Bug: chromium:682122
> > Change-Id: I3bbc5efaecd9a08e20cbcf998b2cb534224eae7d
> > Reviewed-on: https://webrtc-review.googlesource.com/c/111081
> > Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> > Reviewed-by: Brave Yao <braveyao@webrtc.org>
> > Commit-Queue: Tomáš Popela <tomas.popela@gmail.com>
> > Cr-Commit-Position: refs/heads/master@{#25720}
>
> Bug: chromium:682122
> Change-Id: I3cca3d4d961dc7a088346c8fd3c970d3dfde3b79
> Reviewed-on: https://webrtc-review.googlesource.com/c/113040
> Reviewed-by: Weiyong Yao <braveyao@chromium.org>
> Reviewed-by: Brave Yao <braveyao@webrtc.org>
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
> Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#25981}
TBR=phoglund@webrtc.org,mbonadei@webrtc.org,oprypin@webrtc.org,braveyao@webrtc.org,braveyao@chromium.org,tomas.popela@gmail.com
Change-Id: Icdb6a94c8825f13d75ddc12219e99cee8fef51a0
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium:682122
Reviewed-on: https://webrtc-review.googlesource.com/c/114162
Reviewed-by: Henrik Grunell <henrikg@webrtc.org>
Commit-Queue: Henrik Grunell <henrikg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25989}
Using declarations should use fully qualified names (with leading `::`)
unless they are referring to a name inside the current namespace.
Source: https://abseil.io/tips/119.
This CL removes a lot of "using webrtc::*" adding a namespace to the
tests. It also removes some unneeded "using" declarations.
Bug: webrtc:9855
Change-Id: Id6eb843e9dcee2e458b1ffd0c499df390fa9c45d
Reviewed-on: https://webrtc-review.googlesource.com/c/114001
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25987}
When migrating the audio device, we accidentally dropped a /2 for
PlayoutDelay. This meant we would estimate a delay of 150ms instead of
75ms for JavaAudioDeviceModules. This change fixes that.
Bug: webrtc:7452
Change-Id: I20b70ebf141410209953243ae665644b92e480f5
Reviewed-on: https://webrtc-review.googlesource.com/c/113946
Commit-Queue: Paulina Hensman <phensman@webrtc.org>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25986}
This is a reland of a13be019017449c57f48203d0fb778f34f7553a7
Original change's description:
> Default to dlopening the PipeWire.
>
> Reuse the existing infra from Chromium to do that. Additionally the
> target_gen_dir needs to the added to the include directories, otherwise
> the Chromium build will fail as it won't find the generated stubs. Also the
> pw_properties_new() was replaced with pw_properties_new_string() as it doesn't
> require a variadic parameter because the //tools/generate_stubs/generate_stubs.py
> doesn't work with them correctly. With all these changes in place the PipeWire
> support is enabled when compiling on Linux.
>
> Bug: chromium:682122
> Change-Id: I3bbc5efaecd9a08e20cbcf998b2cb534224eae7d
> Reviewed-on: https://webrtc-review.googlesource.com/c/111081
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Reviewed-by: Brave Yao <braveyao@webrtc.org>
> Commit-Queue: Tomáš Popela <tomas.popela@gmail.com>
> Cr-Commit-Position: refs/heads/master@{#25720}
Bug: chromium:682122
Change-Id: I3cca3d4d961dc7a088346c8fd3c970d3dfde3b79
Reviewed-on: https://webrtc-review.googlesource.com/c/113040
Reviewed-by: Weiyong Yao <braveyao@chromium.org>
Reviewed-by: Brave Yao <braveyao@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25981}
rtc::s_url_decode internally calls transform on rtc::url_decode which operates
on raw char buffers. This is used in some core parts of ice server parsing so
it makes sense to add at least a basic fuzzer here. Corpus generation will be
tailored in a future CL.
Bug: webrtc:10117
Change-Id: If1685601c746c4a9f88c2a8d396eeb3f1b1688d4
Reviewed-on: https://webrtc-review.googlesource.com/c/113835
Commit-Queue: Benjamin Wright <benwright@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25980}
Adding RidDescription to StreamParams that will contain the list of rids
for the track.
Adding receive_stream to MediaContentDescription to allow identifying
the stream that originates from the answerer (but is referenced by the
sender). For example, to signal that it will be received in Simulcast.
Bug: webrtc:10073.
Change-Id: Icd9a6b0a69d42bef51f525e673ce447255584334
Reviewed-on: https://webrtc-review.googlesource.com/c/113794
Commit-Queue: Amit Hilbuch <amithi@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Seth Hampson <shampson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25978}
This extends WebRTC standalone license generator to support third_party
libraries that have nested sub-libraries with their own separate licenses
(i.e. android_deps).
Bug: webrtc:10114
Change-Id: I1a1d7bf770f87f417c3c970b7bb5eb90fef3129e
Reviewed-on: https://webrtc-review.googlesource.com/c/113945
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Commit-Queue: Artem Titarenko <artit@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25972}
This fixes an issue which can happen if fec is used. The protection
rate may fluctuate and each such change would trigger a new allocation
limit to be signaled. For each such update, the probe controller could
initiate a new probe.
We work around this by both quantizing the protection fraction and by
not sending a new probe unless the max allocated bitrate has increased
significantly (or we are in ALR).
Bug: webrtc:10070
Change-Id: I328963da23aedbcbedeb877aec46f5955cd2b88d
Reviewed-on: https://webrtc-review.googlesource.com/c/113525
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25971}
The flag rtc_use_builtin_sw_codecs will be removed in a later CL and
this marks usage of the various entry points using the old video factory
API as deprecated.
Bug: webrtc:7925, webrtc:10044
Change-Id: I5c75516a41b0666e77539c028808cc2b173ed4bd
Reviewed-on: https://webrtc-review.googlesource.com/c/113061
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Anders Carlsson <andersc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25970}
These are part of AppRTCMobile and should use framework style imports.
Bug: webrtc:9627
Change-Id: Ieefb12b19edd8e680c69c3508b66bc02545fb49f
Reviewed-on: https://webrtc-review.googlesource.com/c/113920
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Commit-Queue: Anders Carlsson <andersc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25966}
This CL moves the code that stores SSRCs used by different media types
so that it will be used by the new format too. This is sufficient to
get the correct media types printed in e.g. event_log_visualizer.
Bug: webrtc:8111
Change-Id: Ife11bc49b2af7577c7b5326c0b0fadd2e5b48b94
Reviewed-on: https://webrtc-review.googlesource.com/c/113942
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Elad Alon <eladalon@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25965}
This changes MediaSessionFactory to take the unified plan
configuration option as an explicit setter rathen than a
MediaSessionOptions flag. This is fine since a PeerConnection will
always be in unified plan mode or not, and we know this at
construction.
Bug: None
Change-Id: Ifca45d1d7c9d62b2b41bb879f8665fb39b4cdcd0
Reviewed-on: https://webrtc-review.googlesource.com/c/113824
Reviewed-by: Seth Hampson <shampson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25960}
Previously, the PeerConnection would look at the pending local
and remote descriptions also to determine if an m= section is
recycled. That is not quite spec compliant and breaks down under
some edge cases. This changes the PeerConnection to look only at
the *current* local or remote description (i.e., the descriptions
from the last time the PeerConnection was in a stable signaling
state) to determine if an m= section is recycled.
Additionally, the MediaSessionFactory only looked at the local
description to determine if an m= section is recycled. The full
criteria requires looking at the current local and current remote
m= sections. This change adds a state enum to the
MediaDescriptionOptions so that the MediaSessionFactory knows if
a media section is being recycled without duplicating the logic
in PeerConnection.
Tests are added to cover additional edge cases.
Bug: chromium:899680
Change-Id: I5bcf0f88957a61653269ed8bb50b2018500bc1d5
Reviewed-on: https://webrtc-review.googlesource.com/c/111293
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Seth Hampson <shampson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25959}
This has been deprecated for a long time. Simulcast streams are now logged as
one RtcEventVideoSendStreamConfig per SSRC instead of one RtcEventVideoSendStreamConfig
containing a group of SSRCs
Bug: webrtc:8111
Change-Id: I4da62a4b2151a841413cde222a5154638dbb2e47
Reviewed-on: https://webrtc-review.googlesource.com/c/113811
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Elad Alon <eladalon@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25957}
This change introduces a new measurement into the VideoReceiveStream::Stats
structure to measure the latency between the first frame being received and
the first frame being decoded in WebRTC. The goal here is to measure the latency
difference when a FrameEncryptor is attached and not attached.
Change-Id: I0f0178aff73b66f25dbc6617098033e226da2958
Bug: webrtc:10105
Reviewed-on: https://webrtc-review.googlesource.com/c/113328
Commit-Queue: Benjamin Wright <benwright@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25956}
The header extensions for a receive stream should also be used
for the associated RTX stream, but not for the (RTCP) send stream.
Bug: webrtc:10113
Change-Id: Ibeb25a4490d7f628f1b360bf4d6f7edf444ba22a
Reviewed-on: https://webrtc-review.googlesource.com/c/113807
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25955}
Some tests had to be updated due to this change.
Bug: webrtc:9510
Change-Id: I79c4c0166d8ba5e8190a607d5d35b67dc30a3c14
Reviewed-on: https://webrtc-review.googlesource.com/c/113522
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Christoffer Rodbro <crodbro@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25952}
This is a propagation of upstream chromium change needed to
resume DEPS autorolls into WebRTC.
Original comment from upstream change:
> This change is made in preparation for an ErrorProne
> check to catch this at compile time. See bug for details.
Bug: chromium:771683
Change-Id: I56aed15f73a633dcadae7ece6c645cd3596f9257
Reviewed-on: https://webrtc-review.googlesource.com/c/113505
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Artem Titarenko <artit@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25951}
Changing VAD (voice activity detector) confidence threshold from 40%
to 90%. The proportion of samples classified as speech drops to ca 80%
of what it was when the threshold was 40%. Therefore,
kFullBufferSizeMs has to be increased by 1.0/0.8. We increase it from
1600ms to 2000ms.
TESTED = Did run the new and old configs on AEC dumps. With one minute
of kitchen noise, the new tuning boosted the noise by 3-4 db less.
Bug: chromium:913430
Change-Id: I4a2ebb6d1d309c6c20dd23c3685818b1b5ad4a66
Reviewed-on: https://webrtc-review.googlesource.com/c/113806
Commit-Queue: Alex Loiko <aleloi@webrtc.org>
Reviewed-by: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25950}
Without this, the application can't find the WebRTC dynamic library
when started from the built app bundle (debugging in Xcode worked).
Bug: webrtc:10111
Change-Id: I1610948aae070fe9938e873ce073e05ba7255c7d
Reviewed-on: https://webrtc-review.googlesource.com/c/113805
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Anders Carlsson <andersc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25949}