Commit Graph

25947 Commits

Author SHA1 Message Date
05cf6be726 [clang-tidy] Apply performance-move-const-arg fixes.
This CL is a manual spin-off of [1], which tried to apply clang-tidy's
performance-move-const-arg [1] to the WebRTC codebase.

Since there are some wrong fixes to correct, this CL collects all the
fixes that could be landed as is.

[1] - https://webrtc-review.googlesource.com/c/src/+/120350
[2] - https://clang.llvm.org/extra/clang-tidy/checks/performance-move-const-arg.html

Bug: webrtc:10252
Change-Id: Ic4882213556344e65c66e27415e91ff6f89134d7
Reviewed-on: https://webrtc-review.googlesource.com/c/120814
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26515}
2019-02-01 15:02:36 +00:00
9e24fc2196 Roll chromium_revision ecc3b419cc..6893a4aa8c (628213:628317)
Change log: ecc3b419cc..6893a4aa8c
Full diff: ecc3b419cc..6893a4aa8c

Changed dependencies
* src/build: c1ab94d375..2a08c53df7
* src/ios: 4575f3bdbc..0781525936
* src/testing: a03407ae65..93962b71ec
* src/third_party: 8ed004f3ee..82963b25c5
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/b6cc5a6baf..da7318dd0e
* src/third_party/depot_tools: 39b0b8e32a..4f738c1fe5
* src/tools: 6b7b19a20e..f64cfca0b9
DEPS diff: ecc3b419cc..6893a4aa8c/DEPS

No update to Clang.

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

Change-Id: I0677b11e67205f3cc4607600592bcbc5d882b2d4
Reviewed-on: https://webrtc-review.googlesource.com/c/120940
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#26514}
2019-02-01 14:43:14 +00:00
01dc691462 Delete sequence number save and restore in ChannelSend.
Calling ModuleRtpRtcpImpl::SetSendingStatus or
ModuleRtpRtcpImpl::SetSendingMediaStatus doesn't change the
current sequence number, which is part of the RTPSender state.

Bug: webrtc:2111
Change-Id: I432d4daa7ab4cc25d87b90c8b1b255359ffbe3a3
Reviewed-on: https://webrtc-review.googlesource.com/c/120401
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26513}
2019-02-01 14:41:15 +00:00
6c70e16a4a Fix RTCStatsReport::ConstIterator move constructor.
This problem has been originally discovered by clang-tidy while trying
to apply performance-move-const-arg [1] on [2].

[1] - https://clang.llvm.org/extra/clang-tidy/checks/performance-move-const-arg.html
[2] - https://webrtc-review.googlesource.com/c/src/+/120350

Bug: webrtc:10252
Change-Id: I2b0a116f78ca8096a6cf2bc23e2f4b8f372ca04f
Reviewed-on: https://webrtc-review.googlesource.com/c/120815
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26512}
2019-02-01 14:12:43 +00:00
4bfbb01e84 Improve CPU utilization when encoding VP8 with a single temporal layer
Prior to this CL, when software VP8 encoding was done with one temporal
layer, instead of only predicting from the latest frame, the code
allowed the encoder to reference the latest key frame as well.
This improves quality for the few frames immediately after
the key frame, but is not useful for later frames, which diverge
significantly from the key frame. However, the cost of producing
the prediction from more than one reference is incurred by all frames.
My measurements of the effect of this show an improvement
in CPU utilization of 5%-13% when this is not done.

foreman_352x288, 30fps, target bitrate 500kps
Pre-change:
send_enc_speed_fps: avg(566.187, 570.012, 575.665) = 570.621
send_avg_qp: 45.36
send_avg_psnr: 37.13
Post-change:
send_enc_speed_fps: avg(633.188, 604.694, 623.232) = 620.371
send_avg_qp: 45.88
send_avg_psnr: 37.0749
Improvement in send_enc_speed_fps: 8.71%

foreman_480x272, 30fps, target bitrate 500kps
Pre-change:
send_enc_speed_fps: avg(481.244, 486.971, 487.322) = 485.179
send_avg_qp: 48.9
send_avg_psnr: 37.6217
Post-change:
send_enc_speed_fps: avg(521.651, 499.416, 511.551) = 510.872
send_avg_qp: 48.88
send_avg_psnr: 37.6094
Improvement in send_enc_speed_fps: 5.29%

news_352x288, 30fps, target bitrate 500kps
Pre-change:
send_enc_speed_fps: avg(699.407, 697.837, 699.49) = 698.9113333
send_avg_qp: 24.15
send_avg_psnr: 40.9551
Post-change:
send_enc_speed_fps: avg(758.526, 768.104, 757.232) = 761.2873333
send_avg_qp: 23.9833
send_avg_psnr: 40.9697
Improvement in send_enc_speed_fps: 8.92%

Bridge_180x320_15 (video of brandtr@ from Google), 15fps, target bitrate 500kps
Pre-change:
send_enc_speed_fps: avg(454.757, 450.399, 446.812) = 450.656
send_avg_qp: 17.6771
send_avg_psnr: 39.9267
Post-change:
send_enc_speed_fps: avg(500.014, 513.316, 513.613) = 508.981
send_avg_qp: 17.6837
send_avg_psnr: 39.9137
Improvement in send_enc_speed_fps: 12.94%

Bug: webrtc:10281
Change-Id: If02736e1535c5f46689fd42b657e35a1e1f64d6d
Reviewed-on: https://webrtc-review.googlesource.com/c/120904
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Elad Alon <eladalon@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26511}
2019-02-01 14:11:38 +00:00
ab56670af9 Add a small README file for api/
Bug: none
Change-Id: Ied90a30724c3b3230af4aa4ffa8d4ee5b617f8a6
Notry: true
Reviewed-on: https://webrtc-review.googlesource.com/c/120605
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26510}
2019-02-01 13:24:47 +00:00
65cc52ebca Fix heap use overrun in FakeEncoder
By removing unnecessary fixed size buffer.

BUG=webrtc:10276

Change-Id: I303303d8c4aa356372875abe6db5711cd10bcc71
Reviewed-on: https://webrtc-review.googlesource.com/c/120811
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26509}
2019-02-01 11:26:57 +00:00
4f6c539105 Update internal.*.webrtc iOS bots iOS version, remove redundant config file
This is a reland of 9a27c2fc7a2eb068eb06fad2e991039e2fceb960

Original change's description:
> Make internal.*.webrtc iOS bots dimensions depend on bot_id and pool only
>
> Bug: webrtc:10047
> Change-Id: I48bcc15721859062c73c7e5fbae7a2fd65713adc
> Reviewed-on: https://webrtc-review.googlesource.com/c/120615
> Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
> Commit-Queue: Artem Titarenko <artit@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#26485}

No-Try: true
Bug: webrtc:10047
Change-Id: Ib9f765439dc58d4e63a201d746129f99e8271175
Reviewed-on: https://webrtc-review.googlesource.com/c/120803
Commit-Queue: Artem Titarenko <artit@webrtc.org>
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26508}
2019-02-01 10:33:06 +00:00
6347029875 Removes usages of TaskQueueCongestionControl field trial.
It doesn't do anything any more, so it should be removed.

Bug: webrtc:9586
Change-Id: I0b320b6ce4f480ff8cb59451db29bcc77b882b5f
Reviewed-on: https://webrtc-review.googlesource.com/c/120813
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26507}
2019-02-01 09:46:59 +00:00
f1d1061e51 mb: Fix iOS config after the earlier CL
Followup to https://webrtc-review.googlesource.com/120404

Add forgotten bot ios_arm64_perf.
Drop dcheck_always_on from perf bots like it was before.

Bug: webrtc:10253
Change-Id: I1ab989a6d6059f5ddf6f341e54fcc92cac97755a
Reviewed-on: https://webrtc-review.googlesource.com/c/120804
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Reviewed-by: Artem Titarenko <artit@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26506}
2019-02-01 08:51:45 +00:00
4a2911fc50 Roll chromium_revision 9963b4a7d5..ecc3b419cc (628101:628213)
Change log: 9963b4a7d5..ecc3b419cc
Full diff: 9963b4a7d5..ecc3b419cc

Changed dependencies
* src/base: 1eebae8c27..ed586db47d
* src/build: 90e66bc2ad..c1ab94d375
* src/ios: 9a63603764..4575f3bdbc
* src/testing: 3cf865e559..a03407ae65
* src/third_party: f09defc3ff..8ed004f3ee
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/2061050c4d..b6cc5a6baf
* src/third_party/depot_tools: 50b187ca83..39b0b8e32a
* src/third_party/libvpx/source/libvpx: 9ecc0e779a..cde3da57b9
* src/tools: 42fe5bfbda..6b7b19a20e
DEPS diff: 9963b4a7d5..ecc3b419cc/DEPS

No update to Clang.

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

Change-Id: I1886caab75a29059d3b694b063b31da1a3ab8199
Reviewed-on: https://webrtc-review.googlesource.com/c/120865
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#26505}
2019-02-01 03:38:11 +00:00
831bd96138 Remove unnecessary memset to DesktopFrame
With a recent change, the webrtc::DesktopFrame is created and
initialized with 0. So it's not necessary to call memset() to
the frame again any more.

See https://webrtc-review.googlesource.com/c/src/+/97184/

Bug: webrtc:9703
Change-Id: I27d096058ead075765f4c49bf60cb8d725da1afd
Reviewed-on: https://webrtc-review.googlesource.com/c/120700
Commit-Queue: Brave Yao <braveyao@webrtc.org>
Reviewed-by: Brave Yao <braveyao@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26504}
2019-02-01 01:21:48 +00:00
f3e9abf6b3 Add field trial for ExtraICEPing
This patch adds a field trial for sending an extra ice ping
when receiving a ice ping and we have not received an ice ping
response. The theory is that this will decrease time it takes
for a connection to become writable and improve behavior with
ice reroutes (choosing a new ice candidate pair).

Bug: webrtc:10273
Change-Id: I98d442649869e7c7655edbbb5ab42c596f5d3b9d
Reviewed-on: https://webrtc-review.googlesource.com/c/120722
Commit-Queue: Qingsi Wang <qingsi@webrtc.org>
Reviewed-by: Qingsi Wang <qingsi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26503}
2019-01-31 22:40:16 +00:00
39ecb17572 Roll chromium_revision 71d81bd262..9963b4a7d5 (627987:628101)
Change log: 71d81bd262..9963b4a7d5
Full diff: 71d81bd262..9963b4a7d5

Changed dependencies
* src/base: eed1b927dc..1eebae8c27
* src/build: 036ce949f6..90e66bc2ad
* src/ios: 06dbb6d476..9a63603764
* src/testing: b216197e41..3cf865e559
* src/third_party: 08cb17e8b3..f09defc3ff
* src/tools: a922084473..42fe5bfbda
DEPS diff: 71d81bd262..9963b4a7d5/DEPS

No update to Clang.

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

Change-Id: I0a496a8fc2a59f6a3379fbfc798478b5918fcd57
Reviewed-on: https://webrtc-review.googlesource.com/c/120843
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#26502}
2019-01-31 22:36:16 +00:00
1e6e773d79 Add steveanton@ to media/ OWNERS
Bug: None
Change-Id: Ic1f9e72cb574002539f4fe84d483bb94afbfbb71
No-Try: True
Reviewed-on: https://webrtc-review.googlesource.com/c/120747
Reviewed-by: Seth Hampson <shampson@webrtc.org>
Commit-Queue: Seth Hampson <shampson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26501}
2019-01-31 22:10:21 +00:00
e92d6624e8 Modify pc/ WATCHLISTS definition
Bug: None
Change-Id: I187981ac0dd16c7da299208e8dc351a686e8eea9
No-Try: True
Reviewed-on: https://webrtc-review.googlesource.com/c/120820
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Seth Hampson <shampson@webrtc.org>
Commit-Queue: Seth Hampson <shampson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26500}
2019-01-31 22:09:16 +00:00
a177f801e4 Roll chromium_revision a91ca6cb6f..71d81bd262 (627878:627987)
Change log: a91ca6cb6f..71d81bd262
Full diff: a91ca6cb6f..71d81bd262

Changed dependencies
* src/base: a6964ea54f..eed1b927dc
* src/build: b6c33ca929..036ce949f6
* src/ios: 27d4dd83f5..06dbb6d476
* src/testing: af8ccf68fb..b216197e41
* src/third_party: 64b1dd4a22..08cb17e8b3
* src/tools: a45805a008..a922084473
DEPS diff: a91ca6cb6f..71d81bd262/DEPS

No update to Clang.

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

Change-Id: Ie2fe5deb57cb93a9f12887e0e37a2239167c39ad
Reviewed-on: https://webrtc-review.googlesource.com/c/120746
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#26499}
2019-01-31 17:44:37 +00:00
7af962b38d Add field trial to configure averaging window for BitrateEstimator.
Bug: webrtc:10274
Change-Id: Ida699c8e0cdc91d55f91e7f685d0ab7e880703a0
Reviewed-on: https://webrtc-review.googlesource.com/c/120809
Reviewed-by: Christoffer Rodbro <crodbro@webrtc.org>
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26498}
2019-01-31 16:18:42 +00:00
01f64e0eb2 Add test to verify TaskQueue memory access order.
Bug: webrtc:10138
Change-Id: I53e8a3a612ad44feced8d63a4035d79b7e0f22a9
Reviewed-on: https://webrtc-review.googlesource.com/c/120601
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26497}
2019-01-31 14:45:45 +00:00
5054f54457 Partial frame capture API part 2
Implement test utility for extracting changed part of video frames.

Bug: webrtc:10152
Change-Id: Iead052d2a18384aaa828cd7821be961b8614568e
Reviewed-on: https://webrtc-review.googlesource.com/c/120407
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26496}
2019-01-31 14:44:40 +00:00
b6458e1af2 Switch test on audio stream instead of data channel.
Create audio stream instead of data channel to check compatibility of
network layer with PeerConnection. Replacement is done because there is
a data race inside data channel sctp transport. This CL will fix
bot behavior. Further data race investigation will be done in this
bug: https://bugs.chromium.org/p/webrtc/issues/detail?id=10268

Bug: webrtc:10268, webrtc:10138
Change-Id: I4f7a1116c65dbf4a3508b7d81d654ccd320795f0
Reviewed-on: https://webrtc-review.googlesource.com/c/120807
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26495}
2019-01-31 14:16:11 +00:00
c84f661b10 Stop using Googletest legacy APIs.
Googletest recently started replacing the term Test Case by Test Suite.
From now on, the preferred API is TestSuite*; the older TestCase* API
will be slowly deprecated.

This CL moves WebRTC to the new set of APIs.

More info in [1].

This CL has been generated with this script:

declare -A items
items[TYPED_TEST_CASE]=TYPED_TEST_SUITE
items[TYPED_TEST_CASE_P]=TYPED_TEST_SUITE_P
items[REGISTER_TYPED_TEST_CASE_P]=REGISTER_TYPED_TEST_SUITE_P
items[INSTANTIATE_TYPED_TEST_CASE_P]=INSTANTIATE_TYPED_TEST_SUITE_P
items[INSTANTIATE_TEST_CASE_P]=INSTANTIATE_TEST_SUITE_P
for i in "${!items[@]}"
do
  git ls-files | xargs sed -i "s/\b$i\b/${items[$i]}/g"
done
git cl format

[1] - https://github.com/google/googletest/blob/master/googletest/docs/primer.md#beware-of-the-nomenclature

Bug: None
Change-Id: I5ae191e3046caf347aeee01554d5743548ab0e3f
Reviewed-on: https://webrtc-review.googlesource.com/c/118701
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26494}
2019-01-31 13:23:33 +00:00
12e5d392cc Reland "Partial frame capture API part 1"
Reland with fixes to undefined behavior.

Define new optional struct in VideoFrame to signal that the frame is a
changed part of a whole picture and add a flag to signal that partial
update may be issued by the VideoFrame source.

Also, fix too strict assumptions in FrameBuffers PasteFrom methods.
Also, add ability to set a new buffer in video frame.

Original Reviewed-on: https://webrtc-review.googlesource.com/c/120405

Bug: webrtc:10152
Change-Id: I85790dfc7cec2f23abfe9d6cd18dc76a0c343bc0
Reviewed-on: https://webrtc-review.googlesource.com/c/120780
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26493}
2019-01-31 13:03:31 +00:00
3d22114f1c Revert "Make internal.*.webrtc iOS bots dimensions depend on bot_id and pool only"
This reverts commit 9a27c2fc7a2eb068eb06fad2e991039e2fceb960.

Reason for revert: device_type and os version is mandatory
for correct step naming

Original change's description:
> Make internal.*.webrtc iOS bots dimensions depend on bot_id and pool only
> 
> Bug: webrtc:10047
> Change-Id: I48bcc15721859062c73c7e5fbae7a2fd65713adc
> Reviewed-on: https://webrtc-review.googlesource.com/c/120615
> Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
> Commit-Queue: Artem Titarenko <artit@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#26485}

TBR=oprypin@webrtc.org,artit@webrtc.org

Change-Id: I511eec8e8c24e82881be06ca0ca7b7038971db94
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:10047
Reviewed-on: https://webrtc-review.googlesource.com/c/120802
Reviewed-by: Artem Titarenko <artit@webrtc.org>
Commit-Queue: Artem Titarenko <artit@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26492}
2019-01-31 12:34:14 +00:00
eceea31cc2 Reduces locking in SimulatedNetwork class.
Bug: webrtc:9883
Change-Id: I07c78fd2dbba5e7481194b0d1aabfb56809ff6fc
Reviewed-on: https://webrtc-review.googlesource.com/c/120612
Reviewed-by: Christoffer Rodbro <crodbro@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26491}
2019-01-31 12:03:43 +00:00
8102a1a8ea Revert "Partial frame capture API part 1"
This reverts commit 8a21e1c9c95c9b9b570c84bdfeda0315ede9dc29.

Reason for revert: breaks buildbots

Original change's description:
> Partial frame capture API part 1
> 
> Define new optional struct in VideoFrame to signal that the frame is a
> changed part of a whole picture and add a flag to signal that partial
> update may be issued by the VideoFrame source.
> 
> Also, fix too strict assumptions in FrameBuffers PasteFrom methods.
> Also, add ability to set a new buffer in video frame.
> 
> 
> Bug: webrtc:10152
> Change-Id: Ie0da418fd60bc7a34334329292e0b860ec388788
> Reviewed-on: https://webrtc-review.googlesource.com/c/120405
> Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
> Reviewed-by: Erik Språng <sprang@webrtc.org>
> Reviewed-by: Niels Moller <nisse@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#26489}

TBR=ilnik@webrtc.org,nisse@webrtc.org,sprang@webrtc.org

Change-Id: Ibf61f28e529a444882962b984474d4849bb44e4b
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:10152
Reviewed-on: https://webrtc-review.googlesource.com/c/120760
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26490}
2019-01-31 11:57:37 +00:00
8a21e1c9c9 Partial frame capture API part 1
Define new optional struct in VideoFrame to signal that the frame is a
changed part of a whole picture and add a flag to signal that partial
update may be issued by the VideoFrame source.

Also, fix too strict assumptions in FrameBuffers PasteFrom methods.
Also, add ability to set a new buffer in video frame.


Bug: webrtc:10152
Change-Id: Ie0da418fd60bc7a34334329292e0b860ec388788
Reviewed-on: https://webrtc-review.googlesource.com/c/120405
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26489}
2019-01-31 11:34:15 +00:00
8fe7995045 Adds bytes per second to DataType class.
This is useful for internal calculations in bitrate control code as we
can skip conversion constants.

DataRate Example(TimeDelta time, DataSize size) {
 double time_seconds = time.seconds<double>();
 double size_bytes = size.bytes<double>();
 double rate_bytes_per_sec = size_bytes/time_seconds;
 return DataRate::bytes_per_sec(std::max(0.0,rate_bytes_per_sec));
}

Bug: webrtc:9709
Change-Id: I8eefed578b6e8eee67fc36af723216407e0d0323
Reviewed-on: https://webrtc-review.googlesource.com/c/120720
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26488}
2019-01-31 11:31:55 +00:00
813c79bff9 Fix network emulation behavior when changing bandwidth.
Calculate packet exit times "just in time" rather than at send time.
This allows changing bandwidth with packets in the queue being reflected
correctly.

Bug: webrtc:10265
Change-Id: I5a38663def4d2bfee64164f9ae62bc61277064bb
Reviewed-on: https://webrtc-review.googlesource.com/c/120403
Commit-Queue: Christoffer Rodbro <crodbro@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26487}
2019-01-31 10:42:03 +00:00
fdf5cd5928 Roll chromium_revision 6af465608b..a91ca6cb6f (627775:627878)
Change log: 6af465608b..a91ca6cb6f
Full diff: 6af465608b..a91ca6cb6f

Changed dependencies
* src/base: df9fd4db8d..a6964ea54f
* src/ios: 7672ca0777..27d4dd83f5
* src/third_party: 1e2c4f7ac7..64b1dd4a22
* src/third_party/depot_tools: 1131ccb694..50b187ca83
* src/tools: 7c7b04b043..a45805a008
DEPS diff: 6af465608b..a91ca6cb6f/DEPS

No update to Clang.

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

Change-Id: I48399e3e6e09c771e0b0ef11cc86e5cb5c9991d6
Reviewed-on: https://webrtc-review.googlesource.com/c/120690
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#26486}
2019-01-31 10:40:59 +00:00
9a27c2fc7a Make internal.*.webrtc iOS bots dimensions depend on bot_id and pool only
Bug: webrtc:10047
Change-Id: I48bcc15721859062c73c7e5fbae7a2fd65713adc
Reviewed-on: https://webrtc-review.googlesource.com/c/120615
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Commit-Queue: Artem Titarenko <artit@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26485}
2019-01-31 10:09:16 +00:00
6893f3c6f0 Move ownership of PlayoutDelayOracle
Moved from RtpSender to RtpSenderVideo, since currently the
PlayoutDelay extension is used for video only, and configured via
RTPVideoHeader.

Bug: webrtc:7135
Change-Id: Idfcc90cefea83e40a4e79164d7914cdcd50e41fe
Reviewed-on: https://webrtc-review.googlesource.com/c/120357
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26484}
2019-01-31 09:25:59 +00:00
82ac240040 mb: Generate gn args from mb_config rather than tools_webrtc/ios
Bug: webrtc:10253
Change-Id: I3ed7b7fd11d31c3697e637b477db7e9ec9677237
Reviewed-on: https://webrtc-review.googlesource.com/c/120404
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26483}
2019-01-31 08:48:44 +00:00
2a96ab20b2 Makes Clock interface fully mutable.
Calls to the time functions in Clock can have side effects in some
circumstances. It's also questionable if it's a good idea to allow
repeated calls to a const method return different values without
any changed to the class instance.

Bug: webrtc:10270
Change-Id: I316f9788adac954c52b0f9230881b872c54a7ac9
Reviewed-on: https://webrtc-review.googlesource.com/c/120348
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26482}
2019-01-31 08:12:05 +00:00
7e0ae16c73 Roll chromium_revision 97b87d124d..6af465608b (627608:627775)
Change log: 97b87d124d..6af465608b
Full diff: 97b87d124d..6af465608b

Changed dependencies
* src/base: 2ff6fbc750..df9fd4db8d
* src/build: 09245f11f1..b6c33ca929
* src/ios: 4bca6e09b3..7672ca0777
* src/testing: d861c00a05..af8ccf68fb
* src/third_party: 1bc79a4fa0..1e2c4f7ac7
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/36e00d45b4..2061050c4d
* src/tools: 01b10a3195..7c7b04b043
DEPS diff: 97b87d124d..6af465608b/DEPS

No update to Clang.

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

Change-Id: If653d006c257004ebf453f8b99cf372bb428fbc9
Reviewed-on: https://webrtc-review.googlesource.com/c/120685
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#26481}
2019-01-31 04:24:35 +00:00
042bb00838 Fix RTP transport accepting invalid RTCP headers.
Currently, the RtpTransport checks that the packet is either RTP or
RTCP. However, the RTCP check does not verify that the packet is a valid RTP,
and therefore invalid RTCP packets were allowed in the RtpTransport::OnReadPacket.

This change makes sure that the test for RTCP header (IsRtcpPacket) checks that it has the valid RTP version (2).

So far if the packet had the second byte that looked like
RTCP, it would ignore the first byte.


Bug: None
Change-Id: I5d07d497b9ef609c74b6e507c5f3e19e4bf10194
Reviewed-on: https://webrtc-review.googlesource.com/c/120646
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Bjorn Mellem <mellem@webrtc.org>
Reviewed-by: Seth Hampson <shampson@webrtc.org>
Commit-Queue: Peter Slatala <psla@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26480}
2019-01-31 03:00:58 +00:00
287298159f Roll chromium_revision 10156ea4fa..97b87d124d (627488:627608)
Change log: 10156ea4fa..97b87d124d
Full diff: 10156ea4fa..97b87d124d

Changed dependencies
* src/base: 3fc534991e..2ff6fbc750
* src/build: d7787756cb..09245f11f1
* src/ios: 6ff3c759a3..4bca6e09b3
* src/testing: 9c4deaccaa..d861c00a05
* src/third_party: 89af89b135..1bc79a4fa0
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/4322547327..36e00d45b4
* src/tools: 2405a4c20d..01b10a3195
DEPS diff: 10156ea4fa..97b87d124d/DEPS

No update to Clang.

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

Change-Id: I079effe7f52b6b7957aa165605e6ab651d8bde23
Reviewed-on: https://webrtc-review.googlesource.com/c/120680
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#26479}
2019-01-30 22:42:43 +00:00
2d79dccfb1 Removes new delay based rate controller.
Will focus on delivering model based controller instead.

Bug: webrtc:9718
Change-Id: I5df82424469c577f3c170758e0db64e3e1aa7705
Reviewed-on: https://webrtc-review.googlesource.com/c/120607
Reviewed-by: Christoffer Rodbro <crodbro@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26478}
2019-01-30 19:33:57 +00:00
8b087f36d2 Roll chromium_revision 39a2376d54..10156ea4fa (627358:627488)
Change log: 39a2376d54..10156ea4fa
Full diff: 39a2376d54..10156ea4fa

Changed dependencies
* src/base: 57443a7742..3fc534991e
* src/build: 31ec511403..d7787756cb
* src/buildtools: 2f02e1f363..6fbda1b24c
* src/ios: bb637bf1f7..6ff3c759a3
* src/testing: ba5f8bf3a3..9c4deaccaa
* src/third_party: afd949ec5f..89af89b135
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/1a9772ff05..4322547327
* src/tools: 2c1ade8746..2405a4c20d
DEPS diff: 39a2376d54..10156ea4fa/DEPS

No update to Clang.

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

Change-Id: I49906d33812185755140dc93f1354d0ac208374e
Reviewed-on: https://webrtc-review.googlesource.com/c/120641
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#26477}
2019-01-30 18:46:22 +00:00
e32b4fea49 Allow 1x1 images in libvpx_vp8_encoder.cc
Bug: webrtc:10099
Change-Id: I870e7262ef893b260f714b47c43f2465eed83006
Reviewed-on: https://webrtc-review.googlesource.com/c/120422
Commit-Queue: Dan Minor <dminor@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26476}
2019-01-30 17:40:35 +00:00
170a4b383f Trim unnecessary OpenSSL/BoringSSL ifdefs.
Now that WebRTC requires OpenSSL 1.1.0 as minimum, some bits can be
removed. The simpler versioning API is shared between BoringSSL and
OpenSSL 1.1.0, and there are some remnants of the threading callbacks
that can be removed.

Bug: none
Change-Id: I2078ca9c444b1f1efa9e4b235eb4e6037865d8fb
Reviewed-on: https://webrtc-review.googlesource.com/c/120261
Commit-Queue: David Benjamin <davidben@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Benjamin Wright <benwright@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26475}
2019-01-30 17:09:49 +00:00
71f94c93a6 Refactor PlayoutDelayOracle with separate update methods
There's now one const method PlayoutDelayToSend to produce the delay
values to insert into outgoing packets, and two update methods,
OnSentPacket, and OnReceivedAck, to observe outgoing packets and acks,
respectively.

Bug: webrtc:7135
Change-Id: I07498c30f0de87ae0113f7e2eb6357a091a1f0af
Reviewed-on: https://webrtc-review.googlesource.com/c/120603
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26474}
2019-01-30 16:50:24 +00:00
fa89d84698 Register callback for key frame request from media transport.
Bug: webrtc:9719
Change-Id: Ibeadadb8e477d6d712fd69427c95e1e4f1940854
Reviewed-on: https://webrtc-review.googlesource.com/c/120340
Commit-Queue: Niels Moller <nisse@webrtc.org>
Commit-Queue: Peter Slatala <psla@webrtc.org>
Reviewed-by: Peter Slatala <psla@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26473}
2019-01-30 16:26:31 +00:00
984626245a Add IceTransportInterface object
This creates the API for an ICE transport object, and lets it
be accessible from a DTLS transport object.

Bug: chromium:907849
Change-Id: Ieb24570217dec75ce0deca8420739c1f116fbba4
Reviewed-on: https://webrtc-review.googlesource.com/c/118703
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26472}
2019-01-30 16:16:51 +00:00
0873684401 Bump internal webrtc iOS bots to iOS 12.0
And remove custom expiration_time for release bots because currently
it equals to default value

Bug: webrtc:10047
Change-Id: Ife7fd154237575e3d43f7be814e1156624166dab
Reviewed-on: https://webrtc-review.googlesource.com/c/120604
Commit-Queue: Artem Titarenko <artit@webrtc.org>
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26471}
2019-01-30 16:14:38 +00:00
0774bd9583 Introduce network layer.
This CL contains network emulation layer and is a first part of landing
CL https://webrtc-review.googlesource.com/c/src/+/116663

Bug: webrtc:10138
Change-Id: If664b21e9df847aef8144d622d08fc7e9f6608da
Reviewed-on: https://webrtc-review.googlesource.com/c/120406
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26470}
2019-01-30 15:45:10 +00:00
338bfab0e6 Move sorting from TransportFeedbackAdapter to GoogCC.
BUG= none

Change-Id: Ibe1d058f6d5ed18a7cbdadaa3c053dd51533309d
Reviewed-on: https://webrtc-review.googlesource.com/c/120602
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26469}
2019-01-30 14:28:59 +00:00
9f3a44f515 Introcuce RTCError(const T&) constructor.
This CL is spawned from [1] and it introduces RTCError(const T&) in
order to remove an unneeded std::move.

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

Bug: webrtc:10252
Change-Id: Ibd5aa1c901fd920549e9437908178c786019a328
Reviewed-on: https://webrtc-review.googlesource.com/c/120560
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26468}
2019-01-30 13:43:29 +00:00
aa01f27667 Removes all const Clock*.
This prepares for making the Clock interface fully mutable.

Calls to the time functions in Clock can have side effects in some
circumstances. It's also questionable if it's a good idea to allow
repeated calls to a const method return different values without
any changed to the class instance.

Bug: webrtc:9883
Change-Id: I96fb9230705f7c80a4c0702132fd9dc73899fc5e
Reviewed-on: https://webrtc-review.googlesource.com/c/120347
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26467}
2019-01-30 13:03:37 +00:00
15df2ef2c0 Fix typo in SafeClamp docs
Bug: none
Notry: true
Change-Id: Ib7c6a74207d1ba6f8300fdae2ec88d9493c1f310
Reviewed-on: https://webrtc-review.googlesource.com/c/120561
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26466}
2019-01-30 12:47:20 +00:00