Commit graph

1827 commits

Author SHA1 Message Date
Taylor Brandstetter
9e9bf75dc1 Add comment about setting transport_name field for RemoveIceCandidates.
NOTRY=True

Bug: webrtc:8395
Change-Id: If00bcebd35eaf833ae84ba1cd42e7ca93ab76536
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/203940
Commit-Queue: Taylor <deadbeef@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33096}
2021-01-29 00:28:02 +00:00
Tim Na
76bbc98d72 Adding MockVoipEngine for downstream project's tests
Bug: webrtc:11989
Change-Id: Ie9cfe11a0c2b041457de66c3e3a6cdcd6179e4e9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/201900
Commit-Queue: Tim Na <natim@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33093}
2021-01-28 21:06:16 +00:00
Philipp Hancke
54b925cfc2 add metrics for bundle usage
adds metrics for bundle usage, differentiating between
* BUNDLE is not negotiated and there is only a datachannel,
* BUNDLE is not negotiated and there is at most one m-line per media type,
for unified-plan
* BUNDLE is not negotiated and there are multiple m-lines per media type,
* BUNDLE is negotiated and there is only a datachannel,
* BUNDLE is negotiated but there is at most one m-line per media type,
* BUNDLE is negotiated and there are multiple m-lines per media type,
and for plan-b
* BUNDLE is negotiated
* BUNDLE is not negotiated

BUG=webrtc:12383

Change-Id: I41afc4b08fd97239f3b16a8638d9753c69b46d22
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/202254
Commit-Queue: Philipp Hancke <philipp.hancke@googlemail.com>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33090}
2021-01-28 14:22:52 +00:00
Artem Titov
cc8a1f8450 Add API to get current time mode from NetworkEmulationManager
Bug: None
Change-Id: I1aeca7484bab2b9bc28684b055b8f6bb86135327
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/203888
Reviewed-by: Andrey Logvin <landrey@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33074}
2021-01-26 14:01:17 +00:00
Danil Chapovalov
5312a8f532 Add option to attach custom object to an rtp packet
As an alternative to attaching custom array of bytes.

Bug: b/178094662
Change-Id: I92dcbf04998d8206091125febc520ebfcc4bcebf
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/203264
Reviewed-by: Christoffer Rodbro <crodbro@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Emil Lundmark <lndmrk@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33069}
2021-01-25 18:31:34 +00:00
Artem Titov
d2dd732d83 Introduce network emulated endpoint optional name for better logging
Change-Id: Iedce88400c6f1e91c30249fb49c7914723da2a8d
Bug: None
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/203141
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Andrey Logvin <landrey@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33054}
2021-01-21 18:48:04 +00:00
Emil Lundmark
801c9995c8 Signal extmap-allow-mixed by default on session level
The extmap-allow-mixed SDP attribute signals that one- and two-byte RTP
header extensions can be mixed. In practice, this also means that WebRTC
will support two-byte RTP header extensions when this is signaled by
both peers.

Bug: webrtc:9985
Change-Id: I80a3f97bab162c7d9a5acf2cae07b977641c039d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/197943
Commit-Queue: Emil Lundmark <lndmrk@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33036}
2021-01-19 14:28:11 +00:00
Danil Chapovalov
6cdb67fb33 Document expected thread safety of the TaskQueue interface
Bug: webrtc:12182
Change-Id: I06fc2e2fca98cb9e03d664d5bd8143ae06184314
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/200702
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33032}
2021-01-19 11:11:09 +00:00
philipel
25b8235f03 Remove unused function VideoDecoder::PrefersLateDecoding.
Bug: webrtc:12271
Change-Id: Iaf67df37c0eade8b0b6f38be122530c3d908cf35
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/201820
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33028}
2021-01-18 14:17:57 +00:00
Danil Chapovalov
111a3712e7 Delete unused.h include from api as unused
Bug: None
Change-Id: Ib62bdc296fdff8ecb3eb5b22d5eda1ef8fc35284
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/202036
Reviewed-by: Christoffer Rodbro <crodbro@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33026}
2021-01-18 13:34:17 +00:00
Danil Chapovalov
098da17f35 Reland "Replace RTC_WARN_UNUSED_RESULT with ABSL_MUST_USE_RESULT in c++ code"
This is a reland of 8c2250eddc

Original change's description:
> Replace RTC_WARN_UNUSED_RESULT with ABSL_MUST_USE_RESULT in c++ code
>
> Bug: webrtc:12336
> Change-Id: If76f00d0883b5c8a90d3ef5554f5e22384b3fb58
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/197620
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Reviewed-by: Christoffer Rodbro <crodbro@webrtc.org>
> Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#32978}

Bug: webrtc:12336
Change-Id: I1cd017d45c1578528dec4532345950e9823f4a63
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/201732
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Christoffer Rodbro <crodbro@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33003}
2021-01-15 17:59:05 +00:00
Mirko Bonadei
e5f4c6b8d2 Reland "Refactor rtc_base build targets."
This is a reland of 69241a93fb

Fix: The problem was related to NO_MAIN_THREAD_WRAPPING, which
affects https://source.chromium.org/chromium/chromium/src/+/master:third_party/webrtc/rtc_base/thread.cc;l=257-263;drc=7acc2d9fe3a6e3c4d8881d2bdfc9b8968a724cd5.
The original CL didn't attach the definition of the macro
NO_MAIN_THREAD_WRAPPING when building for Chromium (which doesn't have
to be related to //rtc_base anymore but to //rtc_base:threading).

Original change's description:
> Refactor rtc_base build targets.
>
> The "//rtc_base:rtc_base" build target has historically been one of the
> biggest targets in the WebRTC build. Big targets are the main source of
> circular dependencies and non-API types leakage.
>
> This CL is a step forward into splitting "//rtc_base:rtc_base" into
> smaller targets (as originally started in 2018).
>
> The only non-automated changes are (like re-wiring the build system):
> * The creation of //rtc_base/async_resolver.{h,cc} which allows to
>   break a circular dependency (is has been extracted from
>   //rtc_base/net_helpers.{h,cc}).
> * The creation of //rtc_base/internal/default_socket_server.{h,cc} to
>   break another circular dependency.
>
> Bug: webrtc:9987
> Change-Id: I0c8f5e7efe2c8fd8e6bffa0d6dd2dd494cf3df02
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196903
> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> Reviewed-by: Harald Alvestrand <hta@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#32941}

Bug: webrtc:9987
Change-Id: I7cdf49d2aac8357f1f50f90010bf2c2f62fa19f6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/202021
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33001}
2021-01-15 17:00:05 +00:00
Andrey Logvin
f9ee0e08ec Add cross trafic emulation api
Bug: webrtc:12344
Change-Id: I958dc4deda4af4576818600c31aecdf48285172f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/200981
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Andrey Logvin <landrey@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32989}
2021-01-15 07:38:17 +00:00
Mirko Bonadei
7acc2d9fe3 Revert "Refactor rtc_base build targets."
This reverts commit 69241a93fb.

Reason for revert: Breaks WebRTC roll into Chromium.

Original change's description:
> Refactor rtc_base build targets.
>
> The "//rtc_base:rtc_base" build target has historically been one of the
> biggest targets in the WebRTC build. Big targets are the main source of
> circular dependencies and non-API types leakage.
>
> This CL is a step forward into splitting "//rtc_base:rtc_base" into
> smaller targets (as originally started in 2018).
>
> The only non-automated changes are (like re-wiring the build system):
> * The creation of //rtc_base/async_resolver.{h,cc} which allows to
>   break a circular dependency (is has been extracted from
>   //rtc_base/net_helpers.{h,cc}).
> * The creation of //rtc_base/internal/default_socket_server.{h,cc} to
>   break another circular dependency.
>
> Bug: webrtc:9987
> Change-Id: I0c8f5e7efe2c8fd8e6bffa0d6dd2dd494cf3df02
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196903
> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> Reviewed-by: Harald Alvestrand <hta@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#32941}

TBR=mbonadei@webrtc.org,hta@webrtc.org

# Not skipping CQ checks because original CL landed > 1 day ago.

No-Try: True
Bug: webrtc:9987
Change-Id: I1e36ad64cc60092f38d6886153a94f1a58339256
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/201840
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Markus Handell <handellm@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32986}
2021-01-14 21:27:38 +00:00
Danil Chapovalov
4319b1695e Revert "Replace RTC_WARN_UNUSED_RESULT with ABSL_MUST_USE_RESULT in c++ code"
This reverts commit 8c2250eddc.

Reason for revert: breaks downstream project

Original change's description:
> Replace RTC_WARN_UNUSED_RESULT with ABSL_MUST_USE_RESULT in c++ code
>
> Bug: webrtc:12336
> Change-Id: If76f00d0883b5c8a90d3ef5554f5e22384b3fb58
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/197620
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Reviewed-by: Christoffer Rodbro <crodbro@webrtc.org>
> Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#32978}

TBR=danilchap@webrtc.org,mbonadei@webrtc.org,crodbro@webrtc.org

Change-Id: I5c9d419785254878a825865808b56841cd30b9b5
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:12336
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/201731
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32979}
2021-01-14 15:02:47 +00:00
Danil Chapovalov
8c2250eddc Replace RTC_WARN_UNUSED_RESULT with ABSL_MUST_USE_RESULT in c++ code
Bug: webrtc:12336
Change-Id: If76f00d0883b5c8a90d3ef5554f5e22384b3fb58
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/197620
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Christoffer Rodbro <crodbro@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32978}
2021-01-14 14:32:26 +00:00
Erik Språng
c12f625938 Adds VideoDecoder::GetDecoderInfo()
This adds a new way to poll decoder metadata.
A default implementation still delegates to the old methods.
Root call site is updates to not use the olds methods.

Follow-ups will dismantle usage of the olds methods in wrappers.

Bug: webrtc:12271
Change-Id: Id0fa6863c96ff9e3b849da452d6540e7c5da4512
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196520
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32976}
2021-01-14 13:33:22 +00:00
Tim Na
507eacfd35 Reland "ChannelStatistics used for RTP stats in VoipStatistics."
This is a reland of 444e04be69

Reason for reland: resolved the breaks from downstream project

Original change's description:
> ChannelStatistics used for RTP stats in VoipStatistics.
>
> - Added local and remote RTP statistics query API.
> - Change includes simplifying remote SSRC change handling
>   via received RTP and RTCP packets.
>
> Bug: webrtc:11989
> Change-Id: Ia3ee62c1191baaedc67e033ea3c661d8c9301abc
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/199060
> Reviewed-by: Harald Alvestrand <hta@webrtc.org>
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Reviewed-by: Sam Zackrisson <saza@webrtc.org>
> Commit-Queue: Tim Na <natim@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#32954}

Bug: webrtc:11989
Change-Id: I88620a9f1c037b512821cac9d556905149666870
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/201481
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Commit-Queue: Tim Na <natim@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32966}
2021-01-13 16:57:22 +00:00
Alex Loiko
37827c9058 Revert "ChannelStatistics used for RTP stats in VoipStatistics."
This reverts commit 444e04be69.

Reason for revert: breaks downstream project

Original change's description:
> ChannelStatistics used for RTP stats in VoipStatistics.
>
> - Added local and remote RTP statistics query API.
> - Change includes simplifying remote SSRC change handling
>   via received RTP and RTCP packets.
>
> Bug: webrtc:11989
> Change-Id: Ia3ee62c1191baaedc67e033ea3c661d8c9301abc
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/199060
> Reviewed-by: Harald Alvestrand <hta@webrtc.org>
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Reviewed-by: Sam Zackrisson <saza@webrtc.org>
> Commit-Queue: Tim Na <natim@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#32954}

TBR=mbonadei@webrtc.org,saza@webrtc.org,hta@webrtc.org,natim@webrtc.org

Change-Id: I5ce6a698c1216c7d56e32fce3308c16daac852f4
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:11989
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/201460
Reviewed-by: Alex Loiko <aleloi@google.com>
Commit-Queue: Alex Loiko <aleloi@google.com>
Cr-Commit-Position: refs/heads/master@{#32956}
2021-01-12 21:35:19 +00:00
Tim Na
444e04be69 ChannelStatistics used for RTP stats in VoipStatistics.
- Added local and remote RTP statistics query API.
- Change includes simplifying remote SSRC change handling
  via received RTP and RTCP packets.

Bug: webrtc:11989
Change-Id: Ia3ee62c1191baaedc67e033ea3c661d8c9301abc
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/199060
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Commit-Queue: Tim Na <natim@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32954}
2021-01-12 18:55:41 +00:00
Mirko Bonadei
69241a93fb Refactor rtc_base build targets.
The "//rtc_base:rtc_base" build target has historically been one of the
biggest targets in the WebRTC build. Big targets are the main source of
circular dependencies and non-API types leakage.

This CL is a step forward into splitting "//rtc_base:rtc_base" into
smaller targets (as originally started in 2018).

The only non-automated changes are (like re-wiring the build system):
* The creation of //rtc_base/async_resolver.{h,cc} which allows to
  break a circular dependency (is has been extracted from
  //rtc_base/net_helpers.{h,cc}).
* The creation of //rtc_base/internal/default_socket_server.{h,cc} to
  break another circular dependency.

Bug: webrtc:9987
Change-Id: I0c8f5e7efe2c8fd8e6bffa0d6dd2dd494cf3df02
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196903
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32941}
2021-01-11 18:32:30 +00:00
philipel
360da05ed1 Remove webrtc::VideoDecoder::PrefersLateDecoding.
This is just general cleanup.

The assumed behavior is late decoding, and this function is not used to make any decision (except in the deprecated jitter buffer).

Bug: webrtc:12271
Change-Id: Ifb48186d55903f068f25e44c5f73e7a724f6f456
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/200804
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Christoffer Rodbro <crodbro@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32940}
2021-01-11 18:02:25 +00:00
Artem Titov
ec9b281bbc Add ability to specify random seed when creating built it network emulation
Bug: webrtc:12340
Change-Id: Iffd054928249099866ef4527b911b1e358e26f5a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/200805
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32920}
2021-01-07 16:40:50 +00:00
Per Kjellander
b03b6c8a94 Move setting of encoder bitrate allocation callback type to VideoSendStream
It turned out that the negotiated rtp header extensions are not fully known in WebRtcVideoChannel::AddSendStream.

The cl also remove the unnecessary factory for creating VideoStreamEncoder.


Bug: webrtc:12000
Change-Id: If994c8deb69f3ce4212896d3ad757dac94c6e09f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/198840
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32916}
2021-01-07 09:29:05 +00:00
Harald Alvestrand
fc6b87192d Make the JsepSessionDesription clone() method copy candidates.
Bug: webrtc:12323
Change-Id: I54ba73a8f58d47eba6edcee521fc3efd13b95a79
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/199966
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32904}
2021-01-05 12:55:24 +00:00
Niels Möller
08d2c2bf46 Delete unneeded dependencies on the Module abstraction
Bug: webrtc:7219
Change-Id: I1bcbab7e30f9964798a093e888b07d758cf226e1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/198124
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32865}
2020-12-21 09:09:57 +00:00
Markus Handell
5932fe1392 RtpTransceiverInterface: introduce HeaderExtensionsNegotiated.
This changes adds exposure of a new transceiver method for
accessing header extensions that have been negotiated, following
spec details in https://w3c.github.io/webrtc-extensions/#rtcrtptransceiver-interface.

The change contains unit tests testing the functionality.

Note: support for signalling directionality of header extensions
in the SDP isn't implemented yet.

https://chromestatus.com/feature/5680189201711104.
Intent to prototype: https://groups.google.com/a/chromium.org/g/blink-dev/c/65YdUi02yZk

Bug: chromium:1051821
Change-Id: If963beed37e96eed2dff3a2822db4e30caaea4a0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/198126
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Markus Handell <handellm@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32860}
2020-12-17 23:43:42 +00:00
Harald Alvestrand
c908f1c19a Declare the Clone operator of SessionDescriptionInterface as const.
Bug: webrtc:12215
Change-Id: I8e44e2b9365893ecf481e69060771c2c208bbcdf
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/198125
Reviewed-by: Markus Handell <handellm@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32858}
2020-12-17 21:01:37 +00:00
Harald Alvestrand
0e7b3a9dad Add a Clone() method to SessionDescriptionInterface
This should allow us to remove some SDP parsing in Chromium.

Bug: webrtc:12215
Change-Id: Ib85593d1c9226b29f2ec18617f945c76eca3b2d7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/197806
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32840}
2020-12-16 08:05:10 +00:00
Erik Språng
ebe5acb27a VideoCodecTextFixture and YuvFrameReader improvements.
Adds ability to specify desired frame size separate from actual clip
resolution, as well as clip and desired fps.
This allows e.g. reading an HD clip but running benchmarks in VGA, and
to specify e.g. 60fps for the clip but 30for encoding where frame
dropping kicks in so that motion is actually correct rather than just
plaing the clip slowly.

Bug: webrtc:12229
Change-Id: I4ad4fcc335611a449dc2723ffafbec6731e89f55
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/195324
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32839}
2020-12-15 23:18:06 +00:00
Gustaf Ullberg
46ea5d7f82 Surface the number of encoded channels
Two audio channels going into the AudioSource::Sink can either be
down-mixed to mono or encoded as stereo. This change enables WebRTC
users (such as Chromium) to query the number of audio channels actually
encoded. That information can in turn be used to tailor the audio
processing to the number of channels actually encoded.

This change fixes webrtc:8133 from a WebRTC perspective and will be
followed up with the necessary Chromium changes.

Bug: webrtc:8133
Change-Id: I8e8a08292002919784c05a5aacb21707918809c8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/197426
Reviewed-by: Per Åhgren <peah@webrtc.org>
Reviewed-by: Magnus Flodman <mflodman@webrtc.org>
Commit-Queue: Gustaf Ullberg <gustaf@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32836}
2020-12-15 16:38:04 +00:00
Tim Na
9325d343e5 Enforcing return type handling on VoIP API.
- This CL also affects some return type handling in Android Voip demo
app due to changes in return type handling.

Bug: webrtc:12193
Change-Id: Id76faf7c871476ed1f2d08fb587211ae234ae8d3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196625
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Tim Na <natim@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32821}
2020-12-11 20:38:15 +00:00
philipel
370e60098c Remove EncodedFrame::inter_layer_predicted.
Bug: webrtc:12206
Change-Id: I52246e81aa9a814fc211df19fbe27aff197a85b7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196743
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32815}
2020-12-10 18:11:49 +00:00
philipel
cb327d9162 Remove use of inter_layer_predicted in FrameBuffer2.
Now that RtpVp9RefFinder sets an additional reference on the frame instead of marking it as inter_layer_predicted it is no longer used.

Bug: webrtc:12206
Change-Id: I10e0930336eafc32dc86feb2f690cb131e55be2c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196740
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32814}
2020-12-10 14:18:09 +00:00
Andrey Logvin
b95d90b78a Rename UNIT_TEST to WEBRTC_UNIT_TEST
Current name conflicts with upstream project code.

Bug: webrtc:12247
Change-Id: Ibd78273a75262772fc18fca688c29b9ba9525ce5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196653
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Andrey Logvin <landrey@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32813}
2020-12-10 11:04:58 +00:00
Andrey Logvin
d7808f1c46 Add DVQA support for scenarios with new participants joining
Bug: webrtc:12247
Change-Id: Id51a2ab34e0b802e11931cad13f48ce8eefddcae
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196361
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Andrey Logvin <landrey@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32804}
2020-12-08 18:24:08 +00:00
Gustaf Ullberg
992a96f68e AEC3: Prevent diverging coarse filter from influencing the refined filter
After the refined filter has been determined to perform better than
the coarse filter, and the coefficients of the coarse filters are
overwritten by the ones from the refined filter, at least 100 ms have
to pass before the adaptation of the refined filter is allowed to speed
up due to good coarse filter performance.

This change solves the vicious circle described in webrtc:12265, where
the coarse and refined filters can diverge over time.

This feature can be disabled remotely via a kill-switch. When disabled
the AEC output is bit-exact to before the change.

Bug: webrtc:12265,chromium:1155477
Change-Id: Iacd6e325e987dd8a475bb3e8163fee714c65b20a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196501
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Gustaf Ullberg <gustaf@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32801}
2020-12-08 15:05:23 +00:00
Alex Konradi
c20baf6067 Remove nesting of Naggy/Strict/NiceMock
This will soon become a compile-time error. Fix class hierarchies that
wrap StrictMock in a NiceMock or vice-versa by removing redundant
wrappings and removing inheritance from Nice/StrictMock and fixing the
call sites as appropriate.

Bug: b/173702213
Change-Id: Ic90b1f270c180f7308f40e52e358a8f6a6baad86
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196461
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32783}
2020-12-07 08:19:50 +00:00
Henrik Lundin
6c80aebd00 Remove kwiberg@webrtc.org from OWNERS files
Bug: none
Change-Id: I7f399449026de58dee28abcede2630269c6b95b5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196505
Reviewed-by: Magnus Flodman <mflodman@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32774}
2020-12-04 15:11:26 +00:00
Harald Alvestrand
837f13c84c Relax check for unknown STUN attribute lengths
Bug: chromium:1155459
Change-Id: I51cb8162a989ba934e3292c86c3ecf749f26f601
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196500
Commit-Queue: Jonas Oreland <jonaso@google.com>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Jonas Oreland <jonaso@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32773}
2020-12-04 10:47:06 +00:00
Andrey Logvin
8dbbd648e7 Revert "Ignore frames that are comming to DVQA after Stop is called"
This reverts commit 8d4cdd11d8.

Reason for revert: Upstream project needs have changed

Original change's description:
> Ignore frames that are comming to DVQA after Stop is called
>
> Bug: webrtc:12247
> Change-Id: Ie3e773bdff66c900956019ac3131bbdb9ee874cd
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196084
> Reviewed-by: Sebastian Jansson <srte@webrtc.org>
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Commit-Queue: Andrey Logvin <landrey@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#32738}

TBR=mbonadei@webrtc.org,srte@webrtc.org,landrey@webrtc.org

Change-Id: Ie7483435eae9b0344f875673ca9651ff4d591bd3
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:12247
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196280
Reviewed-by: Andrey Logvin <landrey@webrtc.org>
Commit-Queue: Andrey Logvin <landrey@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32746}
2020-12-02 18:42:58 +00:00
Sebastian Jansson
ccfcec402d Adds more owners to api/test
Bug: None
Change-Id: Ica95e15f8521274c41b475d8c39a0b27a50c7724
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196090
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32740}
2020-12-02 11:19:55 +00:00
Andrey Logvin
8d4cdd11d8 Ignore frames that are comming to DVQA after Stop is called
Bug: webrtc:12247
Change-Id: Ie3e773bdff66c900956019ac3131bbdb9ee874cd
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196084
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Andrey Logvin <landrey@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32738}
2020-12-02 09:22:14 +00:00
Mirko Bonadei
f30c47fc79 Add Chromium metrics OWNERS as OWNERS of api/uma_metrics.h
As requested on bugs.webrtc.org/12096#c2, this CL adds a Chromium
metric OWNERS in order to always have their review when WebRTC's UMA
metrics are updated.

Bug: webrtc:12096
Change-Id: Icd9ab7dda5f7a4ba6ac078f667c1fd39f3314123
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/191702
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32728}
2020-12-01 10:34:17 +00:00
Harald Alvestrand
faaaa87960 Remember the proxies
CL that should have been part of CL 195541

Bug: webrtc:12238
Change-Id: I3ab7a7a5f0d0bfdbc00904a01444acda02d49e90
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/195543
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32712}
2020-11-27 12:51:54 +00:00
Harald Alvestrand
a3dd772e7a Add create function for PeerConnection that can return an error.
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}
2020-11-27 11:08:10 +00:00
Ivo Creusen
7b463c5f67 Add a "Smart flushing" feature to NetEq.
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}
2020-11-26 11:20:28 +00:00
Tim Na
b223cb60e9 Defining API result types on VoIP API
Bug: webrtc:12193
Change-Id: I6f5ffd82cc838e6982257781f225f9d8159e6b82
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/193720
Commit-Queue: Tim Na <natim@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32656}
2020-11-20 18:02:05 +00:00
philipel
87e99095a7 Make video scalability mode configurable from peerconnection level.
This CL does not aim at cleaning up simulcast/SVC configuration, just to make it possible to set the scalability mode for AV1. Implementing a codec agnostic SVC/simulcast API is a (big) project on its own.

Change-Id: Ia88df31eb1111713e5f8832e95c8db44f92887ca

BUG: webrtc:11607
Change-Id: Ia88df31eb1111713e5f8832e95c8db44f92887ca
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/192541
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Reviewed-by: Christoffer Rodbro <crodbro@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32631}
2020-11-18 12:06:03 +00:00
Jakob Ivarsson
a9961b3839 Allow temporal based switch if temporal layers are undefined.
Bug: webrtc:11324
Change-Id: Iee4717f453bb9883683d752832fbc7bf999a96c2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/193704
Commit-Queue: Jakob Ivarsson <jakobi@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32630}
2020-11-18 10:59:22 +00:00