Commit Graph

25140 Commits

Author SHA1 Message Date
bd2cf71865 Remove functions to inject a TaskQueue in RtcEventLog creation.
The event log implementation will be simpler if it creates its own TaskQueue.
If we really need the "injectable" functionality, it could be achieved via a
TaskQueueFactory that returns a move-constructible TaskQueue.

Bug: webrtc:10085
Change-Id: I538be3dd77c09be2f5bae015227067acd6af8355
Reviewed-on: https://webrtc-review.googlesource.com/c/113140
Reviewed-by: Elad Alon <eladalon@webrtc.org>
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25908}
2018-12-05 16:35:04 +00:00
b438b5a33d Reland "Change ReceiveStatistics reaction to large sequence numbers jumps"
This reverts commit 7e0299e2452b021fcd14a8fdb86257459eeacf90.

Reason for revert: audio receive stream fix not to use 0 reordering threshold

Original change's description:
> Revert "Change ReceiveStatistics reaction to large sequence numbers jumps"
> 
> This reverts commit c4f120130f495e9726bf221356642de69125f4a2.
> 
> Reason for revert: breaks downstream tests due to zero max reordering for audio receive channels
> 
> Original change's description:
> > Change ReceiveStatistics reaction to large sequence numbers jumps
> > 
> > Consider stream restart when two sequential packets arrived far from
> > previous packets' sequence numbers.
> > instead of resetting on single one.
> > For packet loss calculation ignore sequence number gap during reset.
> > 
> > Bug: webrtc:9445, b/38179459
> > Change-Id: I0c2717ef8f9ec182b280ae757b5582f56d9afcef
> > Reviewed-on: https://webrtc-review.googlesource.com/c/111962
> > Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
> > Reviewed-by: Åsa Persson <asapersson@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#25890}
> 
> TBR=danilchap@webrtc.org,asapersson@webrtc.org
> 
> Change-Id: Icc9f4d86d9f0b07f0fa2f3d443f9a90aa91f5e21
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: webrtc:9445, b/38179459
> Reviewed-on: https://webrtc-review.googlesource.com/c/113067
> Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
> Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#25897}

TBR=danilchap@webrtc.org,asapersson@webrtc.org

Change-Id: I8747aa5cb6209b92fafefed077bc19d305d11db6
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:9445, b/38179459
Reviewed-on: https://webrtc-review.googlesource.com/c/113263
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25907}
2018-12-05 16:31:00 +00:00
dc107965bd Fix AGC2 fuzzer coverage.
Bug: webrtc:10084
Change-Id: Icc51994fe5ab16188c41452e887cbe7a6b8b9aff
Reviewed-on: https://webrtc-review.googlesource.com/c/112941
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25906}
2018-12-05 15:55:42 +00:00
2a977cf466 For audio receive channel use default max reordering threshold instead of 0
setting max reordering recently has been fix to actually set it.
(https://webrtc-review.googlesource.com/c/src/+/111752)
Another recent change fix stats to skip counting large sequence number jumps as packet loss
(https://webrtc-review.googlesource.com/c/src/+/111962)

max reordering thresholds affects how packet loss is calculated.
Packet loss is then reported to remote sending participant in rtcp receiver reports.
Sender uses packet loss mostly for stats, but also e.g. for opus fec adjustment.

Setting threshold to zero de-facto imply all packets should be considered in order.
That bug was mitigated by two other bugs mentioned above

This change increase threshold to default 50 packets aligning it with Video receiver
and unblocks (re)landing 2nd fix

Bug: b/120482366
Change-Id: Iadda0c2148ed84dd83c01183cfe9285568db4e29
Reviewed-on: https://webrtc-review.googlesource.com/c/113064
Reviewed-by: Oskar Sundbom <ossu@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25905}
2018-12-05 14:52:23 +00:00
c979c46bda Re-add MSVC debug bots to CQ
This reverts commit e80e0132c165b604e7a6684b356cddd857a60f7e.

Compilation has been fixed in https://chromium-review.googlesource.com/c/chromium/src/+/1297536

No-Try: True
Bug: webrtc:9695, webrtc:10071
Change-Id: I0e5b657c9197f1b71c2473aae366f06b0daad3f5
Reviewed-on: https://webrtc-review.googlesource.com/c/113220
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25904}
2018-12-05 12:20:56 +00:00
b819ed6df0 Roll chromium_revision 2e285ebae2..92bac9a669 (613019:613922)
Change log: 2e285ebae2..92bac9a669
Full diff: 2e285ebae2..92bac9a669

Changed dependencies
* src/base: 62febbdbd7..23fe4e6235
* src/build: 8b1ff06550..f8704051e5
* src/ios: 2c8e8f83db..b945749f3b
* src/testing: da3cc6c84a..a5684e641c
* src/third_party: a862efe9b4..cc7029ba2b
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/6f862e54f2..58f298110d
* src/third_party/depot_tools: 0b287c5bca..687ca907fd
* src/third_party/harfbuzz-ng/src: e0307de818..000d4b128e
* src/tools: cc443eb2fd..cf5c7c5fbd
DEPS diff: 2e285ebae2..92bac9a669/DEPS

No update to Clang.

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

Change-Id: Ia5d418b0ca23b47f4ef34b163cf32a429e061711
Reviewed-on: https://webrtc-review.googlesource.com/c/113162
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25903}
2018-12-05 10:44:17 +00:00
657b296ff5 Reland "Remove CodecInst pt.1"
This is a reland of 056f9738bf7a3d16da45398239656e165c4e0851

Original change's description:
> Remove CodecInst pt.1
> 
> Update audio_coding tests to not use CodecInst.
> 
> Bug: webrtc:7626
> Change-Id: I880fb8d72d7d0a915d274e67feb6106f023697c2
> Reviewed-on: https://webrtc-review.googlesource.com/c/112594
> Commit-Queue: Fredrik Solenberg <solenberg@webrtc.org>
> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#25879}

Bug: webrtc:7626
Change-Id: I5d6ca0baf6230bfe9bf95c2c25496d2a56812d90
Reviewed-on: https://webrtc-review.googlesource.com/c/112942
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Fredrik Solenberg <solenberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25902}
2018-12-05 10:38:23 +00:00
5b1477839d [Unified Plan] If "a=msid" is missing, create default stream.
Prior to this CL, if the "a=msid" attribute was missing it was treated
the same as if "no streams" were explicitly signaled (a=msid:-); the
receivers would not be associated with any streams.

In order to support legacy endpoints that don't recognize "a=msid" that
assume the Plan B behavior of a stream being created anyway, this CL
creates a stream with a random ID in such cases. For background, see
https://github.com/web-platform-tests/wpt/pull/14054.

Bug: chromium:907508
Change-Id: I9d9dd0e4ba8f9941f8652f4d7873adc560777cd9
Reviewed-on: https://webrtc-review.googlesource.com/c/112900
Reviewed-by: Seth Hampson <shampson@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25901}
2018-12-05 09:53:21 +00:00
e5e36ddc40 Roll chromium_revision 3546854f59..2e285ebae2 (612694:613019) + fix JNI
This changelist is based on Chromium autoroller CL
https://webrtc-review.googlesource.com/c/src/+/112847
with additional JNI fixes needed to propagate upstream changes
introduced in
c99e905516


Change log: 3546854f59..2e285ebae2
Full diff: 3546854f59..2e285ebae2

Changed dependencies
* src/base: 0551460b2b..62febbdbd7
* src/build: 59f4bb0792..8b1ff06550
* src/ios: 0c78d113b3..2c8e8f83db
* src/testing: d387a4a97a..da3cc6c84a
* src/third_party: e31ab38349..a862efe9b4
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/1b98245e3c..6f862e54f2
* src/third_party/depot_tools: 016601cc21..0b287c5bca
* src/third_party/r8: uM1IGlYVeBYwmhwRCSMVqRvmu4YFlL7M2yLwZ1DWUvAC..ndmKWh0vZhDc2iLXEETOuWXVfafHbqwI_FcSgJJIfpoC
* src/tools: 476768d37c..cc443eb2fd
DEPS diff: 3546854f59..2e285ebae2/DEPS

No update to Clang.

No-Try: True
Bug: chromium:898660
Change-Id: I8be89e16d9639d96fc09f053e29414381a486846
Reviewed-on: https://webrtc-review.googlesource.com/c/112595
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Commit-Queue: Artem Titarenko <artit@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25900}
2018-12-05 09:48:51 +00:00
04744aee2f Set priority of iOS test tasks to 30
The default Swarming priority is 200 but it's recommended to raise it.
Chrome's tasks are set to 30, and that can cause our tasks to be discarded.

Bug: chromium:911787
Change-Id: Ied5eed4bc37890ede6c29d2fd743e102f5622d11
Reviewed-on: https://webrtc-review.googlesource.com/c/113145
Reviewed-by: Artem Titarenko <artit@webrtc.org>
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25899}
2018-12-05 08:59:44 +00:00
a713505c18 Preserve timestamp in DTLS writable event.
Bug: webrtc:10088
Change-Id: I63cd8cd3142c466c4ade74caee231a50fee8191e
Reviewed-on: https://webrtc-review.googlesource.com/c/113066
Reviewed-by: Zach Stein <zstein@webrtc.org>
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25898}
2018-12-04 20:49:11 +00:00
7e0299e245 Revert "Change ReceiveStatistics reaction to large sequence numbers jumps"
This reverts commit c4f120130f495e9726bf221356642de69125f4a2.

Reason for revert: breaks downstream tests due to zero max reordering for audio receive channels

Original change's description:
> Change ReceiveStatistics reaction to large sequence numbers jumps
> 
> Consider stream restart when two sequential packets arrived far from
> previous packets' sequence numbers.
> instead of resetting on single one.
> For packet loss calculation ignore sequence number gap during reset.
> 
> Bug: webrtc:9445, b/38179459
> Change-Id: I0c2717ef8f9ec182b280ae757b5582f56d9afcef
> Reviewed-on: https://webrtc-review.googlesource.com/c/111962
> Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
> Reviewed-by: Åsa Persson <asapersson@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#25890}

TBR=danilchap@webrtc.org,asapersson@webrtc.org

Change-Id: Icc9f4d86d9f0b07f0fa2f3d443f9a90aa91f5e21
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:9445, b/38179459
Reviewed-on: https://webrtc-review.googlesource.com/c/113067
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25897}
2018-12-04 17:16:22 +00:00
6353fbc237 Offset IceCandidatePairEventType enum in event log visualizer
Bug: NONE
Change-Id: I17b586702d02a49917e707788caf091955c9357c
Reviewed-on: https://webrtc-review.googlesource.com/c/112723
Reviewed-by: Qingsi Wang <qingsi@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Zach Stein <zstein@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25896}
2018-12-04 16:50:43 +00:00
5546aef682 Vp9 flexible mode fixes
- Enable vp9 flexible mode in VideoEngine if 3 spatial layers are set.
- Enable flexible mode in loopback tools and quality tests.
- Reset first active spatial layer on keyframe in encoder.
- Ensure duplicate references are not set by the sender in video header.
- Set references manually for flexible mode in vp9 encoder.
- Delay new activated layers until next base layer frame.
- On receive side put each spatial layer as a separate frame to FrameBuffer
  and return several frames combined from FrameBuffer.

Bug: webrtc:10049,webrtc:9794,webrtc:9784
Change-Id: I01e69f134cc145deba666ccc92deb1d37a324ede
Reviewed-on: https://webrtc-review.googlesource.com/c/112289
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25895}
2018-12-04 15:36:28 +00:00
77894ccb5d New method EncodedImage::set_buffer
This setter method is intended to replace all direct assignments to
the |_size| member. A later cl will make that member private, and
rename it to |capacity_|.

Bug: webrtc:9378
Change-Id: I37e9eb54d1c72bcd4cb8a1cfef34bbc6c209bd0d
Reviewed-on: https://webrtc-review.googlesource.com/c/113060
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25894}
2018-12-04 15:25:55 +00:00
ebad1770ab Include event_wrapper.h only where used.
It's currently used only by the VCMJitterBuffer and VCMReceiver
classes. Injection is needed by the VCMReceiverTimingTest test, which
defines a subclass(!) of EventWrapper.

Bug: webrtc:3380
Change-Id: I765be0ceac58e941928319cc426ba49f1cbdc5fa
Reviewed-on: https://webrtc-review.googlesource.com/c/113002
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25893}
2018-12-04 14:50:18 +00:00
f5997c9bae Delete unused member RTPSender::last_capture_time_ms_sent_
It was updated, but otherwise unused. And in addition, the update code
lacked needed synchronization.

Bug: webrtc:10033
Change-Id: I2a7b45550543a75d5f6b53032b512fd2fd120290
Reviewed-on: https://webrtc-review.googlesource.com/c/113041
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25892}
2018-12-04 13:35:03 +00:00
af2adda252 Explicit comparisons on NetworkRoute.
Since not all fields are compared on NetworkRoute structs, the ==
operator overload doesn't really make the code easier to read. In fact
the feature that it only compares a subset of the fields is only used
once, at the other places, all fields are compared.

Removing the overload makes it more clear what is compared at each call
site.

Bug: webrtc:9883
Change-Id: I74f7eb32b602aa33fd282a815b71a172ae3f6a8b
Reviewed-on: https://webrtc-review.googlesource.com/c/113001
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25891}
2018-12-04 12:36:50 +00:00
c4f120130f Change ReceiveStatistics reaction to large sequence numbers jumps
Consider stream restart when two sequential packets arrived far from
previous packets' sequence numbers.
instead of resetting on single one.
For packet loss calculation ignore sequence number gap during reset.

Bug: webrtc:9445, b/38179459
Change-Id: I0c2717ef8f9ec182b280ae757b5582f56d9afcef
Reviewed-on: https://webrtc-review.googlesource.com/c/111962
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25890}
2018-12-04 12:16:49 +00:00
ee59a17bbb Ensure GenericFrameDescriptor byte representation match
on receiver and on sender

Bug: webrtc:9795
Change-Id: I13dfcc6dce0be55d90406e27ba855ef5e786af24
Reviewed-on: https://webrtc-review.googlesource.com/c/104900
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25889}
2018-12-04 11:52:25 +00:00
74fb822b67 Allow probing up to 2x allocation limit
The limit we put on probing is a bit too conservative now. If an
allocation limit is set, this CL allows probing up to 2x the current
max allocation limit.

This better handles overshooting when networks actually have the
capacity to allow bursts.

Bug: webrtc:10070
Change-Id: I0003f6b22512c13b6a83c1934952a2c3a2b70b48
Reviewed-on: https://webrtc-review.googlesource.com/c/112905
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25888}
2018-12-04 11:43:54 +00:00
9cccf85314 Delete unused video coding error codes.
Bug: webrtc:8064
Change-Id: I0fb714acc1bd86e230139eb929137a10710652ba
Reviewed-on: https://webrtc-review.googlesource.com/c/113000
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25887}
2018-12-04 11:39:34 +00:00
ebb677773a Allow access to specific RTCP types in new format event log parser.
Bug: webrtc:8111
Change-Id: Ia727c8fd9ddaa9f0c17fea5af8f544ad01e66367
Reviewed-on: https://webrtc-review.googlesource.com/c/112382
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Elad Alon <eladalon@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25886}
2018-12-04 10:49:21 +00:00
41390474fc Add LookupDtlsTransportByMid to proxy map
Bug: chromium:907849
Change-Id: Ib707f18fdf67617967b83cd17f0454d182b8011f
Reviewed-on: https://webrtc-review.googlesource.com/c/112907
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25885}
2018-12-04 10:29:32 +00:00
d0b69a8c50 Send and receive color space information if available
Bug: webrtc:8651
Change-Id: I244647cb1ccbda66fce83ae925cf4273c5a6568b
Reviewed-on: https://webrtc-review.googlesource.com/c/112383
Commit-Queue: Johannes Kron <kron@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25884}
2018-12-03 21:07:45 +00:00
a201204215 Adding SDP parsing for Simulcast.
Parsing simulcast according to:
https://tools.ietf.org/html/draft-ietf-mmusic-sdp-simulcast-13#section-5.1
Created SdpSerializer for making serialized components more testable.
Simulcast functionality is still not accessible to users.

Bug: webrtc:10055
Change-Id: Ia6e4cef756cb954521dd19e22911f8eb6498880e
Reviewed-on: https://webrtc-review.googlesource.com/c/112160
Commit-Queue: Amit Hilbuch <amithi@webrtc.org>
Reviewed-by: Seth Hampson <shampson@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25883}
2018-12-03 20:13:53 +00:00
ec086d842c Fixes race in SendSideCongestionControllerTest.OldFeedback.
This fixes an issue where SendSideCongestionControllerTest.OldFeedback
calls a function that posts a task on a TaskQueue and immediately after
changes the mocked observer that is called from that task.

Bug: webrtc:10056
Change-Id: Ib1cca5bf695482e75106bfc715662e4f76c381d9
Reviewed-on: https://webrtc-review.googlesource.com/c/112940
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25882}
2018-12-03 17:26:32 +00:00
ec0f45be11 Revert "Remove CodecInst pt.1"
This reverts commit 056f9738bf7a3d16da45398239656e165c4e0851.

Reason for revert: breaks downstream

Original change's description:
> Remove CodecInst pt.1
> 
> Update audio_coding tests to not use CodecInst.
> 
> Bug: webrtc:7626
> Change-Id: I880fb8d72d7d0a915d274e67feb6106f023697c2
> Reviewed-on: https://webrtc-review.googlesource.com/c/112594
> Commit-Queue: Fredrik Solenberg <solenberg@webrtc.org>
> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#25879}

TBR=solenberg@webrtc.org,kwiberg@webrtc.org

Change-Id: I51d666969bcd63e2b7cb7d669ec2f59b5f8f9dde
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:7626
Reviewed-on: https://webrtc-review.googlesource.com/c/112906
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Commit-Queue: Fredrik Solenberg <solenberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25881}
2018-12-03 15:50:51 +00:00
9d54bd8898 AEC3: Fix ENR threshold for WebRTC-Aec3UseLegacyNormalSuppressorTuning
Fixes the ENR threshold used in the dominant nearend detection when
the kill-switch WebRTC-Aec3UseLegacyNormalSuppressorTuning is pulled.

Bug: webrtc:8671,chromium:911141
Change-Id: I30ee58009633b3a9e12eff692226baada624a049
Reviewed-on: https://webrtc-review.googlesource.com/c/112903
Commit-Queue: Gustaf Ullberg <gustaf@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25880}
2018-12-03 15:19:00 +00:00
056f9738bf Remove CodecInst pt.1
Update audio_coding tests to not use CodecInst.

Bug: webrtc:7626
Change-Id: I880fb8d72d7d0a915d274e67feb6106f023697c2
Reviewed-on: https://webrtc-review.googlesource.com/c/112594
Commit-Queue: Fredrik Solenberg <solenberg@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25879}
2018-12-03 15:16:20 +00:00
450b548cad Encode frames at the largest layer resolution instead of last layer
The current code assumes that layers are ordered from the smallest
to the largest.
If that assumption is broken and the last layer is smaller than the
others, all layers that are bigger will be scaled up.

Bug: webrtc:10069
Change-Id: Iff87ddba741d5dfe3d0cc25a8f75d898a417eec7
Reviewed-on: https://webrtc-review.googlesource.com/c/112460
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Florent Castelli <orphis@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25878}
2018-12-03 14:07:14 +00:00
e7673cf922 RtcEventLogImpl nits
1. Make |output_period_ms_| optional, so as to clarify where
   it gets assigned a value. (I.e. the value set by the ctor
   is not retained.)
2. Some extra const modifiers.

Bug: webrtc:8111
Change-Id: I9f3ad7ff763cfbc9c9385f7fd4325ba696772765
Reviewed-on: https://webrtc-review.googlesource.com/c/112588
Commit-Queue: Elad Alon <eladalon@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25877}
2018-12-03 13:50:43 +00:00
aa3d8ad71b Reland "Fix output period in RtcEventLogImpl"
This is a reland of a4dcb749fbbc83a874d4e2c65de5a98465d3e200

Original change's description:
> Fix output period in RtcEventLogImpl
> 
> RtcEventLogImpl::StartLogging() was ignoring one of its parameters.
> This CL fixes the issue.
> 
> Bug: webrtc:10082
> Change-Id: Ie1790c1a7299748dabe99909d967384ad9895635
> Reviewed-on: https://webrtc-review.googlesource.com/c/112586
> Reviewed-by: Björn Terelius <terelius@webrtc.org>
> Commit-Queue: Elad Alon <eladalon@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#25858}

Bug: webrtc:10082
Change-Id: I783fba84aa35e489f6235538c624b19f2f98a962
Reviewed-on: https://webrtc-review.googlesource.com/c/112860
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Elad Alon <eladalon@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25876}
2018-12-03 12:48:42 +00:00
ad82a424e4 Fix race over RtcEventLogImpl::task_queue_
RtcEventLogImpl::task_queue_ is a std::unique_ptr<rtc::TaskQueue>.
When a unique_ptr is destroyed, it first sets its internal pointer
to point to null, and only then invokes the destructor of that
object. However, the code in RtcEventLogImpl relies on
rtc::TaskQueue's property, that its destructor blocks on executing
tasks.

We solve by manually invoking the destructor, and only resetting
the internal pointer thereafter. In theory, we could have changed
the unique_ptr to a raw pointer at this point. We avoid that, so
as to keep the ownership clearer to readers of the code.

Bug: webrtc:10085
Change-Id: I54bbf5d6bae019757ca2e31ee960d558058ccc42
Reviewed-on: https://webrtc-review.googlesource.com/c/112598
Commit-Queue: Elad Alon <eladalon@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25875}
2018-12-03 12:41:21 +00:00
4da382e34d Speculative revert due to a long history of issues related to VP9 on Mac.
See https://ci.chromium.org/p/chromium/builders/luci.chromium.webrtc/WebRTC%20Chromium%20Mac%20Tester

First, we figured that "ba2840c Various VP9 high fps fixes by Ilya Nikolaevskiy" was the cause and it was reverted but it did not help.

We must now try the other CL which had done changed in VP9.

Revert "Reland Profile 2 to default profiles"

This reverts commit 4c0cc5bc5fa027b9392ff2886e731bea3aac7602.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> Reland Profile 2 to default profiles
> 
> This is a reland after chrome browser tests are updated.
> 
> Bug: webrtc:9376
> Change-Id: I818bf5d447da7901ffe49f2c452decb89196e829
> TBR: niklas.enbom@webrtc.org
> Reviewed-on: https://webrtc-review.googlesource.com/c/112060
> Reviewed-by: Emircan Uysaler <emircan@webrtc.org>
> Commit-Queue: Emircan Uysaler <emircan@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#25778}

TBR=emircan@webrtc.org

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

Bug: webrtc:9376
Change-Id: I3eb935c08341ce51fa16717ed7b3be5f5253aa2f
Reviewed-on: https://webrtc-review.googlesource.com/c/112597
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Commit-Queue: Henrik Andreassson <henrika@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25874}
2018-12-03 12:06:10 +00:00
9cf6ce3e1b Finish renaming another tryjob that was forgotten
TBR: mbonadei@webrtc.org
No-Try: True
Bug: webrtc:10072
Change-Id: Ie9f53eabad9ab7f2bed92a38a0d640bd9315103d
Reviewed-on: https://webrtc-review.googlesource.com/c/112599
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25873}
2018-12-03 11:36:02 +00:00
11d3d6c17d Rename most tryjobs to avoid implied defaults
Explicitly say "_compile_" for ARM and Clang and GCC.
Explicitly say "_arm_" for mobiles.
Explicitly say "_x86_" for Windows.
Fill in some gaps where both tester and compile-only bots are viable.

Also remove unused "experimental" tryjobs.

No-Try: True
Bug: webrtc:10072
Change-Id: Ib22e0518fc1e600b237c3c687994f27c7e88b8b3
Reviewed-on: https://webrtc-review.googlesource.com/c/112585
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25872}
2018-12-03 11:09:40 +00:00
3b923d95d5 Remove color space enum value kInvalid
kInvalid does not have a corresponding entry in the standard is therefore removed.
kUNSPECIFIED should be used instead.

Bug: webrtc:8651
Change-Id: Iee8cd85830aedaa4a9102251121b9975d40fa5e2
Reviewed-on: https://webrtc-review.googlesource.com/c/112421
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Johannes Kron <kron@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25871}
2018-12-03 09:53:02 +00:00
93dac8ec36 Delete workaround for CreateEvent
There used to be a collision between a macro in windows headers and
the CreateEvent method on EventFactory. But since the latter class is
deleted (see https://webrtc-review.googlesource.com/c/110140)
workaround no longer needed.

Bug: webrtc:3380
Change-Id: I4e2e3cfff4d7a99f7c22da289628839fdc5012b4
Reviewed-on: https://webrtc-review.googlesource.com/c/112593
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25870}
2018-12-03 09:23:22 +00:00
a0f4430b3a Replace RegisterExternalDecoder with decoder factory in NetEqImplTest120ms
Change-Id: I86b5f748f556be186f020a97fcc1211f953fd219

Bug: webrtc:10080
Change-Id: I86b5f748f556be186f020a97fcc1211f953fd219
Reviewed-on: https://webrtc-review.googlesource.com/c/112600
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25869}
2018-12-03 08:34:50 +00:00
21d8b181f6 Remove some unused forward declarations
Bug: webrtc:9987
Change-Id: Ia42294009abc6b6b09d76234a197d33057d0610c
Reviewed-on: https://webrtc-review.googlesource.com/c/112589
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25868}
2018-12-02 13:01:08 +00:00
b3033c448f Add transaction id to candidate pair event log parser and encoder.
Covered by these tests:
RandomSeeds/RtcEventLogEncoderTest.RtcEventIceCandidatePair/*
RtcEventLogTest/RtcEventLogSession.*

Bug: webrtc:9972
Change-Id: I05473176357804e7ad0dedb51a659ab9481a4e4a
Reviewed-on: https://webrtc-review.googlesource.com/c/110103
Commit-Queue: Zach Stein <zstein@webrtc.org>
Reviewed-by: Elad Alon <eladalon@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25867}
2018-12-01 01:15:29 +00:00
846dfdfd01 Log DTLS writable changes to RtcEventLog
Bug: webrtc:9972
Change-Id: I8d29dcbc200bd0aad7f4c2600459c4d344c61bbb
Reviewed-on: https://webrtc-review.googlesource.com/c/111453
Reviewed-by: Qingsi Wang <qingsi@webrtc.org>
Reviewed-by: Elad Alon <eladalon@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Zach Stein <zstein@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25866}
2018-12-01 01:00:28 +00:00
00765297a2 Add BufferedFrameDecryptor to cleanly deal with receiving encrypted frames.
This change introduces a new class BufferedFrameDecryptor that is responsible
for decrypting received encrypted frames and passing them on to the
RtpReferenceFinder. This decoupling refactoring was triggered by a new
optimization also introduced in this patch to stash a small number of
undecryptable frames if no frames have ever been decrypted. The goal of this
optimization is to prevent re-fectching of key frames on low bandwidth networks
simply because the key to decrypt them had not arrived yet.

The optimization will stash 24 frames (about 1 second of video) in a ring buffer
and will attempt to re-decrypt previously received frames on the first valid
decryption. This allows the decoder to receive the key frame without having
to request due to short key delivery latencies. In testing this is actually hit
quite often and saves an entire RTT which can be up to 200ms on a bad network.

As the scope of frame encryption increases in WebRTC and has more specialized
optimizations that do not apply to the general flow it makes sense to move it
to a more explicit bump in the stack protocol that is decoupled from the WebRTC
main flow, similar to how SRTP is utilized with srtp_protect and srtp_unprotect.

One advantage of this approach is the BufferedFrameDecryptor isn't even
constructed if FrameEncryption is not in use.

I have decided against merging the RtpReferenceFinder and EncryptedFrame stash
because it introduced a lot of complexity around the mixed scenario where some
of the frames in the stash are encrypted and others are not. In this case we
would need to mark certain frames as decrypted which appeared to introduce more
complexity than this simple decoupling.

Bug: webrtc:10022
Change-Id: Iab74f7b7d25ef1cdd15c4a76b5daae1cfa24932c
Reviewed-on: https://webrtc-review.googlesource.com/c/112221
Commit-Queue: Benjamin Wright <benwright@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25865}
2018-12-01 00:55:08 +00:00
2bb96682a2 Revert "Fix output period in RtcEventLogImpl"
This reverts commit a4dcb749fbbc83a874d4e2c65de5a98465d3e200.

Reason for revert: Speculative revert. Tsan failure has been consistently generated after this CL.

Original change's description:
> Fix output period in RtcEventLogImpl
> 
> RtcEventLogImpl::StartLogging() was ignoring one of its parameters.
> This CL fixes the issue.
> 
> Bug: webrtc:10082
> Change-Id: Ie1790c1a7299748dabe99909d967384ad9895635
> Reviewed-on: https://webrtc-review.googlesource.com/c/112586
> Reviewed-by: Björn Terelius <terelius@webrtc.org>
> Commit-Queue: Elad Alon <eladalon@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#25858}

TBR=eladalon@webrtc.org,terelius@webrtc.org

Change-Id: I6b79c207d537ab6ca44bb418958854acebc886ac
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:10082
Reviewed-on: https://webrtc-review.googlesource.com/c/112740
Reviewed-by: Qingsi Wang <qingsi@webrtc.org>
Commit-Queue: Qingsi Wang <qingsi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25864}
2018-12-01 00:48:09 +00:00
7c6fbf2c9a Android: Add constant for native EGL NO_CONTEXT
TBR=sakal

Bug: None
Change-Id: I3123648c8745954f5a90a0e18422379daffe6195
Reviewed-on: https://webrtc-review.googlesource.com/c/112591
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25863}
2018-11-30 21:26:18 +00:00
92c4289ada Reland "Add transaction id to CandidatePairEvents."
This is a reland of c308bdfa451ee2ceac7096b6777fcbf756f4091a

Original change's description:
> Add transaction id to CandidatePairEvents.
>
> The transaction id is a randomly generated number used to link stun
> requests and responses (https://tools.ietf.org/html/rfc5389#section-6).
> Logging this will help us debug ICE network issues.
>
> Bug: webrtc:9972
> Change-Id: I93167cb119aad99156e8727b6e4eeeff5198f924
> Reviewed-on: https://webrtc-review.googlesource.com/c/109720
> Commit-Queue: Zach Stein <zstein@webrtc.org>
> Reviewed-by: Qingsi Wang <qingsi@webrtc.org>
> Reviewed-by: Elad Alon <eladalon@webrtc.org>
> Reviewed-by: Björn Terelius <terelius@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#25848}

TBR=terelius@webrtc.org,qingsi@webrtc.org

Bug: webrtc:9972
Change-Id: I32b55befddfcb8dc98babd0b64e756eaeb9fab09
Reviewed-on: https://webrtc-review.googlesource.com/c/112661
Reviewed-by: Zach Stein <zstein@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25862}
2018-11-30 21:10:51 +00:00
5d81776a5c Roll chromium_revision 173a384b25..3546854f59 (612554:612694)
Change log: 173a384b25..3546854f59
Full diff: 173a384b25..3546854f59

Changed dependencies
* src/base: 606656a8c8..0551460b2b
* src/build: e066ef73ba..59f4bb0792
* src/ios: 37600d55e5..0c78d113b3
* src/testing: 7d7436a8ed..d387a4a97a
* src/third_party: f5c7dc75b2..e31ab38349
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/63d69d7792..1b98245e3c
* src/third_party/depot_tools: dd530811ab..016601cc21
* src/tools: 9404f8909a..476768d37c
* src/tools/swarming_client: 157bec8a25..0e3e1c4dc4
DEPS diff: 173a384b25..3546854f59/DEPS

No update to Clang.

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

Change-Id: I5e563a0c355ef6effebb10a5131160997c7ef288
Reviewed-on: https://webrtc-review.googlesource.com/c/112660
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#25861}
2018-11-30 19:07:04 +00:00
cc88737845 Parse ice_unwritable_timeout and ice_unwritable_min_checks from RTCConfiguration into IceConfig
These two configs are in both RTConfiguration and IceConfig,
but ParseIceConfig() function does not move them.

Bug: webrtc:10079
Change-Id: I11cbedfeabaf77228a253c7bc5e2781b28b08642
Reviewed-on: https://webrtc-review.googlesource.com/c/112546
Reviewed-by: Qingsi Wang <qingsi@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Commit-Queue: Qingsi Wang <qingsi@webrtc.org>
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25860}
2018-11-30 19:06:02 +00:00
ffa6ce4714 Add integration test for new GetStats() with many tracks
Bug: None
Change-Id: Ia134b4563edbb40e5082592666aad8ad70f1f1a4
Reviewed-on: https://webrtc-review.googlesource.com/c/112186
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25859}
2018-11-30 18:09:31 +00:00