Commit Graph

29381 Commits

Author SHA1 Message Date
2697ac1a1b Stop an SCTP connection when the DTLS transport closes.
This CL propagates a "closed" signal from DTLS up to the
SCTP section of the data channel controller, where it causes
closing of all open datachannels.

Bug: chromium:1030631, webrtc:10360
Change-Id: I88bb9e1aff5c25f330edfd092ef609d4fcc3a9f8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/162206
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30099}
2019-12-16 14:54:56 +00:00
8525a8028a Add ability to resize buffers pool in decoder and use it in IVF generator
Bug: webrtc:10138
Change-Id: I452f08f1d9af57de789bd947a1fcb95536845f80
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/162183
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30098}
2019-12-16 14:51:16 +00:00
77eb338ae4 Reland "Distinguish between send and receive video codecs"
This reverts commit f2d6fe62f23f13b974d50baa9ef60426a242af03.

Reason for revert: Downstream test updated.

Original change's description:
> Revert "Reland "Distinguish between send and receive video codecs""
> 
> This reverts commit 26e6afe93f134c844d739384784e78acc07cc145.
> 
> Reason for revert: Breaks another downstream test.
> 
> Original change's description:
> > Reland "Distinguish between send and receive video codecs"
> > 
> > This reverts commit f22af3cca7cfe517e4126db4b7083475722c3e6d.
> > 
> > Reason for revert: Downstream tests have been updated.
> > 
> > Original change's description:
> > > Revert "Distinguish between send and receive video codecs"
> > > 
> > > This reverts commit 18314bd8d2cb27fa58e4d304bbc428e3ed1736ba.
> > > 
> > > Reason for revert: Breaks downstream test.
> > > 
> > > Original change's description:
> > > > Distinguish between send and receive video codecs
> > > > 
> > > > Even though send and receive codecs are the same,
> > > > they might have different support in HW.
> > > > Distinguish between send and receive codecs to be able to keep
> > > > track of which codecs have HW support.
> > > > 
> > > > Bug: chromium:1029737
> > > > Change-Id: I16a80da44c5061ca42f2aabda76e6bf0b879bf7b
> > > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161306
> > > > Reviewed-by: Anders Carlsson <andersc@webrtc.org>
> > > > Reviewed-by: Steve Anton <steveanton@webrtc.org>
> > > > Commit-Queue: Johannes Kron <kron@webrtc.org>
> > > > Cr-Commit-Position: refs/heads/master@{#30041}
> > > 
> > > TBR=steveanton@webrtc.org,andersc@webrtc.org,kron@webrtc.org
> > > 
> > > Change-Id: I7e5807460006db613e9b3b369ec6036b88f164fd
> > > No-Presubmit: true
> > > No-Tree-Checks: true
> > > No-Try: true
> > > Bug: chromium:1029737
> > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161662
> > > Reviewed-by: Johannes Kron <kron@webrtc.org>
> > > Commit-Queue: Johannes Kron <kron@webrtc.org>
> > > Cr-Commit-Position: refs/heads/master@{#30042}
> > 
> > TBR=steveanton@webrtc.org,andersc@webrtc.org,kron@webrtc.org
> > 
> > # Not skipping CQ checks because original CL landed > 1 day ago.
> > 
> > Bug: chromium:1029737
> > Change-Id: Ia70b11376b43888e2495ef21838c2d2e3c68d735
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161734
> > Reviewed-by: Johannes Kron <kron@webrtc.org>
> > Reviewed-by: Steve Anton <steveanton@webrtc.org>
> > Reviewed-by: Anders Carlsson <andersc@webrtc.org>
> > Commit-Queue: Johannes Kron <kron@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#30078}
> 
> TBR=steveanton@webrtc.org,andersc@webrtc.org,kron@webrtc.org
> 
> Change-Id: Ia4971b898c9209a3736a916a1c2c48d392dfdad6
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: chromium:1029737
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/162140
> Reviewed-by: Johannes Kron <kron@webrtc.org>
> Commit-Queue: Johannes Kron <kron@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#30079}

TBR=steveanton@webrtc.org,andersc@webrtc.org,kron@webrtc.org

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

Bug: chromium:1029737
Change-Id: If2c3c5b5e7d86cb852a1f20f02b6ceae62b2e0c8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/162186
Reviewed-by: Johannes Kron <kron@webrtc.org>
Reviewed-by: Anders Carlsson <andersc@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Commit-Queue: Johannes Kron <kron@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30097}
2019-12-16 14:03:46 +00:00
5331079132 Protect against assigning current_offset_ negative value.
Bug: webrtc:11176
Change-Id: Ic3937da6f1ee9cd118372693cb71d70beb43159c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161329
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30096}
2019-12-16 13:06:52 +00:00
cebdbf650d switch RtpVideoStreamReceiver to use VideoRtpDepacketizer interface
instead of creating each time an object with RtpDepacketizer interface

this moves packet payload memcpy from RtpVideoStreamReceiver into
the depacketizers with possibility to remove it from there in follow ups.

Bug: webrtc:11152
Change-Id: If474207eb84d7e9d0207075bd395e60895f0d842
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/162185
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30095}
2019-12-16 12:08:11 +00:00
0f6bf75ab4 Make video engine tests aware of padding packets
Specifically do not try to parse them as rtx packets.

Bug: webrtc:11213, webrtc:11188
Change-Id: I3aa5929af433b1ada9fb26516618d11207f075a5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/162204
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Yves Gerey <yvesg@google.com>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30094}
2019-12-16 11:43:11 +00:00
73eb784676 Don't crash the test process when X11 isn't available.
It's not great to use asserts in util functions like this because it
breaks the arrange-act-assert rule, but using checks is worse because
they will crash the test process on failure (= no other tests get run
after that).

Bug: b/143587130
Change-Id: If4d085311de0792b9fca1584db299fd24199e72e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/162360
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30093}
2019-12-16 09:57:59 +00:00
774fb933a3 Roll chromium_revision cd7700164d..faed30b47a (724740:724977)
Manual tweak: Don't roll src/ios and src/testing.

Change log: cd7700164d..faed30b47a
Full diff: cd7700164d..faed30b47a

Changed dependencies
* src/base: b3e5fa8e95..1a89c23360
* src/build: ddbcd10b58..03d0c36c52
* src/third_party: 76b48eb36f..23379e2aee
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/67b9c374e8..69337c37de
* src/third_party/depot_tools: f1ad6e46ed..ba4699fef5
* src/third_party/freetype/src: 11d4ce23ac..0c14a3adb0
* src/tools: d811596acb..87947b9472
DEPS diff: cd7700164d..faed30b47a/DEPS

No update to Clang.

TBR=chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com,
BUG=None

Change-Id: Id53027ecd5c582cd3efbef8d5f3483304740e6c0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/162340
Commit-Queue: Yves Gerey <yvesg@google.com>
Reviewed-by: Yves Gerey <yvesg@webrtc.org>
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#30092}
2019-12-15 22:25:37 +00:00
17ea068e8c Integration test that verifies that data channels open.
This is in preparation for writing tests that verify that
they close, and that they close at the right times.

Bug: chromium:1030631, webrtc:10360
Change-Id: I8129a9fc9731c1bfe1a660e82e23c1aeff1e5087
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/162181
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30091}
2019-12-13 23:03:34 +00:00
04158be200 Roll chromium_revision da78695105..cd7700164d (724157:724740)
Manual tweak: Don't roll src/ios and src/testing.

Change log: da78695105..cd7700164d
Full diff: da78695105..cd7700164d

Changed dependencies
* src/base: 74d23bf118..b3e5fa8e95
* src/build: dfe5662014..ddbcd10b58
* src/buildtools: 6b3e658d6f..fa02977a1a
* src/buildtools/linux64: git_revision:ad9e442d92dcd9ee73a557428cfc336b55cbd533..git_revision:6feb55993083dfd27b93da195c8a82a3a9529848
* src/buildtools/mac: git_revision:ad9e442d92dcd9ee73a557428cfc336b55cbd533..git_revision:6feb55993083dfd27b93da195c8a82a3a9529848
* src/buildtools/win: git_revision:ad9e442d92dcd9ee73a557428cfc336b55cbd533..git_revision:6feb55993083dfd27b93da195c8a82a3a9529848
* src/third_party: 4ca87a167e..76b48eb36f
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/4082c9147b..67b9c374e8
* src/third_party/depot_tools: 8b34eb4d1e..f1ad6e46ed
* src/third_party/libvpx/source/libvpx: d2a5e26359..b7e03724b3
* src/tools: 6bcb3d7f48..d811596acb
DEPS diff: da78695105..cd7700164d/DEPS

No update to Clang.

TBR=chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com,marpan@webrtc.org, jianj@chromium.org,
BUG=None

Change-Id: Ibfb9022bd21986eff6523dbbcec0f76d37b8e39f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/162220
Commit-Queue: Yves Gerey <yvesg@google.com>
Reviewed-by: Yves Gerey <yvesg@webrtc.org>
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#30090}
2019-12-13 21:58:57 +00:00
95059e0779 Moved the legacy noise suppressor to a separate build target
Bug: webrtc:5298
Change-Id: Ia1c5eb9d0f7b4ba578acb646e73229de63ae91fb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161441
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Commit-Queue: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30089}
2019-12-13 15:26:16 +00:00
eae6896f76 Move vp8 rtp depacketization to VideoRtpDepacketizerVp8
Bug: webrtc:11152
Change-Id: Ic2b7fd091cb4d095ce29fbe06196f6424c08fce1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161451
Reviewed-by: Markus Handell <handellm@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30088}
2019-12-13 15:10:46 +00:00
41466b7bef Revert "Extracts ssrc based feedback tracking from feedback adapter."
This reverts commit 08c46adc1e9f9a8d74357fe132a68906ae6e6974.

Reason for revert: Incomplete.

Original change's description:
> Extracts ssrc based feedback tracking from feedback adapter.
> 
> This prepares for moving TransportFeedbackAdapter to TaskQueue.
> 
> Bug: webrtc:9883
> Change-Id: Ib333f6a6837ff6dd8b10813e8953e4d8cd5d8633
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/162040
> Reviewed-by: Erik Språng <sprang@webrtc.org>
> Commit-Queue: Sebastian Jansson <srte@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#30076}

TBR=sprang@webrtc.org,srte@webrtc.org

Change-Id: I6a79e7627f9de2d8c876d6a13ca36f3ac06fde7f
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:9883
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/162200
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30087}
2019-12-13 14:47:48 +00:00
9d06bc2e6d Replace sequence checker with lock in IvfFrameGemerator.
It was found that generator can be destroyed on another thread
comparing to the one, from which frame were generated. It can happen
because generator injected into PC though scoped_ref object and the
last pointer to that object can be destroyed on different thread
depending on machine load.

To fix this sequence checker is replaced with lock. It is required
to ensure that generator won't be destroyed while it is reading frame,
because otherwise it can catch SIGSEGV.

Bug: webrtc:10138
Change-Id: Ia3488bd8ae396c209b90977469593784bb82114b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/162182
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30086}
2019-12-13 14:06:30 +00:00
b57fe17e7c Migrate video tests and tool to VideoRtpDepacketizer interface
Bug: webrtc:11152
Change-Id: I1e7868ca88b162db8615cb4903bd89d3daac4827
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161452
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30085}
2019-12-13 11:41:04 +00:00
c9e532a7eb Fix PacketBuffer::LastReceivedKeyframePacketMs
to return time of the last receieved packet of a key frame rather than
last received first packet of a key frame.

To match VideoReceiveStream expectation and prevent requesting
a new key frame if a large key frame is currently on the way.

Bug: None
Change-Id: I443a60872a3580d324f050080a9868f7b90d71a2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161730
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30084}
2019-12-13 11:36:24 +00:00
5e9cac984f Don't try to resend packets that were removed out of order.
Bug: webrtc:11206
Change-Id: Iae05e1db80afd871d37aca203e17bad40dbc9522
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/162041
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30083}
2019-12-13 10:29:49 +00:00
d77c829d37 Fix incorrect log message in FilterNetworks function.
This log should print removed elements in 'networks' which pointer to
vector<Network*> really. But it was printing just tailing elements of
the vector. For example, assume that there are 4 elements in 'networks',
and 1st and 3rd elements are removed. Then 'networks' will be changed
like this.

<Before>
[0] id = 1
[1] id = 2
[2] id = 3
[3] id = 4

<After>
[0] id = 2
[1] id = 4

Then this log should print the elements with id=1, id=3 which removed.
But currently it is printing the elements with id=3 and id=4 which
tailing 2 elements of the vector. It's related with how std::remove_if
works. So I replaced it with std::partition.

Bug: none
Change-Id: Idfdae04f2d321212310bddb4d8742ba2dccc4db9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/159060
Reviewed-by: Qingsi Wang <qingsi@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30082}
2019-12-13 10:22:17 +00:00
9338bbcd90 Replace assert() with RTC_DCHECK
Remove some uses of assert() breaking MSVC compiling, use RTC_DCHECK
instead.

Bug: webrtc:11201
Change-Id: Ie6c3607e422ea17d3393352b4915da3fa24779f9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161949
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@google.com>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30081}
2019-12-13 10:06:07 +00:00
0808a8c690 Explicitly set and use WEBRTC_USE_X11 instead of USE_X11.
USE_X11 is magically set by the toolchain. Let's tie this to
whether X11 extensions is on or not. WEBRTC_USE_X11 is used
in the audio device module so let's be consistent with that.

Bug: b/143587130
Change-Id: I15b1744c9acb534dbdf2119deb2dc5d17aa04184
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161901
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30080}
2019-12-13 09:36:25 +00:00
f2d6fe62f2 Revert "Reland "Distinguish between send and receive video codecs""
This reverts commit 26e6afe93f134c844d739384784e78acc07cc145.

Reason for revert: Breaks another downstream test.

Original change's description:
> Reland "Distinguish between send and receive video codecs"
> 
> This reverts commit f22af3cca7cfe517e4126db4b7083475722c3e6d.
> 
> Reason for revert: Downstream tests have been updated.
> 
> Original change's description:
> > Revert "Distinguish between send and receive video codecs"
> > 
> > This reverts commit 18314bd8d2cb27fa58e4d304bbc428e3ed1736ba.
> > 
> > Reason for revert: Breaks downstream test.
> > 
> > Original change's description:
> > > Distinguish between send and receive video codecs
> > > 
> > > Even though send and receive codecs are the same,
> > > they might have different support in HW.
> > > Distinguish between send and receive codecs to be able to keep
> > > track of which codecs have HW support.
> > > 
> > > Bug: chromium:1029737
> > > Change-Id: I16a80da44c5061ca42f2aabda76e6bf0b879bf7b
> > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161306
> > > Reviewed-by: Anders Carlsson <andersc@webrtc.org>
> > > Reviewed-by: Steve Anton <steveanton@webrtc.org>
> > > Commit-Queue: Johannes Kron <kron@webrtc.org>
> > > Cr-Commit-Position: refs/heads/master@{#30041}
> > 
> > TBR=steveanton@webrtc.org,andersc@webrtc.org,kron@webrtc.org
> > 
> > Change-Id: I7e5807460006db613e9b3b369ec6036b88f164fd
> > No-Presubmit: true
> > No-Tree-Checks: true
> > No-Try: true
> > Bug: chromium:1029737
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161662
> > Reviewed-by: Johannes Kron <kron@webrtc.org>
> > Commit-Queue: Johannes Kron <kron@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#30042}
> 
> TBR=steveanton@webrtc.org,andersc@webrtc.org,kron@webrtc.org
> 
> # Not skipping CQ checks because original CL landed > 1 day ago.
> 
> Bug: chromium:1029737
> Change-Id: Ia70b11376b43888e2495ef21838c2d2e3c68d735
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161734
> Reviewed-by: Johannes Kron <kron@webrtc.org>
> Reviewed-by: Steve Anton <steveanton@webrtc.org>
> Reviewed-by: Anders Carlsson <andersc@webrtc.org>
> Commit-Queue: Johannes Kron <kron@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#30078}

TBR=steveanton@webrtc.org,andersc@webrtc.org,kron@webrtc.org

Change-Id: Ia4971b898c9209a3736a916a1c2c48d392dfdad6
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium:1029737
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/162140
Reviewed-by: Johannes Kron <kron@webrtc.org>
Commit-Queue: Johannes Kron <kron@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30079}
2019-12-12 22:30:25 +00:00
26e6afe93f Reland "Distinguish between send and receive video codecs"
This reverts commit f22af3cca7cfe517e4126db4b7083475722c3e6d.

Reason for revert: Downstream tests have been updated.

Original change's description:
> Revert "Distinguish between send and receive video codecs"
> 
> This reverts commit 18314bd8d2cb27fa58e4d304bbc428e3ed1736ba.
> 
> Reason for revert: Breaks downstream test.
> 
> Original change's description:
> > Distinguish between send and receive video codecs
> > 
> > Even though send and receive codecs are the same,
> > they might have different support in HW.
> > Distinguish between send and receive codecs to be able to keep
> > track of which codecs have HW support.
> > 
> > Bug: chromium:1029737
> > Change-Id: I16a80da44c5061ca42f2aabda76e6bf0b879bf7b
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161306
> > Reviewed-by: Anders Carlsson <andersc@webrtc.org>
> > Reviewed-by: Steve Anton <steveanton@webrtc.org>
> > Commit-Queue: Johannes Kron <kron@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#30041}
> 
> TBR=steveanton@webrtc.org,andersc@webrtc.org,kron@webrtc.org
> 
> Change-Id: I7e5807460006db613e9b3b369ec6036b88f164fd
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: chromium:1029737
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161662
> Reviewed-by: Johannes Kron <kron@webrtc.org>
> Commit-Queue: Johannes Kron <kron@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#30042}

TBR=steveanton@webrtc.org,andersc@webrtc.org,kron@webrtc.org

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

Bug: chromium:1029737
Change-Id: Ia70b11376b43888e2495ef21838c2d2e3c68d735
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161734
Reviewed-by: Johannes Kron <kron@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Anders Carlsson <andersc@webrtc.org>
Commit-Queue: Johannes Kron <kron@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30078}
2019-12-12 22:13:02 +00:00
977b265702 Reduce some logging at INFO level by moving log statements
from LS_INFO to LS_VERBOSE.

By default, unit tests run with logging at info level.
A random run today produced more than 70.000 lines of
output. This CL would reduce that by approximately 15.000.

Bug: none
Change-Id: Ie62708cebf109510a2443aa5ab5c4e645ffc6707
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161950
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30077}
2019-12-12 21:54:06 +00:00
08c46adc1e Extracts ssrc based feedback tracking from feedback adapter.
This prepares for moving TransportFeedbackAdapter to TaskQueue.

Bug: webrtc:9883
Change-Id: Ib333f6a6837ff6dd8b10813e8953e4d8cd5d8633
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/162040
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30076}
2019-12-12 18:25:25 +00:00
3a7e8b0403 BalancedDegradationSettings: update codec specific settings.
Bug: none
Change-Id: I126aa4aafcf43a294197b83443c093bd5f22b57e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161954
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Commit-Queue: Åsa Persson <asapersson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30075}
2019-12-12 18:23:25 +00:00
22619b3ed6 Allow external initialization of libsrtp.
Bug: webrtc:11205
Change-Id: I906651e3afc5c50977ff567f13a44e5087604028
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161952
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30074}
2019-12-12 17:23:29 +00:00
6286bb0b2c Roll chromium_revision ac00cfc7cd..da78695105 (723527:724157)
Manual tweak:
 * do not roll src/testing (iossim update).
 * do not roll src/ios

Change log: ac00cfc7cd..da78695105
Full diff: ac00cfc7cd..da78695105

Changed dependencies
* src/base: 7ef8e2b029..74d23bf118
* src/build: 4da2a5b127..dfe5662014
* src/third_party: f5a239ae12..4ca87a167e
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/8953fbe6c5..4082c9147b
* src/third_party/depot_tools: e9aeaee522..8b34eb4d1e
* src/tools: 25869a7ef1..6bcb3d7f48
DEPS diff: ac00cfc7cd..da78695105/DEPS

No update to Clang.

TBR=chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com,
BUG=None

Change-Id: Ic345277fc9881362a1e6c09c4958774851d13698
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161984
Commit-Queue: Yves Gerey <yvesg@google.com>
Reviewed-by: Yves Gerey <yvesg@webrtc.org>
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#30073}
2019-12-12 14:22:54 +00:00
82f33c566a Delete transitional method EncodedImage.maybeRetain
Bug: webrtc:9378
Change-Id: Ibe3d5bad835d1725faa38f8e2a804efc9272776e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/155661
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30072}
2019-12-12 14:11:14 +00:00
3927298c22 Adds queue length setter to simulated network node builder.
Bug: webrtc:9883
Change-Id: Icf3d2c78200f0a5e716c872ab973af0e4026f362
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161305
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30071}
2019-12-12 09:15:21 +00:00
ce911263a4 Allows creating a test network node builder without manager.
This is used to allow using a pre-configured builders as arguments to
fixture code.

Bug: webrtc:9510
Change-Id: I7837d284580fdbc926535ce5b2d8f582056534ce
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161948
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30070}
2019-12-12 09:14:34 +00:00
bcc1a765fb Add rtc::Thread::PostDelayedTask
Earlier, rtc::Thread::PostTask was added as a convenient
alternative to MessageHandlers. This CL additionally adds support
for posting delayed tasks in a similar manner.

Bug: webrtc:10294
Change-Id: I0957b59ca2133a882c980bd2ad109fa03d701a16
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161740
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30069}
2019-12-11 20:42:43 +00:00
26fe811623 Roll chromium_revision 5939567173..ac00cfc7cd (722888:723527)
Manual tweak: revert ios roll.

Change log: 5939567173..ac00cfc7cd
Full diff: 5939567173..ac00cfc7cd

Changed dependencies
* src/base: 4a67f656da..7ef8e2b029
* src/build: b1050d1e6a..4da2a5b127
* src/testing: 2363b239d0..b1a11372f7
* src/third_party: 244bb7a24b..f5a239ae12
* src/third_party/depot_tools: 6b52dc21e1..e9aeaee522
* src/third_party/ffmpeg: fa04e15e1a..68b4dfdbd6
* src/third_party/freetype/src: dfc9a049de..11d4ce23ac
* src/tools: 3f49cabf04..25869a7ef1
DEPS diff: 5939567173..ac00cfc7cd/DEPS

No update to Clang.

TBR=chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com,
BUG=None

Change-Id: I3dc959c95144fe6f298469505cf2883b25225992
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161752
Commit-Queue: Yves Gerey <yvesg@google.com>
Reviewed-by: Yves Gerey <yvesg@webrtc.org>
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#30068}
2019-12-11 19:27:51 +00:00
dcb4fcc361 Execute cached video encoder switching request if encoder switching is allowed after the switch request was made.
Bug: webrtc:10795
Change-Id: Ib045794bf7ecec67812e1fad2ec8db987f6011df
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161943
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30067}
2019-12-11 17:16:04 +00:00
1e51a388bc Makes padding prefer video SSRCs instead of audio.
Some clients will not count audio packets into the bandwidth estimate
despite negotiating e.g. abs-send-time for that SSRC.
If padding is sent on such an RTP module, we might get stuck in a low
resolution.

This CL works around that by preferring to send padding on video SSRCs.

Bug: webrtc:11196
Change-Id: I1ff503a31a85bc32315006a4f15f8b08e5d4e883
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161941
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30066}
2019-12-11 16:32:14 +00:00
184da528a7 Fix ASAN bug in iSAC codec
There is a value missing in an array, causing indexing to sometimes be off by one.
The result is never used anyway, so the "solution" is to insert an extra zero at the end.

Details:

In an old refactoring CL, the corresponding array in the floating point version of iSAC is declared with 578 elements, the fixed point version has 577.
See WebRtcIsac_kQKltCodeLenShape:
https://webrtc-codereview.appspot.com/548004/patch/10002/11005
Perhaps the entire array was not carried over to fixed point.

However, the floating point version does not actually have 578 elements in its definition, it has 568. The remaining 10 elements are initialized to 0. So there is no value to use from there, and using a zero instead will mimic the behavior of the floating point code.


Use of the value:
WebRtcIsacfix_kCodeLenShapeQ11 is only accessed in one place [0].
The value sumQQ is set to is only used to compute the BitsQQ,
which is only used to populate the sizeQ11 param of EstCodeLpcCoef,
which is never used anywhere. Not within EstCodeLpcCoef, not within the calling function WebRtcIsacfix_EncodeLpc [1], not in the calling function's calling function [2]. Then it falls out of scope.

[0] https://cs.chromium.org/chromium/src/third_party/webrtc/modules/audio_coding/codecs/isac/fix/source/entropy_coding.c?l=1223&rcl=3c4fda2ed8140a330634c0a2704a3cf0311a89de
[1] https://cs.chromium.org/chromium/src/third_party/webrtc/modules/audio_coding/codecs/isac/fix/source/entropy_coding.c?l=1468&rcl=3c4fda2ed8140a330634c0a2704a3cf0311a89de
[2] https://cs.chromium.org/chromium/src/third_party/webrtc/modules/audio_coding/codecs/isac/fix/source/encode.c?l=214&rcl=3c4fda2ed8140a330634c0a2704a3cf0311a89de

Tested: Instructions in linked bug. No longer repro after applying this CL.
Bug: webrtc:10584
Change-Id: I87a90e8cf58d82f615217e05ea401d3259887769
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161942
Commit-Queue: Sam Zackrisson <saza@webrtc.org>
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30065}
2019-12-11 15:59:14 +00:00
75bc75ccef Optimize FindNaluIndices
We can add i by 3 even if it's not 001, because in any xx1 combination, 1 could not be part of start code.

Bug: None
Change-Id: Ica653d9e49b9f7c665027b9cf4453753c5fdd3ed
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/159721
Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30064}
2019-12-11 15:28:06 +00:00
1154915024 video_encoder: Add RTC_EXPORT ScalingSettings
ScalingSettings has some public constructors. These should be
able to be called from exteranl code. However, a linker fails
on windows because ScalingSettings doesn't have RTC_EXPORT.

Bug: chromium:1031965
Test: build crrev.com/c/1949841
Change-Id: Iddaea77f87c52edbe8f77551322d7aa198bc0aeb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161860
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30063}
2019-12-11 15:14:56 +00:00
9a52bd733c STUN PING request
This patch introduces a new type of STUN ping,
GOOG_PING_REQUEST/RESPONSE which is similar
to a STUN_BINDING but does not transmit any values.

The Connection class automatically sends these if
no STUN attributes has changed since last call to Connection::Ping()
if the remote peer has signaled that it supports it.

BUG=webrtc:11100

Change-Id: Ib1b590f0b90ca6cb56f2eb07cd62f976e246bc8c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/159961
Commit-Queue: Jonas Oreland <jonaso@webrtc.org>
Reviewed-by: Taylor <deadbeef@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30062}
2019-12-11 14:23:30 +00:00
c907d4f223 Revert "Ensure loss-based controller is always enabled."
This reverts commit 60ec3703cd1f87081c0e4becde5d9ef210a6d44a.

Reason for revert: Needs back-end test before always enabling.

Original change's description:
> Ensure loss-based controller is always enabled.
> 
> The new default parameters are the ones that were used in the Chrome
> Finch trial. The deleted unit test is invalidated by these changes.
> 
> Bug: chromium:941413
> Change-Id: I597f4b0defaebe5bb3a6710b071fae2ee5c6f461
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/160652
> Commit-Queue: Jonas Olsson <jonasolsson@webrtc.org>
> Reviewed-by: Sebastian Jansson <srte@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#30049}

TBR=srte@webrtc.org,crodbro@webrtc.org,jonasolsson@webrtc.org

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

Bug: chromium:941413
Change-Id: I5da4676ad8be2569ad7eed99e954e0d0b624110b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161902
Reviewed-by: Jonas Olsson <jonasolsson@webrtc.org>
Commit-Queue: Jonas Olsson <jonasolsson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30061}
2019-12-11 14:09:20 +00:00
4fc52c8329 Make struct SynchronizationDelays more general.
Bug: none
Change-Id: Iab263789cc8b51917acb3db2803fa71a927bc62a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161640
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Commit-Queue: Åsa Persson <asapersson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30060}
2019-12-11 13:55:16 +00:00
3fdb3cbc6a Remove potential real-time reallocation in PushResampler
This CL removes the use of absl::InlineVector in the PushResampler which
causes real-time reallocations for setups with more than 8 channels.

As part of the CL, it also removes one dependency on absl for the
common_audio module.

Bug: webrtc:11197
Change-Id: I0788ee9a0f3d08b91bb18caa65f660fb52368a97
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161729
Commit-Queue: Per Åhgren <peah@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30059}
2019-12-11 13:16:37 +00:00
375eff4f04 Add guidance to style guide how to reference a bug in a TODO
Bug: None
Change-Id: Icfbce347d0c2a71fd728507e5005eb05736b13a1
No-Try: True
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161733
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30058}
2019-12-11 11:55:52 +00:00
3c4fda2ed8 Do not disable metrics by default.
Starting from [1] metrics are optional but by default they should be
enabled.

[1] - https://webrtc-review.googlesource.com/c/src/+/161043

Bug: webrtc:11144
Change-Id: I0b22e2c59ff9df73a82f354997f073b6da028875
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161728
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30057}
2019-12-11 08:08:58 +00:00
947a380b81 Split unit tests out of end-to-end PeerConnection test.
Splits PeerConnectionTest.java into 4 files:
 - PeerConnectionEndToEndTest.java
 - PeerConnectionTest.java
 - RtpTranceiverTest.java
 - VideoTrackTest.java

Also deletes some dead code.

Bug: None
Change-Id: I9b81fec042bc6be261e3010ec5a30baf6d7211bf
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161680
Reviewed-by: Paulina Hensman <phensman@webrtc.org>
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30056}
2019-12-10 17:38:51 +00:00
a3ecb7a656 Migrate tests from RtpDepacketizer to VideoRtpDepacketizer interface
Bug: webrtc:11152
Change-Id: I1b1c5183d35b791c09c14c9d1f0ca240c1749d9a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161455
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30055}
2019-12-10 17:37:46 +00:00
007915a37e Refresh some links in the docs folder.
No-Try: True
Bug: None
Change-Id: I3b708f29bbdbdaacf0934a092f887c9be63e8da9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161725
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30054}
2019-12-10 15:32:48 +00:00
b04b2a1719 Initial version of ResourceAdaptationProcessor and friends.
This CL adds Resource, ResourceConsumer, ResourceConsumerConfiguration
and ResourceAdaptationProcessor and implements the algorithm outlined
in
https://docs.google.com/presentation/d/13jyqCWNpIa873iKT6yDuB5Q5ma-c0CvxBpX--0tCclY/edit?usp=sharing.

Simply put, if any resource (such as "CPU") is overusing, the most
expensive consumer (e.g. encoded stream) is adapted one step down.
If all resources are underusing, the least expensive consumer is
adapted one step up.

The current resources, consumers and configurations are all fakes;
this CL has no effect on the current adaptation algorithms used in
practise, but it lays down the foundation for future work in this
area.

Bug: webrtc:11167, webrtc:11168, webrtc:11169
Change-Id: I4054ec7728a52a49e137eee6fa67fa27debd9254
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161237
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Evan Shrubsole <eshr@google.com>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30053}
2019-12-10 15:31:43 +00:00
f18f9206e5 Revert "Moves TransportFeedbackAdapter to TaskQueue."
This reverts commit 62d01cde6f6ec1fa91b1e5234a7922ad1a4ce036.

Reason for revert: Causes SIGSEGV in webrtc::RTPSender::BuildRtxPacket.

Original change's description:
> Moves TransportFeedbackAdapter to TaskQueue.
>
> Bug: webrtc:9883
> Change-Id: Id87e281751d98043f4470df5a71d458f4cd654c1
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158793
> Commit-Queue: Sebastian Jansson <srte@webrtc.org>
> Reviewed-by: Erik Språng <sprang@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#30037}

TBR=sprang@webrtc.org,srte@webrtc.org

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

No-Try: True
Bug: webrtc:9883
Change-Id: If54bdb8694144fae3fafbabd72d1ac1198e51aa6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161726
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30052}
2019-12-10 13:51:29 +00:00
89aaedac12 Move audioproc_f to rtc_tools.
The motivation in https://webrtc-review.googlesource.com/c/src/+/32340/3 applies here as well. We
would like to use this tool downstream.

Bug: None
Change-Id: Id5b23f792679ab9c07294bfb8e53119c423044b1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161681
Commit-Queue: Daniel Johansson <dajo@webrtc.org>
Reviewed-by: Daniel Johansson <dajo@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30051}
2019-12-10 12:08:56 +00:00
ded86c1ad8 Remove remaining settings for using legacy AEC
This CL removes the remaining settings for using the legacy AEC.

It also adds a missing printout of the enforce_high_pass_filtering
parameter in the ToString method.

Bug: webrtc:11165
Change-Id: I58f0861bf1c6cd24bd83f4d3e394653b2fab3d71
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161683
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Commit-Queue: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30050}
2019-12-10 10:31:07 +00:00