Commit graph

504 commits

Author SHA1 Message Date
Florent Castelli
380789761c Add dummy implementation for SetCodecPReferences.
The proper signature of the function should return an RTCError,
but due to all the classes in external projects implementing it with
this signature, we need a many steps process to update this.

- Add an implementation for the pure virtual method
- Update projects not to override it
- Update the function signature
- Update projects to override it with the right signature
- Remove the dummy implementation from the interface

Bug: webrtc:9777
Change-Id: Idf99216792b4ad13339e4e8be6f7b735bb6b64e7
Reviewed-on: https://webrtc-review.googlesource.com/101564
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Commit-Queue: Florent Castelli <orphis@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24807}
2018-09-24 18:26:10 +00:00
Jonas Olsson
84df1c724e Make fewer copies when using StringBuilder.
Replace calls to .str() which copies with .Release which moves in cases where that's safe.

This CL was generated by this command:
git grep -l 'StringBuilder' |
xargs perl -i -0 -pe "s/(rtc::StringBuilder (\S+);.*?return )\\g2.str\(\)/\$1\$2.Release\(\)/sg"

Bug: webrtc:8982
Change-Id: If4dadbeb039df010aaaa9e58da81c1971a84fe8f
Reviewed-on: https://webrtc-review.googlesource.com/100307
Commit-Queue: Jonas Olsson <jonasolsson@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24790}
2018-09-24 09:39:19 +00:00
Gustaf Ullberg
b55df9259f Revert "AEC3: Reduce filter divergence during low-echo double-talk"
This reverts commit 958ed23860.

Reason for revert: Will need additional work to handle clock-drift.

Original change's description:
> AEC3: Reduce filter divergence during low-echo double-talk
> 
> Bug: webrtc:9746,chromium:883264
> Change-Id: Ie3faf106fd1fd835e67d9e6794c679703af54fea
> Reviewed-on: https://webrtc-review.googlesource.com/99920
> Reviewed-by: Per Åhgren <peah@webrtc.org>
> Commit-Queue: Gustaf Ullberg <gustaf@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#24706}

TBR=gustaf@webrtc.org,peah@webrtc.org

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

Bug: webrtc:9746, chromium:883264
Change-Id: Ib039eb80e2ddfc43ec52183086da2474baef65e0
Reviewed-on: https://webrtc-review.googlesource.com/100480
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Commit-Queue: Gustaf Ullberg <gustaf@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24741}
2018-09-14 13:41:44 +00:00
Henrik Lundin
00eb12a20c Let NetEq use the PLC output from a decoder
This change enables NetEq to use the packet concealment audio (aka
PLC) produced by a decoder. The change also includes a new API to the
AudioDecoder interface, which lets the decoder implementation generate
and deliver concealment audio.

Bug: webrtc:9180
Change-Id: Icaacebccf645d4694b0d2d6310f6f2c7132881c4
Reviewed-on: https://webrtc-review.googlesource.com/96340
Commit-Queue: Henrik Lundin <henrik.lundin@webrtc.org>
Reviewed-by: Minyue Li <minyue@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24738}
2018-09-14 07:05:20 +00:00
Åsa Persson
8c1bf9595a Reland "Add initial support for RtpEncodingParameters max_framerate."
This reverts commit 948b7e3755.

Reason for revert: downstream project fixed.

Original change's description:
> Revert "Add initial support for RtpEncodingParameters max_framerate."
>
> This reverts commit ced5cfdb35.
>
> Reason for revert: Breaks downstream project.
>
> Original change's description:
> > Add initial support for RtpEncodingParameters max_framerate.
> >
> > Add support to set the framerate to the maximum of |max_framerate|.
> > Different framerates are currently not supported per stream for video.
> >
> > Bug: webrtc:9597
> > Change-Id: Ie326617b66bd97be387f809a7f82b97b8f3ff5fe
> > Reviewed-on: https://webrtc-review.googlesource.com/92392
> > Reviewed-by: Sebastian Jansson <srte@webrtc.org>
> > Reviewed-by: Erik Språng <sprang@webrtc.org>
> > Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
> > Reviewed-by: Steve Anton <steveanton@webrtc.org>
> > Commit-Queue: Åsa Persson <asapersson@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#24270}
>
> TBR=steveanton@webrtc.org,magjed@webrtc.org,asapersson@webrtc.org,sprang@webrtc.org,srte@webrtc.org
>
> Change-Id: I508fe48e0c53996654f657357913ac307dc256bd
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: webrtc:9597
> Reviewed-on: https://webrtc-review.googlesource.com/94060
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#24277}

TBR=steveanton@webrtc.org,mbonadei@webrtc.org,magjed@webrtc.org,asapersson@webrtc.org,sprang@webrtc.org,srte@webrtc.org

Bug: webrtc:9597
Change-Id: Ieed9d62787f3e9dcb439399bfe7529012292381e
Reviewed-on: https://webrtc-review.googlesource.com/100080
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24720}
2018-09-13 10:06:33 +00:00
Jonas Olsson
941a07cca3 Remove all remaining non-test uses of std::stringstream.
Bug: webrtc:8982
Change-Id: I635a8545c46dc8c89663d64af351e22e65cbcb33
Reviewed-on: https://webrtc-review.googlesource.com/98880
Commit-Queue: Jonas Olsson <jonasolsson@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24715}
2018-09-13 08:52:05 +00:00
Benjamin Wright
1f87ec6813 Add AEAD support to Frame Encryption API. Add Contribuitng Source To Decryptor.
This change allows supporting additional data for authentication and adds a
requirement for the contributing source to be provided during decryption.

Change-Id: Ifc19cb2d8a7d6c3715c83c95cf12f64df0bca454
Bug: webrtc:9681
Reviewed-on: https://webrtc-review.googlesource.com/100001
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Commit-Queue: Benjamin Wright <benwright@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24712}
2018-09-12 21:09:30 +00:00
Gustaf Ullberg
958ed23860 AEC3: Reduce filter divergence during low-echo double-talk
Bug: webrtc:9746,chromium:883264
Change-Id: Ie3faf106fd1fd835e67d9e6794c679703af54fea
Reviewed-on: https://webrtc-review.googlesource.com/99920
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Gustaf Ullberg <gustaf@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24706}
2018-09-12 14:09:00 +00:00
Sergey Silkin
9c147ddc91 Revert "Add SSLConfig object to IceServer."
This reverts commit 4f085434b9.

Reason for revert: breaks downstream projects.

Original change's description:
> Add SSLConfig object to IceServer.
> 
> This is a rollforward of https://webrtc-review.googlesource.com/c/src/+/96020,
> with the addition of setting the old tlsCertPolicy, tlsAlpnProtocols and
> tlsEllipticCurves in the RTCIceServer initializer, for backwards compatibility.
> 
> Bug: webrtc:9662
> Change-Id: I28706ed4ff5abe3f7f913f105779f0e5412aeac5
> Reviewed-on: https://webrtc-review.googlesource.com/98762
> Commit-Queue: Diogo Real <diogor@google.com>
> Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
> Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
> Reviewed-by: Steve Anton <steveanton@webrtc.org>
> Reviewed-by: Qingsi Wang <qingsi@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#24696}

TBR=steveanton@webrtc.org,sakal@webrtc.org,kwiberg@webrtc.org,kthelgason@webrtc.org,qingsi@webrtc.org,benwright@webrtc.org,diogor@google.com

Change-Id: I1cb64b63fec688b4ac90c2fa368eaf0bc11046af
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:9662
Reviewed-on: https://webrtc-review.googlesource.com/99880
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24701}
2018-09-12 10:46:04 +00:00
Diogo Real
4f085434b9 Add SSLConfig object to IceServer.
This is a rollforward of https://webrtc-review.googlesource.com/c/src/+/96020,
with the addition of setting the old tlsCertPolicy, tlsAlpnProtocols and
tlsEllipticCurves in the RTCIceServer initializer, for backwards compatibility.

Bug: webrtc:9662
Change-Id: I28706ed4ff5abe3f7f913f105779f0e5412aeac5
Reviewed-on: https://webrtc-review.googlesource.com/98762
Commit-Queue: Diogo Real <diogor@google.com>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Qingsi Wang <qingsi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24696}
2018-09-11 23:28:46 +00:00
Johnny Lee
e0c8b230e7 Frame marking RTP header extension (PART 1: implement extension)
Bug: webrtc:7765
Change-Id: I23896d121afd6be4bce5ff4deaf736149efebcdb
Reviewed-on: https://webrtc-review.googlesource.com/85200
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24695}
2018-09-11 22:35:30 +00:00
Ivo Creusen
f81b0f11a6 Move code for setting field trials from NetEqTestFactory to the main function in neteq_rtpplay.
It is problematic to set field trials more than once, so to avoid running into problems, this functionality has been placed in the main function of neteq_rtpplay.

Bug: webrtc:9667
Change-Id: Ib9b9990f30a1715b50889dbfc4d74787bcbe5dae
Reviewed-on: https://webrtc-review.googlesource.com/98541
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Minyue Li <minyue@webrtc.org>
Commit-Queue: Ivo Creusen <ivoc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24673}
2018-09-11 09:27:11 +00:00
Ivo Creusen
eb58464f82 Remove the move constructor from NetEqState.
This move constructor causes downstream issues, so it needs to be removed for now.

Bug: webrtc:9667
Change-Id: Ic15bfdf6b392a95e05bf75bc2c1dd32ce132d32b
Reviewed-on: https://webrtc-review.googlesource.com/99121
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Ivo Creusen <ivoc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24672}
2018-09-11 09:19:09 +00:00
Magnus Jedvert
59ab3536a4 Add receive stream id argument to CreateDecoder() method
This is necessary to migrate some clients so that we can move forward
with removal of cricket::WebRtcVideoDecoderFactory.

TBR=stefan@webrtc.org

Bug: webrtc:7925
Change-Id: Icc2949e3f7f3137d1b68eb30874f14a33168e41f
Reviewed-on: https://webrtc-review.googlesource.com/97500
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Anders Carlsson <andersc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24671}
2018-09-11 08:47:04 +00:00
Ivo Creusen
4384f53285 Add more useful information to NetEqState and implement action_times_ms
This CL adds more useful information to NetEqState, and implements setting action_times_ms, which can be used to get a better idea of what actually happened during a timestep.

Bug: webrtc:9667
Change-Id: I789a3e1ad852066fdf4e9b4c96b8fb6033dacb27
Reviewed-on: https://webrtc-review.googlesource.com/98163
Reviewed-by: Minyue Li <minyue@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Ivo Creusen <ivoc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24643}
2018-09-10 09:10:53 +00:00
Harald Alvestrand
d7b79af9df Add "tones remaining" argument to DTMF ontonechange callback
Bug: webrtc:9725
Change-Id: I2ad3e57d7357a9bd7cfbfa675df36ec66ff7c851
Reviewed-on: https://webrtc-review.googlesource.com/98361
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24633}
2018-09-07 17:29:37 +00:00
Per Åhgren
6a4fd19bbd AEC3: Parametrize the delay estimator to leverage strong echo paths
This CL introduces a new behavior for leveraging early information
about the delay that is acquired before the standard delay estimate
has been established.

To simplify the process of setting the parameters for that, the CL
also surfaces the delay estimator parameters to the config struct.

Bug: webrtc:9720,chromium: 880686
Change-Id: If886813f70cd805bd37752c63913d28398f1c6fe
Reviewed-on: https://webrtc-review.googlesource.com/97860
Commit-Queue: Per Åhgren <peah@webrtc.org>
Reviewed-by: Jesus de Vicente Pena <devicentepena@webrtc.org>
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24614}
2018-09-06 23:01:58 +00:00
Benjamin Wright
88e3e3f570 Updated FrameEncryptorInterface and FrameDecryptorInterface with status code.
This change allows an implementer to provide a custom error code to be returned
on failure with 0 being reserved for success. It also modifies the output size
APIs to be more specific and requests the number of bytes written to be returned
so we can determine how many bytes we need to send.

Bug: webrtc:9681
Change-Id: I13d34861bf851527fcbb350d0cfb480c0f95a6b3
Reviewed-on: https://webrtc-review.googlesource.com/98720
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Commit-Queue: Benjamin Wright <benwright@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24613}
2018-09-06 21:08:59 +00:00
Anton Sukhanov
f60bd4bb00 Interface for media transport
This is experimental interface for media transport.

The goal is to refactor WebRTC codebase to send/receive frames via media transport interface. It will allow us to have different media transport implementations in the future, including QUIC-based media transport.

Bug: webrtc:9719
Change-Id: I64e0b69d18c212e1ed0a08c6904578c3dfbe3af7
Reviewed-on: https://webrtc-review.googlesource.com/95960
Commit-Queue: Anton Sukhanov <sukhanov@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Bjorn Mellem <mellem@webrtc.org>
Reviewed-by: Peter Slatala <psla@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24612}
2018-09-06 20:15:22 +00:00
Jonas Olsson
366a50c4ef Remove simple stringstream usages.
This CL replaces std::o?stringstream with rtc::StringBuilder where that's possible to do without changing any of the surrounding code. It also updates includes and build files as appropriate.

The CL was generated by running 'git grep -l -P std::o?stringstream | xargs perl -pi -e "s/std::o?stringstream/rtc::StringBuilder/g"'. Then I've manually updated the #includes and BUILD files, run 'git cl format' and unstaged any file that would need more complex fixes.

Bug: webrtc:8982
Change-Id: Ibc32153f4a3fd177e260b6ad05ce393972549357
Reviewed-on: https://webrtc-review.googlesource.com/98460
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Jonas Olsson <jonasolsson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24605}
2018-09-06 12:53:19 +00:00
Ying Wang
1d52d2c24d Revert "Add SSLConfig object to IceServer."
This reverts commit 7f1ffcccce.

Reason for revert: Speculative revert

Original change's description:
> Add SSLConfig object to IceServer.
> 
> This is being added to allow greater configurability to TLS connections.
> tlsAlpnProtocols, tlsEllipticCurves and tlsCertPolicy will be removed from IceServer in a
> follow-up CL.
> 
> Bug: webrtc:9662
> Change-Id: I33cb804b02c26c662ed2a28c76f9a9dc2df40f36
> Reviewed-on: https://webrtc-review.googlesource.com/96020
> Commit-Queue: Diogo Real <diogor@google.com>
> Reviewed-by: Qingsi Wang <qingsi@webrtc.org>
> Reviewed-by: Benjamin Wright <benwright@webrtc.org>
> Reviewed-by: Steve Anton <steveanton@webrtc.org>
> Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
> Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#24559}

TBR=steveanton@webrtc.org,sakal@webrtc.org,kthelgason@webrtc.org,juberti@webrtc.org,emadomara@webrtc.org,qingsi@webrtc.org,benwright@webrtc.org,diogor@google.com

Change-Id: Iae9fc68b77f743876bda36fc2a04f6d791aae8e2
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:9662
Reviewed-on: https://webrtc-review.googlesource.com/98000
Reviewed-by: Ying Wang <yinwa@webrtc.org>
Commit-Queue: Ying Wang <yinwa@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24563}
2018-09-05 08:15:29 +00:00
Sebastian Jansson
af21eab531 Adds arithmetic support to DataRate.
Bug: webrtc:9709
Change-Id: Id3fde2b7bbc63c6372cadc76b92c4568665b17f9
Reviewed-on: https://webrtc-review.googlesource.com/97702
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24562}
2018-09-05 08:07:09 +00:00
Diogo Real
7f1ffcccce Add SSLConfig object to IceServer.
This is being added to allow greater configurability to TLS connections.
tlsAlpnProtocols, tlsEllipticCurves and tlsCertPolicy will be removed from IceServer in a
follow-up CL.

Bug: webrtc:9662
Change-Id: I33cb804b02c26c662ed2a28c76f9a9dc2df40f36
Reviewed-on: https://webrtc-review.googlesource.com/96020
Commit-Queue: Diogo Real <diogor@google.com>
Reviewed-by: Qingsi Wang <qingsi@webrtc.org>
Reviewed-by: Benjamin Wright <benwright@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24559}
2018-09-04 22:46:19 +00:00
Sebastian Jansson
9de4ef4b24 Adds signed infinity to timestamps.
Negative infinity is useful in comparisons as it represents a value
guaranteed to be less than any other timestamp. This avoid using
Timestamp::ms(0) to represent such a value or having to use optional
for the special case of first time execution.

To avoid ambiguity, Timestamp::Infinity is renamed to PlusInfinity.

Bug: webrtc:9709
Change-Id: Ib2debff91036e94d1dc903ec0c6faae30febde4e
Reviewed-on: https://webrtc-review.googlesource.com/79440
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24556}
2018-09-04 17:14:05 +00:00
Philipp Hancke
3bc0166a4e getStats: add kind alias for mediaType
see https://github.com/w3c/webrtc-stats/issues/301

IDL: https://w3c.github.io/webrtc-stats/#dom-rtcrtpstreamstats
Change-Id: I7da443bd1cbf07c9a3118ac04329db28b3543b3f

BUG=webrtc:9674

Change-Id: I7da443bd1cbf07c9a3118ac04329db28b3543b3f
Reviewed-on: https://webrtc-review.googlesource.com/96420
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24532}
2018-09-03 11:49:30 +00:00
Ivo Creusen
55de08e7ef Restructure neteq_rtpplay into a library with small executable wrapper.
Most of the code in neteq_rtpplay is moved into a factory class for
NetEqTest. The factory method takes the same argc and argv arguments as
neteq_rtpplay.
This CL also adds a small public API for neteq_test to allow easy
integration into external software.

Bug: webrtc:9667
Change-Id: I5241c1f51736cb6fbe47b0ad25f4bc83dabd727d
Reviewed-on: https://webrtc-review.googlesource.com/96100
Commit-Queue: Ivo Creusen <ivoc@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Reviewed-by: Minyue Li <minyue@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24531}
2018-09-03 10:42:40 +00:00
Sebastian Jansson
88c1a9ecbc Adds infinite addition and subtraction to time units.
This prepares for allowing use making arithmetic operators constexpr.

This also makes it easier to use for comparisons with offsets.
Now a > b + 10 ms works even if b is infinite.

Bug: webrtc:9574
Change-Id: Ie36092b72c2ec0f0c541641199a39155f5a796f3
Reviewed-on: https://webrtc-review.googlesource.com/96820
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24530}
2018-09-03 09:12:10 +00:00
Niels Möller
16e27a1dc5 Reland "Delete leftover includes and declarations for MediaConstraintsInterface"
Original cl: https://webrtc-review.googlesource.com/95721

Bug: webrtc:9239
Change-Id: I7eac85839182bbcecd0d9bd71ae26f6a1c516df4
Reviewed-on: https://webrtc-review.googlesource.com/96401
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24529}
2018-09-03 09:00:01 +00:00
Sebastian Jansson
ed1f75ab6d Removes redundant starting rate.
Sine a starting rate field was added to the constraints struct. Having
it in the initial config separately is reduntant. To simplify the code,
the extra field is removed. This is a follow up on:
https://webrtc-review.googlesource.com/c/src/+/92624

Bug: webrtc:9586
Change-Id: I9b01b16b2fc4b8479e83b7e998308be2295e0325
Reviewed-on: https://webrtc-review.googlesource.com/96801
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24514}
2018-08-31 17:36:21 +00:00
Jesús de Vicente Peña
836a7a2e4d AEC3: option for using the stationarity estimator at render from the beginning of the call
Bug: webrtc:9697
Change-Id: I2427e9e62505d27b0942fd6b2e38eee6d720f4f3
Reviewed-on: https://webrtc-review.googlesource.com/97081
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24513}
2018-08-31 17:07:02 +00:00
Danil Chapovalov
2165233874 Uninline non-trivial AudioOptions functions
reimplement ToString using rtc::SimpleStringBuilder instead of std::ostringstream
Side effect: ToString converts booleans as 0/1 instead of false/true.

Bug: None
Change-Id: I8a57d208b016d3af5a09f7dc2e2ec4e5634446fa
Reviewed-on: https://webrtc-review.googlesource.com/95080
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24512}
2018-08-31 16:25:48 +00:00
Per Åhgren
240215431e AEC3: Parametrize the shadow filter output usage
This CL introduces the ability to control the usage of the shadow filter
output in the echo canceller output.

Bug: webrtc:9694,chromium:879451
Change-Id: I01f90de60de1799b32892051c176bda5e1a8d33e
Reviewed-on: https://webrtc-review.googlesource.com/97020
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Commit-Queue: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24506}
2018-08-31 06:51:16 +00:00
Alessio Bazzica
cc22f51988 Removing the intelligibility enhancer.
The intelligibility enhancer is always disabled and it is the only non-test
target using the lapped transform in common_audio (which we planned to remove).

Bug: webrtc:9689, webrtc:5298
Change-Id: Ida65d3aa11ac366471e7e5cbc053108b376c67d8
Reviewed-on: https://webrtc-review.googlesource.com/96460
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Reviewed-by: Alex Loiko <aleloi@webrtc.org>
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24504}
2018-08-30 21:29:57 +00:00
Benjamin Wright
d81ac953aa Injects FrameEncryptorInterface into RtpSender.
This change injects the FrameEncryptorInterface and the FrameDecryptorInterface
into the RtpSenderInterface and RtpReceiverInterface respectively. This is the
second stage of the injection. In a follow up CL non owning pointers to these
values will be passed down into the media channel.

This change also updates the corresponding mock files.

Bug: webrtc:9681
Change-Id: I964084fc270e10af9d1127979e713493e6fbba7d
Reviewed-on: https://webrtc-review.googlesource.com/96625
Commit-Queue: Benjamin Wright <benwright@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24489}
2018-08-30 00:33:54 +00:00
Benjamin Wright
ea0869145e This change integrates the FrameEncryptorInterface and the
FrameDecryptorInterface into the public WebRTC API surface.

This change just addresses the headers and not the internal changes.

Bug: webrtc:9681
Change-Id: I1db0172fe55ba378f62e7781c2b7dcdb93d63239
Reviewed-on: https://webrtc-review.googlesource.com/96622
Commit-Queue: Benjamin Wright <benwright@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24488}
2018-08-29 21:15:19 +00:00
Mirko Bonadei
8fdcac3f06 Remove clang:find_bad_constructs suppression from call:call.
This CL removes //build/config/clang:find_bad_constructs from the
suppressed_configs list, which means that clang:find_bad_constructs
is now enabled on these translation units.

Bug: webrtc:9251, webrtc:163
Change-Id: I74cb86c29cebb69dd22083718f1446f18f705cd4
Reviewed-on: https://webrtc-review.googlesource.com/95883
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24483}
2018-08-29 11:57:00 +00:00
Kári Tristan Helgason
f16776280f Add config option to run VideoCodecTest in real time.
It's reasonable to allow clients implementing their own VideoCodecTests
to decide wether they should run in real-time.

Removes the IsAsyncCodec helper, as the assumptions it made are outdated,
and it is no longer useful.

Bug: None
Change-Id: If766935d4947555af54f499a30cfe553bde4c1ab
Reviewed-on: https://webrtc-review.googlesource.com/95722
Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24478}
2018-08-29 09:19:25 +00:00
Artem Titov
e269cb4fe2 Add support of overriding network simulation in video quality tests.
Add ability to provide custom implementation of
NetworkSimulatedInterface for sender and receiver network in
VideoQualityTestFixtureInterface, passing them to the factory method.
Also unite this mechanism with FecControllerFactoryInterface injection.


Bug: webrtc:9630
Change-Id: I79259113e0fc00d933b73ca299afa836a4cd19d2
Reviewed-on: https://webrtc-review.googlesource.com/96280
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24476}
2018-08-29 08:50:50 +00:00
henrika
2a4906532f Increases max size of webrtc::AudioFrame from 60ms to 120ms @32kHz.
Existing max size seems a bit random imho. THis CL extends it from 60ms
to 120ms but the actual goal is to allow usage of 20ms @192kHz since
that is the largest possible sample rate which can be selected on most
platforms.

Recent work on the ADM for Windows ensures that the ADM now supports
192kHz.

Without this change, we will hit DCHECK:s like these:

RTC_DCHECK_LE(bytes_per_sample * number_of_frames * number_of_channels,
                AudioFrame::kMaxDataSizeBytes)

when 192kHz is utilized.

Bug: webrtc:9265
Change-Id: Ib4f76a2ecfb1a541776938b8eed801ad64386daa
Reviewed-on: https://webrtc-review.googlesource.com/96542
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Commit-Queue: Henrik Andreassson <henrika@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24473}
2018-08-29 08:43:03 +00:00
Artem Titov
f18b352842 Reland: Rename VideoQualityTestFixtureInterface::Params.pipe into config.
Also make it optional and use default value, if optional is not
specified. It is done also for next refactoring, that will introduce
ability to override network simulation layer.

Bug: webrtc:9630
Change-Id: I2f9b84770e428a7738b47bcf2da1002697c0f313
Reviewed-on: https://webrtc-review.googlesource.com/96580
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24472}
2018-08-29 07:22:34 +00:00
Jesús de Vicente Peña
a687812c70 AEC3: option for enabling/disabling the onset detection for the ERLE in the configuration file.
During this work a parameter is added to the configuration file for the AEC3 that allows to enable or disable the use of a different ERLE estimation for the render onsets.

Bug: webrtc:9677
Change-Id: I467f2cd20683fee06b69c0ba51a90816c9e14f29
Reviewed-on: https://webrtc-review.googlesource.com/96082
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24470}
2018-08-28 20:45:37 +00:00
Artem Titov
17790c3d3c Revert "Rename VideoQualityTestFixtureInterface::Params.pipe into config."
This reverts commit 7f2eab0c7e.

Reason for revert: https://bugs.chromium.org/p/chromium/issues/detail?id=878373

Original change's description:
> Rename VideoQualityTestFixtureInterface::Params.pipe into config.
> 
> Also make it optional and use default value, if optional is not
> specified. It is done also for next refactoring, that will introduce
> ability to override network simulation layer.
> 
> Bug: webrtc:9630
> Change-Id: I88cf1f9c70857f3299b5c3e9580a98570768e129
> Reviewed-on: https://webrtc-review.googlesource.com/96121
> Reviewed-by: Erik Språng <sprang@webrtc.org>
> Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
> Commit-Queue: Artem Titov <titovartem@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#24454}

TBR=phoglund@webrtc.org,sprang@webrtc.org,titovartem@webrtc.org

Change-Id: I7535422ef6a662defb0f9dee32d62133fa0c8b8f
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:9630
Reviewed-on: https://webrtc-review.googlesource.com/96541
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24467}
2018-08-28 13:49:08 +00:00
henrika
255750bfb0 Adds support for real audio devices in video_quality_test.
The old test supported audio but only in combination with a fake ADM.
The new version allows the user to run real video and audio.

Now possible to do:

./out/Debug/video_loopback.exe --audio --use_real_adm

To run the test in loopback using real default audio devices.

By default:

./out/Debug/video_loopback.exe --audio

runs with fake audio devices as before.

Bug: webrtc:9265
Change-Id: Id89924ec0276f929487c71fc6321dcd9cb92693d
Reviewed-on: https://webrtc-review.googlesource.com/96161
Reviewed-by: Minyue Li <minyue@webrtc.org>
Commit-Queue: Henrik Andreassson <henrika@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24463}
2018-08-28 09:00:45 +00:00
Artem Titov
7f2eab0c7e Rename VideoQualityTestFixtureInterface::Params.pipe into config.
Also make it optional and use default value, if optional is not
specified. It is done also for next refactoring, that will introduce
ability to override network simulation layer.

Bug: webrtc:9630
Change-Id: I88cf1f9c70857f3299b5c3e9580a98570768e129
Reviewed-on: https://webrtc-review.googlesource.com/96121
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24454}
2018-08-27 14:17:32 +00:00
Artem Titov
c8e202f3fc Minor improve od documentation for network simulation.
Bug: webrtc:9630
Change-Id: I03827b890ab73662117864c16c59f15a9ae3aac8
Reviewed-on: https://webrtc-review.googlesource.com/96200
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24453}
2018-08-27 14:16:27 +00:00
Per Åhgren
fde4aa9909 AEC3: Adaptive handling of echo path with strong high-frequency gain
This CL adds adaptive handling of platforms where the echo path has
a strong gain above 10 kHz. A configurable offset is adaptively applied
depending on the amount of echo and mode of the echo suppressor.

Bug: webrtc:9663
Change-Id: I27dde6dc23b04a76a3be8c49d7fc9e226b9137e6
Reviewed-on: https://webrtc-review.googlesource.com/95947
Commit-Queue: Per Åhgren <peah@webrtc.org>
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24448}
2018-08-27 12:49:28 +00:00
Niels Moller
ec4a060a55 Revert "Delete leftover includes and declarations for MediaConstraintsInterface"
This reverts commit a1e4ae2371.

Reason for revert: Breakage in downstream code still using constraints.

Original change's description:
> Delete leftover includes and declarations for MediaConstraintsInterface
> 
> Bug: webrtc:9239
> Change-Id: I1f49d6847572faecd6022a44222d6271302fe443
> Reviewed-on: https://webrtc-review.googlesource.com/95721
> Commit-Queue: Niels Moller <nisse@webrtc.org>
> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#24442}

TBR=kwiberg@webrtc.org,nisse@webrtc.org,hta@webrtc.org

Change-Id: Idbef4c57a0d3b82e94a431c5407a86c9fcd4be41
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:9239
Reviewed-on: https://webrtc-review.googlesource.com/96160
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24444}
2018-08-27 11:26:42 +00:00
Niels Möller
a1e4ae2371 Delete leftover includes and declarations for MediaConstraintsInterface
Bug: webrtc:9239
Change-Id: I1f49d6847572faecd6022a44222d6271302fe443
Reviewed-on: https://webrtc-review.googlesource.com/95721
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24442}
2018-08-27 10:41:57 +00:00
Sebastian Jansson
2afd281ec4 Adds debug printing of units in unit tests.
Bug: webrtc:9656
Change-Id: I643b79bc214643f47b2b64967ce713665dbef5c9
Reviewed-on: https://webrtc-review.googlesource.com/95652
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24436}
2018-08-27 08:28:12 +00:00
Per Åhgren
524e878121 AEC3: Add state-specific suppressor behaviors
This CL allows selecting an echo suppressor behavior which is specific
for whether the nearend is dominant, or the echo is dominant.

The changes in this CL are bitexact.

Bug: webrtc:9660
Change-Id: Ie32e65efe47e692de6d6a22a7ad3b469d745fd6b
Reviewed-on: https://webrtc-review.googlesource.com/95725
Commit-Queue: Per Åhgren <peah@webrtc.org>
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24434}
2018-08-24 21:43:36 +00:00