These are required to avoid compilation errors due to signed/unsigned
comparison, on some toolchains (specifically Clang/Fuchsia).
Bug: chromium:839351
Change-Id: I52e726acd4e8d6744e98d7583bc82fcec81060d9
Reviewed-on: https://webrtc-review.googlesource.com/74100
Commit-Queue: Wez <wez@google.com>
Reviewed-by: Tommi <tommi@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23109}
Tests:
- Adapts down due to high QP.
- Adapts down initially due to low bitrate.
Bug: webrtc:9169
Change-Id: Ifcfc07ef6860d4dc3ede54333a56ba313e2f09d5
Reviewed-on: https://webrtc-review.googlesource.com/73160
Commit-Queue: Åsa Persson <asapersson@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23108}
Request key frame when upper spatial layer is enabled dynamically
and inter-layer prediction is disabled or limited to key pictures.
This is needed to force encoder to produce RTP compatible bitstream
where temporal prediction is limited to the same spatial layer.
Bug: webrtc:9217
Change-Id: I4fc1e3f067689ba7b5c6bd1f5af922a0637f03d7
Reviewed-on: https://webrtc-review.googlesource.com/73580
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23102}
RNN implementation for the AGC2 VAD that includes a fully connected
layer and a gated recurrent unit layer.
Bug: webrtc:9076
Change-Id: Ibb8b0b4e9213f09eb9dbe118bbdc94d7e8e4f91b
Reviewed-on: https://webrtc-review.googlesource.com/72060
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Alex Loiko <aleloi@webrtc.org>
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23101}
The new RTCMTLRGBRenderer dynamically handles both the kCVPixelFormatType_32BGRA
and the kCVPixelFormatType_32ARGB pixel formats.
Change-Id: I935532f762eff74c4b84fea9b855191f4c321fb7
Bug: webrtc:9200
Reviewed-on: https://webrtc-review.googlesource.com/72482
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Anders Carlsson <andersc@webrtc.org>
Commit-Queue: Peter Hanspers <peterhanspers@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23100}
To prepare for making the software codecs optional and injectable, these
codec factories provide a way to pass in identical factories as were the
default old behaviour.
Bug: webrtc:7925
Change-Id: I0c70fa3c56c999e9d1af6e172eff2fbba849e921
Reviewed-on: https://webrtc-review.googlesource.com/71162
Commit-Queue: Anders Carlsson <andersc@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23096}
The %f -> %g changes are there to make the SimpleStringBuilder behave like stringstream/cout and friends. With %f it prints e.g. 2.2 as 2.200000. This change also makes it use scientific notation for numbers > 1000000, like the other streams.
Bug: webrtc:8982
Change-Id: Id174b02c5776460607f48efc196a08673b67eeb0
Reviewed-on: https://webrtc-review.googlesource.com/67080
Commit-Queue: Jonas Olsson <jonasolsson@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23094}
"xcode version" key is deprecated.
These are the same changes as in https://webrtc-review.googlesource.com/74000
but I just forgot to apply them to some of the bots.
TBR: phoglund@webrtc.org
Bug: chromium:838854, webrtc:9201
Change-Id: Ia041bcc185fae65681e63d17a6ad7bc081ffa6ab
Reviewed-on: https://webrtc-review.googlesource.com/74040
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23090}
This CL is a follow-up to
https://webrtc-review.googlesource.com/c/src/+/71666 where a lot of code
was removed. Accidentally, the code that called
SurfaceTextureHelper.dispose() was removed. This code used to reside in
surfacetexturehelper.cc. This CL reintroduces the call to dispose in the
VideoSource.java backwards compatibility path.
Bug: webrtc:9181
Change-Id: I3e439dbf97965d806d238f7697561ac5ee9e79f1
Reviewed-on: https://webrtc-review.googlesource.com/73180
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23087}
This CL removes deprecated PeerConnectionFactory ctors as well as some
deprecated comments and functions left from the
PeerConnectionFactory.initialize work.
Bug: webrtc:9158
Change-Id: I757f85b52cbfdbe15bf2570c394202b898892550
Reviewed-on: https://webrtc-review.googlesource.com/70400
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23085}
Currently CreatePeerConnection takes 3 parameters. This is going to expand to four with a new change. Every time a new parameter is added, we need to deprecate the old method, switch clients to the new one, update fake/mock classes and tests, and so on, which is a cumbersome process.
To address this, this CL introduces a PeerConnectionDependencies structure to encapsulate all mandatory and optional dependencies (where a dependency is defined as non trivial
executable code that an API user may want to provide to the native API). This allows adding a new injectable dependency by simply adding a new field to the struct, avoiding the hassle described above.
You may think we could use RTCConfiguration for this. But since RTCConfiguration is both passed in and out of the PeerConnection (using GetConfiguration/SetConfiguration), it can't carry unique_ptrs. And we don't want to inject dependencies via raw pointers, since this could lead to lifetime management bugs, where the dependency is deleted before the PeerConnection is done using it.
Bug: webrtc:7913
Change-Id: I38c3f4ce4f26b37e6fe219d1eeca271294b40db8
Reviewed-on: https://webrtc-review.googlesource.com/73663
Commit-Queue: Benjamin Wright <benwright@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23084}
std::bind2nd and std::ptr_fun are deprecated in C++11 and removed in
C++17. This CL removes their usage, so that the code base is ready for
C++17.
Bug: chromium:752720
Change-Id: I6ec0b596202ebf84cf7b8744f516a76ac8328ccd
Reviewed-on: https://webrtc-review.googlesource.com/72360
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Taiju Tsuiki <tzik@chromium.org>
Cr-Commit-Position: refs/heads/master@{#23083}
This is a followup to cl https://webrtc-review.googlesource.com/71380,
which reworked the way encoder resilience is done, and made the
nack_enabled flag unused.
Bug: webrtc:8830
Change-Id: I3de2508c97bc71e01c8f2232d16cd1f33e57fe4a
Reviewed-on: https://webrtc-review.googlesource.com/69986
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23080}
Fill drops with last decoded frame to make them look like freeze at
playback and to keep decoded spatial layers in sync.
Bug: none
Change-Id: I65f7c21100985c22932a1edd441b6c724833c11e
Reviewed-on: https://webrtc-review.googlesource.com/73685
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23076}
If frame of current layer was dropped, pass base frame to decoder if
non_ref_for_inter_layer_pred is set to true.
Bug: none
Change-Id: If7bf5220b74f424106edf74867c9afa8cc2b1ec5
Reviewed-on: https://webrtc-review.googlesource.com/73440
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23074}
This CL removes the use of default built-in SW in the ObjC layer. If a
client want to depend on the video SW codecs, they must inject them
explicitly.
Bug: webrtc:7925
Change-Id: If752e7f02109ff768dc5ec38d935203de85987c2
Reviewed-on: https://webrtc-review.googlesource.com/69800
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Anders Carlsson <andersc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23073}
This is a reland of f394f65b7195a5f9f71c9f0dec3bb68300590b5b
Original change's description:
> Make VideoStreamEncoder::ReconfigureEncoder always call ConfigureQualityScaler.
>
> In addition restore call to ConfigureQualityScaler in SetSource, which
> is needed if degradation preferences change mid-stream.
>
> Fixes a regressions from https://webrtc-review.googlesource.com/70740,
> The encoder's GetScalingSettings may depend on arguments to
> InitEncode, so configuring the quality scaler only at encoder creation
> time isn't enough.
>
> Bug: webrtc:8830
> Change-Id: I48f66cde219c56272f44441fdb26ec64c6002068
> Reviewed-on: https://webrtc-review.googlesource.com/72000
> Reviewed-by: Åsa Persson <asapersson@webrtc.org>
> Commit-Queue: Niels Moller <nisse@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#22993}
Bug: webrtc:8830
Change-Id: I96f0b8c27e3b58b9e9268117267abcb63ee7fe73
Reviewed-on: https://webrtc-review.googlesource.com/72320
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23071}
This attempts to make it more clear that an offer or answer with
no transports will no start ICE.
Bug: None
Change-Id: Ifb8d9e445b8fbef1fb1590477dd6bdb4fc651a90
Reviewed-on: https://webrtc-review.googlesource.com/73640
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23070}
Cleanup based on review of move CL. Using separate CL to keep the
move clean.
Bug: webrtc:9155
Change-Id: Ie0b15c6d3efcd86e2fa5761f014d0daf72ccfa06
Reviewed-on: https://webrtc-review.googlesource.com/73367
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23068}
Functions to estimate pitch period and gain.
Bug: webrtc:9076
Change-Id: Icfe9430dcae11bdb96165c5bfe6e2b1d3bf848ab
Reviewed-on: https://webrtc-review.googlesource.com/70382
Commit-Queue: Alex Loiko <aleloi@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23066}
with call to RuntimeEnvironment.application which provides the same instance.
Bug: None
Change-Id: I4e318955086dff990cb572a09c116d28a1023a34
Reviewed-on: https://webrtc-review.googlesource.com/73244
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23064}
This is intended to exercise end-to-end sending with the MID RTP
header extension and demuxing by MID.
Bug: webrtc:4050
Change-Id: I81edb3687c65f5efce9591fa34cb03522ad675e5
Reviewed-on: https://webrtc-review.googlesource.com/71601
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Zhi Huang <zhihuang@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23062}
The VPN adapter type is not effectively supported in WebRTC Android for
1) the network monitor may not obtain the VPN adapter type from the OS,
e.g. via NetworkInfo.getType, 2) and VPN adapter type is replaced
by the adapter type of an underlying network by the network monitor in
the current implementation. Specifically, WebRTC Android would
previously classify VPNs as either type ADAPTER_TYPE_UNKNOWN, or the
type of the currently active network (which we assume the VPN is
using).
In this CL, VPNs are classified as ADAPTER_TYPE_VPN whenever possible,
and the underlying network type, if available from the VPN, is
separately stored and used to prioritize ICE candidates in network path
selection.
This allows ADAPTER_TYPE_VPN to be used in networkIgnoreMask to ignore
VPNs when gathering ICE candidates.
Bug: webrtc:9168
Change-Id: I9513c76a114ba967437b699e71223a4a2f13f34a
Reviewed-on: https://webrtc-review.googlesource.com/70960
Commit-Queue: Qingsi Wang <qingsi@google.com>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23061}