Needed in order to return different codes for different failures
in initialization.
Sideswipe: Check TURN URL hostnames for illegal characters.
Bug: webrtc:12238
Change-Id: I1af3a37b9654b83b268304f7356049f9f3786b7a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/195541
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32710}
External reasons here are simulcast configuration and
source resolution change.
Initial frame dropper should be enabled in these cases because the
client can request way too big resolution for available bitrate and
usual quality scaling would take too long.
Bug: none
Change-Id: I02fbbd3c15b53b39672c083c2a1f9a780256c507
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/195004
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32707}
Without this change, if the user disables QVGA and VGA streams via |active|
flags in SetParamters, the resulting stream would have too high min bitrate.
This would lead to bad performance and low quality adaptation rate.
Bug: none
Change-Id: I919a30bfb248c06747c989afe6965b3afaef2260
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/195325
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32706}
This CL also adds commentary to member variables that couldn't be guarded
because they're accessed from multiple threads.
Bug: webrtc:12230
Change-Id: I5193a7ef36ab25588c76ee6a1863de6a844be1dc
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/195331
Reviewed-by: Tommi <tommi@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32705}
Delete unused macros BWE_MIN and BWE_MAX.
Move enum RateControlState: Make it a private enum class in
AimdRateControl, the only user.
Change users of the header file that only need BandwidthUsage, to
instead include api/network_state_predictor.h, the file defining this
class. As a result, fewer dependencies on
modules/remote_bitrate_estimator.
Bug: None
Change-Id: I4450c79dd58e1875d64dd74d1ae2cb7d911a14b3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/195222
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32704}
Instead of flushing all packets, it makes sense to flush down to the target level instead. This CL also initiates a flush when the packet buffer is a multiple of the target level, instead of waiting until it is completely full.
Bug: webrtc:12201
Change-Id: I8775147624536824eb88752f6e8ffe57ec6199cb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/193941
Commit-Queue: Ivo Creusen <ivoc@webrtc.org>
Reviewed-by: Jakob Ivarsson <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32701}
Setting the option after calling connect but before the socket is
connected fails in some circumstances on Windows, while setting it
before connecting always succeeds. That's what Chrome is doing;
TCPClientSocket::OpenSocket calls SetDefaultOptionsForClient (which
sets TCP_NODELAY) right after opening the socket.
Also, start logging errors, and storing last error when setsockopt
fails.
Bug: webrtc:12217
Change-Id: I169d52e31b50e54e5bc93ff3590bae656cacb2b2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/195060
Commit-Queue: Taylor <deadbeef@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Jonas Oreland <jonaso@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32696}
Removes confusion in the logs because both VideoSendStream and
VideoSendStreamImpl use the same log line.
Bug: None
Change-Id: Id9e22f23341e134667ab5f8e308732c836ab213d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/195328
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Evan Shrubsole <eshr@google.com>
Cr-Commit-Position: refs/heads/master@{#32693}
In that configuration HAVE_WEBRTC_VIDEO is not defined so null_webrtc_video_engine.h gets included which unlike the real one does not include a required header.
Bug: webrtc:11926, webrtc:12187
Change-Id: I3f9df7a841ea6d9920dcb5b39a7386946c9e4341
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/193784
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32683}
I'm not 100% sure that is the reason. But I think it worth trying.
No-Presubmit: True
Bug: webrtc:12223
Change-Id: Idc6a9006ce2e3c6d299ad56cd747faebfeff37ce
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/195003
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Andrey Logvin <landrey@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32682}
This enables send side bandwidth estimation for audio and removes field
trial "WebRTC-Audio-SendSideBwe" which this was controlled through.
Transport-cc extension still needs to be negotiated.
Bug: webrtc:12222
Change-Id: Ie2268fad13703eeb0f0d38fcf484baaa29715b7c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/194142
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Jakob Ivarsson <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32681}
Starting from [1], //third_party/protobuf has been updated to 3.13.0
and this introduces a breaking change which breaks WebRTC's perf results
upload (see bugs.webrtc.org/12211).
Error:
File [..]/tracing/proto/histogram_proto.py", line 9, in <module>
import histogram_pb2 # pylint:disable=relative-import
File "[..]/tracing/proto/histogram_pb2.py", line 22, in <module>
create_key=_descriptor._internal_create_key,
AttributeError: 'module' object has no attribute '_internal_create_key'
It looks like vpython is not able to load the wheel from the vpython
environment if the import happens in the "from ... import ..." form
while it works if the library is pre-imported with "import ...".
[1] - https://chromium-review.googlesource.com/c/chromium/src/+/2545204
No-Try: True
No-Presubmit: True
Bug: webrtc:12211
Change-Id: Id3e365eb9d4c4c31bcd4dcfab7db700e0e6e00b2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/195000
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Andrey Logvin <landrey@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32677}
This patch fixes a bug where old candidates was
generated if doing GATHER_CONTINUALLY.
The problem was that the old port allocator session
was never stopped, and when the new sessio is created
it will attach to the network that will signal OnNetworkChanged().
The patch adds explicit stop of old sessions.
The problem was not possible to trigger using fake_network
as this "incorrectly" called SignalNetworkChanged directly
rather than after a Thread->Post() like network.cc does it.
Bug: webrtc:12210
Change-Id: Ief3f961bd97f06f4c4194ecbc3200c635ba63cf6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/194961
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Jonas Oreland <jonaso@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32675}
Methods deleted: StorePackets, RtcpXrRrtrStatus. They are now private
methods on the two implementations.
Bug: None
Change-Id: If68e8f1e8ba233302e24e0cdb6bf7c1b0c9f330f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/194322
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32670}
The newer format is byte aligned and thus faster to write and parse
It also more compact for the common target bitrate cases.
Bug: webrtc:12000
Change-Id: Id040ecb9e7d85799134a6e52f5d6d280b5161262
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/193860
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32669}
This is a reland of f5e261aaf65cdf2eb903cdf40d651846be44f447
This CL disables RTC_NO_UNIQUE_ADDRESS on MSan builds since
there have been some issues.
Original change's description:
> Introduce RTC_NO_UNIQUE_ADDRESS.
>
> This macro introduces the possibility to suggest the compiler that a
> data member doesn't need an address different from other non static
> data members.
>
> The usage of a macro is to maintain portability since at the moment
> the attribute [[no_unique_address]] is only supported by clang
> with at least -std=c++11 but it should be supported by all the
> compilers starting from C++20.
>
> Bug: webrtc:11495
> Change-Id: I9f12b67b4422a2749649eaa6b004a67d5fd572d8
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/173331
> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#32246}
Bug: webrtc:11495, webrtc:12218
Change-Id: I4e6c7cc37d3daffad2407c9a2acfa897fa5b426a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/189968
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32668}
When spatial scalability is used, both vpx and aom set key frame flag
for all spatial layers of the first frame, while rtp code expect it to
be set only on the frame without spatial dependencies.
That creates confusion for the frame dependency calculator.
Simplest solution seems to ignore that confusing signal and instead
rely encoder wrappers update frame buffer usages when key frame is generated.
Bug: webrtc:11999
Change-Id: Ica24f1d8d42d32dd24664beabf32ac24872cd15a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/194002
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32667}