Commit Graph

32803 Commits

Author SHA1 Message Date
7423d5d75a Roll chromium_revision 57cdee657d..733eeb1cd6 (866752:866861)
Change log: 57cdee657d..733eeb1cd6
Full diff: 57cdee657d..733eeb1cd6

Changed dependencies
* src/base: 7b67157b67..cdaa8f16fb
* src/build: 21e4e08d76..5b847b7f2c
* src/ios: ab801e9061..e1c1bb76d9
* src/testing: 809d7ab0cb..9420cb2467
* src/third_party: b53c5f2582..5d35c28dd9
* src/third_party/perfetto: 91b4f68052..acb2e677b4
* src/tools: 56713cae4d..fc65bbe8a7
DEPS diff: 57cdee657d..733eeb1cd6/DEPS

No update to Clang.

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

Change-Id: I0fc004cae16ef4b6659273448e9e42cf1dcc6a73
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/212997
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@{#33571}
2021-03-26 00:46:54 +00:00
b258c56267 Send and Receive VideoFrameTrackingid RTP header extension.
Bug: webrtc:12594
Change-Id: I2372a361e55d0fdadf9847081644b6a3359a2928
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/212283
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Christoffer Rodbro <crodbro@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Jeremy Leconte <jleconte@google.com>
Cr-Commit-Position: refs/heads/master@{#33570}
2021-03-25 21:57:29 +00:00
883f474e71 Roll chromium_revision 299329ad06..57cdee657d (866589:866752)
Change log: 299329ad06..57cdee657d
Full diff: 299329ad06..57cdee657d

Changed dependencies
* src/base: edbefc3149..7b67157b67
* src/build: d47f88a20f..21e4e08d76
* src/ios: e5658a0dbe..ab801e9061
* src/testing: 3977fbe3b4..809d7ab0cb
* src/third_party: 84f26c9bc3..b53c5f2582
* src/third_party/androidx: w9GAjqe9yb27SB37J97HO2Csomsj30SOyHZrDvgbbP0C..NhuEArC6HyJ9d2G43Q3NyC1NYK5ZwpqdU7Eob3x4EocC
* src/third_party/perfetto: 5c32bc92b2..91b4f68052
* src/tools: d3e1920041..56713cae4d
DEPS diff: 299329ad06..57cdee657d/DEPS

No update to Clang.

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

Change-Id: I3431681888cc139c7d6c25eeb558fae11e3933a5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/212995
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@{#33569}
2021-03-25 21:19:58 +00:00
c184047fef Add fuzzer to validate libvpx vp9 encoder wrapper
Fix simulcast svc controller to reuse dropped frame configuration,
same as full svc and k-svc controllers do.
This fuzzer reminded the issue was still there.

Bug: webrtc:11999
Change-Id: I74156bd743124723562e99deb48de5b5018a81d0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/212281
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33568}
2021-03-25 18:52:38 +00:00
4f88a9d1c3 Create a VideoFrameTrackingId RTP header extension.
Bug: webrtc:12594
Change-Id: I518b549b18143f4711728b4637a4689772474c45
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/212084
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Jeremy Leconte <jleconte@google.com>
Cr-Commit-Position: refs/heads/master@{#33567}
2021-03-25 17:25:18 +00:00
cbd6156591 Add FileSize method to FileWrapper
Bug: webrtc:11933
Change-Id: I8d8dfc29aefa0208cf4ad64c86bb9f45251be757
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/212966
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33566}
2021-03-25 15:59:05 +00:00
0a1d2f51d8 Roll chromium_revision c0436807ae..299329ad06 (865247:866589)
Change log: c0436807ae..299329ad06
Full diff: c0436807ae..299329ad06

Changed dependencies
* src/base: 8d5e7ce339..edbefc3149
* src/build: 7ce3b71efa..d47f88a20f
* src/buildtools/third_party/libc++abi/trunk: 4e078437d0..f50df92a29
* src/ios: 0f60053c1f..e5658a0dbe
* src/testing: 5515895a0f..3977fbe3b4
* src/third_party: 9dec2334e3..84f26c9bc3
* src/third_party/androidx: c1XqVP7XC51iTS4Zs03SWVTsz5AdCYHK01o4IsyEC0MC..w9GAjqe9yb27SB37J97HO2Csomsj30SOyHZrDvgbbP0C
* src/third_party/boringssl/src: https://boringssl.googlesource.com/boringssl.git/+log/dfe0b01b3e..49f0329110
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/999f35f30e..36e45025a8
* src/third_party/googletest/src: 07f4869221..1a8ecf1813
* src/third_party/perfetto: 0c50637320..5c32bc92b2
* src/third_party/usrsctp/usrsctplib: 991335be3d..79f0178cd3
* src/tools: 4c1d963f3e..d3e1920041
* src/tools/luci-go: git_revision:e567b4580a0854199f30444e583c17ee65abcc10..git_revision:e1c81c53ccd0366e8fff438f89030043343d4d6b
* src/tools/luci-go: git_revision:e567b4580a0854199f30444e583c17ee65abcc10..git_revision:e1c81c53ccd0366e8fff438f89030043343d4d6b
* src/tools/luci-go: git_revision:e567b4580a0854199f30444e583c17ee65abcc10..git_revision:e1c81c53ccd0366e8fff438f89030043343d4d6b
DEPS diff: c0436807ae..299329ad06/DEPS

No update to Clang.

No-Try: True
TBR=chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com,
BUG=None

Change-Id: I8ad54bccdc1f7589a1b01c85d5628a5544686150
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/212992
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33565}
2021-03-25 15:19:55 +00:00
c4d3e34d36 Clean up temporary event log file after test.
Bug: webrtc:12084
Change-Id: If17140b6af8f88faf7808645ca8998a5540aad06
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/212963
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Elad Alon <eladalon@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33564}
2021-03-25 14:32:45 +00:00
175b723ce9 Add clarification comment about removing FrameInFlight objects in case of to adding a peer in runtime
RuntimeParticipantsAdding covers the described behaviour: "EXPECT_EQ(frames_in_flight_sizes.back().value, 0)"

Bug: webrtc:12247
Change-Id: I296c607d3b7fb9f337b887347e60ccfc0e042143
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/203524
Commit-Queue: Andrey Logvin <landrey@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33563}
2021-03-25 14:01:12 +00:00
c964d80e3d Delete use of AsyncInvoker in FakeMdnsResponder
Bug: webrtc:12339
Change-Id: Icf27a95eeb1433cd1c0166f8a0f6afa16aabd383
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/211353
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33562}
2021-03-25 12:00:11 +00:00
acf8ccb3c9 Use the new DNS resolver API in PeerConnection
Bug: webrtc:12598
Change-Id: I5a14058e7f28c993ed927749df7357c715ba83fb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/212961
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33561}
2021-03-25 11:28:41 +00:00
236e36c25f Delete AsyncInvoker usage in DataChannelController
Tasks access this via WeakPtrFactory.

Bug: webrtc:12339
Change-Id: I0aaeffd4bed59a6abfadf995286644c24c1fd716
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/212721
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33560}
2021-03-25 11:00:51 +00:00
4c555cca2d Revert "Reland "[Battery]: Delay start of TaskQueuePacedSender." Take 2"
This reverts commit 2072b87261a6505a88561bdeab3e7405d7038eaa.

Reason for revert: Causing test failure.

Original change's description:
> Reland "[Battery]: Delay start of TaskQueuePacedSender." Take 2
>
> This is a reland of 89cb65ed663a9000b9f7c90a78039bd85731e9ae
> ... and f28aade91dcc2cb8f590dc1379ac7ab5c1981909
>
> Reason for revert: crashes due to uninitialized pacing_bitrate_
> crbug.com/1190547
> Apparently pacer() is sometimes being used before EnsureStarted()
> Fix: Instead of delaying first call to SetPacingRates(),
> this CL no-ops MaybeProcessPackets() until EnsureStarted()
> is called for the first time.
>
> Original change's description:
> > [Battery]: Delay start of TaskQueuePacedSender.
> >
> > To avoid unnecessary repeating tasks, TaskQueuePacedSender is started
> > only upon RtpTransportControllerSend::EnsureStarted().
> >
> > More specifically, the repeating task happens in
> > TaskQueuePacedSender::MaybeProcessPackets() every 500ms, using a self
> > task_queue_.PostDelayedTask().
> >
> > Bug: chromium:1152887
> > Change-Id: I72c96d2c4b491d5edb45a30b210b3797165cbf48
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/208560
> > Commit-Queue: Etienne Pierre-Doray <etiennep@chromium.org>
> > Reviewed-by: Henrik Boström <hbos@webrtc.org>
> > Reviewed-by: Erik Språng <sprang@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#33421}
>
> Bug: chromium:1152887
> Change-Id: I9aba4882a64bbee7d97ace9059dea8a24c144f93
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/212880
> Reviewed-by: Erik Språng <sprang@webrtc.org>
> Reviewed-by: Henrik Boström <hbos@webrtc.org>
> Commit-Queue: Etienne Pierre-Doray <etiennep@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#33554}

TBR=hbos@webrtc.org,sprang@webrtc.org,etiennep@chromium.org

Change-Id: I430fd31c7602702c8ec44b9e38e68266abba8854
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium:1152887
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/212965
Reviewed-by: Ying Wang <yinwa@webrtc.org>
Commit-Queue: Ying Wang <yinwa@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33559}
2021-03-25 10:50:53 +00:00
02b1321b47 Clean up video_coding namespace snipets.
Bug: webrtc:12579
Change-Id: I487fe017f30746e2fe83a122123b236295d96d28
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/212962
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33558}
2021-03-25 10:44:40 +00:00
5d6abbddf4 Adds missing header to fix compilation error when compiling with use_custom_libcxx set to false.
Fixed: webrtc:12584
Change-Id: I8830095f887e7ee8887bc37106da847b60c1e996
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/211762
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33557}
2021-03-25 09:57:00 +00:00
128faf8a23 Delete AsyncInvoker usage from SctpDataSender
Bug: webrtc:12339
Change-Id: I018137103c45e380c89cd4bdeefd434c1d4252e0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/212862
Reviewed-by: Taylor <deadbeef@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33556}
2021-03-25 09:24:00 +00:00
5254e429e4 Update WebRTC code version (2021-03-25T04:02:11).
TBR=webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com,mbonadei@webrtc.org

Bug: None
Change-Id: Id12017a4cf81f3b6d0c681891bade6655a15530e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/212986
Reviewed-by: webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com <webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com <webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#33555}
2021-03-25 05:50:14 +00:00
2072b87261 Reland "[Battery]: Delay start of TaskQueuePacedSender." Take 2
This is a reland of 89cb65ed663a9000b9f7c90a78039bd85731e9ae
... and f28aade91dcc2cb8f590dc1379ac7ab5c1981909

Reason for revert: crashes due to uninitialized pacing_bitrate_
crbug.com/1190547
Apparently pacer() is sometimes being used before EnsureStarted()
Fix: Instead of delaying first call to SetPacingRates(),
this CL no-ops MaybeProcessPackets() until EnsureStarted()
is called for the first time.

Original change's description:
> [Battery]: Delay start of TaskQueuePacedSender.
>
> To avoid unnecessary repeating tasks, TaskQueuePacedSender is started
> only upon RtpTransportControllerSend::EnsureStarted().
>
> More specifically, the repeating task happens in
> TaskQueuePacedSender::MaybeProcessPackets() every 500ms, using a self
> task_queue_.PostDelayedTask().
>
> Bug: chromium:1152887
> Change-Id: I72c96d2c4b491d5edb45a30b210b3797165cbf48
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/208560
> Commit-Queue: Etienne Pierre-Doray <etiennep@chromium.org>
> Reviewed-by: Henrik Boström <hbos@webrtc.org>
> Reviewed-by: Erik Språng <sprang@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#33421}

Bug: chromium:1152887
Change-Id: I9aba4882a64bbee7d97ace9059dea8a24c144f93
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/212880
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Etienne Pierre-Doray <etiennep@chromium.org>
Cr-Commit-Position: refs/heads/master@{#33554}
2021-03-24 18:46:51 +00:00
e6e2f280ff Add a new API to DNS resolution
This API should allow existing factories to be used unmodified, but
offers a new API that documents ownership better and does not use
sigslot.

Bug: webrtc:12598
Change-Id: I0f68371059cd4a18ab07b87fc0e7526dcc0ac669
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/212609
Reviewed-by: Tommi <tommi@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33553}
2021-03-24 17:18:31 +00:00
ac732f6a13 Removes unused parameters of WebRTC-KeyframeInterval.
Bug: webrtc:12420
Change-Id: I2735cc11f2a558fea397566fc99fdb18f9295e05
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/212960
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33552}
2021-03-24 15:49:31 +00:00
90c3981773 Fix RtpVideoLayersAllocationExtension::Write of invalid allocation
This patch is a follow up to https://webrtc-review.googlesource.com/c/src/+/212743
which broke downstream fuzzer :(

prior to https://webrtc-review.googlesource.com/c/src/+/212743,
RtpVideoLayersAllocationExtension::AllocationIsValid returns
false if rtp_stream_index > max(layer.rtp_stream_index)

After https://webrtc-review.googlesource.com/c/src/+/212743,
0 spatial layers is supported, so the AllocationIsValid is
updated to allow any value if not layers are present.

Bug: webrtc:12000
Change-Id: Ib3e64ecb621f795b9126442c50969f5178c85a37
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/212901
Commit-Queue: Jonas Oreland <jonaso@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33551}
2021-03-24 13:53:13 +00:00
73cf80a932 Fixes incorrect feedback to EncoderBitrateAdjuster [perf note]
At the point where an EncodedImage is reported to the
EncoderBitrateAdjuster (in order to estimate utilization), the image
data has been cleared so the size is 0 - meaning the esimtated
utilization is 0 so pushback is in effect only applied at the
beginning before an estimate is available.

This CL fixes that by explicitly using spatial/temporal id and size in
bytes, rather than passing along the EncodedImage proxy.

It is unclear when this broke, but the regression seems rather old.

This CL will affect the encoded bitrate (and thus indirectly BWE
ramp-up rate), but should avoid exessive delay at low bitrates.
Perf bots will likely trigger alerts, this is expected.

In case there are undesired side-effects, we can entirely disable the
adjuster using existing field-trials.

Bug: webrtc:12606
Change-Id: I936c2045f554696d8b4bb518eee6871ffc12c47d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/212900
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33550}
2021-03-24 12:08:23 +00:00
ef036cdff2 [Stats] Cleanup obsolete stats - isRemote & deleted
Deleting obsolete stats. Spec: https://www.w3.org/TR/webrtc-stats/

1. RTCInbound/OutboundRtpStats.isRemote: No longer useful with remote stream stats
2. RTCIceCandidateStats.deleted: This field was obsoleted because if the ICE candidate is deleted it no longer appears in getStats()

I also marked as many other obsoleted stats possible according to spec. I am not as confident to delete them but feel free to comment to let me know if anything is off / can be deleted.

Bug: webrtc:12583
Change-Id: I688d0076270f85caa86256349753e5f0e0a44931
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/211781
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33549}
2021-03-24 10:49:34 +00:00
56db9ff1e1 VideoStreamEncoder: Don't map kNative video frame buffers.
Follow-up CL to VP8 and VP9 encoders taking care of mapping.
Context again:
  This CL is part of Optimized Scaling efforts. In Chromium, the native
frame buffer is getting an optimized CropAndScale() implementation. To
support HW accelerated scaling, returning pre-scaled images and skipping
unnecessary intermediate downscales, WebRTC needs to 1) use CropAndScale
instead of libyuv::XXXXScale and 2) only map buffers it actually intends
to encode.

In this CL, VideoStreamEncoder no longer calls GetMappedFrameBuffer() on
behalf of the encoders, since the encoders are now able to either do the
mapping or performs ToI420() anyway.

- Tests for old VSE behaviors are updated to test the new behavior (i.e.
  that native frames are pretty much always forwarded).
- The "having to call ToI420() twice" workaround to Android bug
  https://crbug.com/webrtc/12602 is added to H264 and AV1 encoders.

Bug: webrtc:12469
Change-Id: Ibdc2e138d4782a140f433c8330950e61b9829f43
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/211940
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Evan Shrubsole <eshr@google.com>
Cr-Commit-Position: refs/heads/master@{#33548}
2021-03-24 09:43:11 +00:00
5cf8c2c501 Fix unspecified time origin for lastPacketReceivedTimestamp
`RTCInboundRtpStreamStats.lastPacketReceivedTimestamp` must be a time
value in milliseconds with Unix epoch as time origin (see
bugs.webrtc.org/12605#c4).

This change fixes both audio and video `RTCInboundRtpStreamStats` stats.

Tested: verified from chrome://webrtc-internals during an appr.tc call

Bug: webrtc:12605
Change-Id: I68157fcf01a5933f3d4e5d3918b4a9d3fbd64f16
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/212865
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33547}
2021-03-24 09:36:41 +00:00
9054aa8904 Update WebRTC code version (2021-03-24T04:02:05).
TBR=webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com,mbonadei@webrtc.org

Bug: None
Change-Id: Iabedc63b5ae56b3d1ae18e18f0dc33bb4aac8e6b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/212924
Reviewed-by: webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com <webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com <webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#33546}
2021-03-24 05:54:43 +00:00
f7b1b95f11 Add RTCRemoteOutboundRtpStreamStats for audio streams
Changes:
- adding the `RTCRemoteOutboundRtpStreamStats` dictionary (see [1])
- collection of remote outbound stats (only for audio streams)
- adding `remote_id` to the inbound stats and set with the ID of the
  corresponding remote outbound stats only if the latter are available
- unit tests

[1] https://www.w3.org/TR/webrtc-stats/#dom-rtcremoteoutboundrtpstreamstats

Tested: verified from chrome://webrtc-internals during an appr.tc call

Bug: webrtc:12529
Change-Id: Ide91dc04a3c387ba439618a9c6b64a95994a1940
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/211042
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33545}
2021-03-23 18:44:12 +00:00
26abdaf478 AV1: Use Default TX type for encoding
This will further speed up intra frame encoding

Bug: None
Change-Id: I3c836502cdcb1037e3128850a085b92acd8fc7ad
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/212821
Reviewed-by: Marco Paniconi <marpan@webrtc.org>
Commit-Queue: Fyodor Kyslov <kyslov@google.com>
Cr-Commit-Position: refs/heads/master@{#33544}
2021-03-23 17:19:27 +00:00
2f71b61a34 Make sure "remote-inbound-rtp.jitter" and "packetsLost" is exposed to JS
In refactoring CL https://webrtc-review.googlesource.com/c/src/+/210340,
the RTCRemoteInboundRtpStreamStats hierarchy was updated to inherit from
RTCReceivedRtpStreamStats but we forgot to update the
WEBRTC_RTCSTATS_IMPL() macro to say that RTCReceivedRtpStreamStats is
the parent. As a consequence, RTCReceivedRtpStreamStats's members
(jitter and packetsLost) were not included when iterating over all
members of RTCRemoteInboundRtpStreamStats, which means these two merics
stopped being exposed to JavaScript in Chromium.

There is sadly no way to safe-guard against this, but the fix is simple.

TBR=hta@webrtc.org,meetwudi@gmail.com

Bug: webrtc:12532
Change-Id: I0179dad6eaa592ee36cfe48978f2fc22133b8f45
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/212866
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Alessio Bazzica <alessiob@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33543}
2021-03-23 15:27:46 +00:00
ca18809ee5 Move RtpFrameObject and EncodedFrame out of video_coding namespace.
Bug: webrtc:12579
Change-Id: Ib7ecd624eb5c54abb77fe08440a014aa1e963865
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/212860
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33542}
2021-03-23 14:22:47 +00:00
93ee168671 Allow empty video layer allocation extension
This patch adds support for sending zero video layer allocations
header extensions. This can be used to signal that a stream is
turned off.

Bug: webrtc:12000
Change-Id: Id18fbbff2216ca23179c58ef7bbe2ebea5e242af
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/212743
Commit-Queue: Jonas Oreland <jonaso@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33541}
2021-03-23 12:36:59 +00:00
fa4db49532 Make GL errors thrown by checkNoGLES2Error inherit GLException.
The motivation is making it easier to catch exceptions for these
kind of failures only.

Bug: b/182561645
Change-Id: I09527d8665fda0fa24144cb05e9fd24c041549a9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/212608
Commit-Queue: Paulina Hensman <phensman@webrtc.org>
Reviewed-by: Xavier Lepaul‎ <xalep@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33540}
2021-03-23 11:48:19 +00:00
7cbe88767b Change default adaptive ptime min bitrate to 16kbps.
This is to allow FEC to be encoded at the lowest bitrate.

Bug: chromium:1086942
Change-Id: I1d30276a9a2aaa80016250dc786d5d867ba6cd10
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/212501
Commit-Queue: Jakob Ivarsson <jakobi@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Reviewed-by: Minyue Li <minyue@webrtc.org>
Reviewed-by: Philipp Hancke <philipp.hancke@googlemail.com>
Cr-Commit-Position: refs/heads/master@{#33539}
2021-03-23 11:31:49 +00:00
f0adf38d51 Fix timestamps for the remote outbound audio stream stats
The timestamps must correspond to the time elapsed since the Unix epoch
and not since Jan 1 1900 (which is used by the RTCP SRs).

Bug: webrtc:12529,webrtc:12605
Change-Id: I6013cf3d9bf9915b5f5db8661f7b2b84231cca57
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/212606
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33538}
2021-03-23 10:53:59 +00:00
3889de1c4c Support native scaling of VideoFrameBuffers in LibvpxVp8Encoder.
This is a follow-up to the VP9, fixing VP8 this time. Context again:

This CL is part of Optimized Scaling efforts. In Chromium, the native
frame buffer is getting an optimized CropAndScale() implementation. To
support HW accelerated scaling, returning pre-scaled images and skipping
unnecessary intermediate downscales, WebRTC needs to 1) use CropAndScale
instead of libyuv::XXXXScale and 2) only map buffers it actually intends
to encode.
- To achieve this, WebRTC encoders are updated to map kNative video
  buffers so that in a follow-up CL VideoStreamEncoder can stop mapping
  intermediate buffer sizes.

Bug: webrtc:12469, chromium:1157072
Change-Id: I026527ae77e36f66d02e149ad6fe304f6a8ccb05
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/212600
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Evan Shrubsole <eshr@google.com>
Cr-Commit-Position: refs/heads/master@{#33537}
2021-03-23 09:08:58 +00:00
6a6715042a Move RtpFrameReferenceFinder out of video_coding namespace.
Namespace used because of copy-pasting an old pattern, should never have been used in the first place. Removing it now to make followup refactoring prettier.

Bug: webrtc:12579
Change-Id: I00a80958401cfa368769dc0a1d8bbdd76aaa4ef5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/212603
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33536}
2021-03-23 08:48:37 +00:00
2ba32f3423 Delete AsyncInvoker usage in TurnServer
Bug: webrtc:12339
Change-Id: Ibcc5d9d5b5abf0d926290e3164f60dd46c0b460b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/212666
Reviewed-by: Taylor <deadbeef@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33535}
2021-03-23 08:01:00 +00:00
a9ba450339 stats: add address as alias for ip
this was renamed in https://github.com/w3c/webrtc-pc/issues/1913 and https://github.com/w3c/webrtc-stats/pull/381

Spec: https://w3c.github.io/webrtc-stats/#dom-rtcicecandidatestats-address

BUG=chromium:968203

Change-Id: If75849fe1dc87ada6850e7b64aa8569e13baf0d8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/212681
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Philipp Hancke <philipp.hancke@googlemail.com>
Cr-Commit-Position: refs/heads/master@{#33534}
2021-03-23 06:29:10 +00:00
e2ac591c0d Update WebRTC code version (2021-03-23T04:03:37).
TBR=webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com,mbonadei@webrtc.org

Bug: None
Change-Id: I5ce88d419a3f5d7c930185746a2b82fbd0d4ce2d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/212844
Reviewed-by: webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com <webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com <webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#33533}
2021-03-23 06:02:50 +00:00
1cdbabde53 Update WgcCaptureSession to handle portrait oriented screen capture.
WgcCaptureSession would crash when copying the frame data for an image
from a portrait oriented monitor. This is because we were using the
height of the image multiplied by the rowpitch of the buffer to
determine the size of the data to be copied. However, in portrait
mode the height measures the same dimension as the rowpitch, leading
to us overrunning the frame buffer.

The fix is to use the height and width of the image multiplied by
the number of bytes per pixel to determine how much data to copy
out of the buffer, and only use the rowpitch to advance the pointer
in the source data buffer. This has the added benefit of giving us
contiguous data, reducing the size of the DesktopFrame that we output.

Bug: webrtc:12490
Change-Id: I4c26f8864cb57ac566a742af70fea1da504b9706
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/209501
Reviewed-by: Joe Downing <joedow@chromium.org>
Commit-Queue: Austin Orion <auorion@microsoft.com>
Cr-Commit-Position: refs/heads/master@{#33532}
2021-03-22 20:50:50 +00:00
e0059dc4ad Roll chromium_revision b7f0a0c111..c0436807ae (865116:865247)
Change log: b7f0a0c111..c0436807ae
Full diff: b7f0a0c111..c0436807ae

Changed dependencies
* src/base: ce392ef26f..8d5e7ce339
* src/build: 120a8d610c..7ce3b71efa
* src/ios: e4c6cd619a..0f60053c1f
* src/testing: 38ceae6941..5515895a0f
* src/third_party: 0819985359..9dec2334e3
* src/third_party/androidx: qVuvMdiLCD8N4Fl_eGCJnsGXwtgHVnJEdUbokvTqvssC..c1XqVP7XC51iTS4Zs03SWVTsz5AdCYHK01o4IsyEC0MC
* src/third_party/perfetto: 024ea24c78..0c50637320
* src/tools: 53c3bb6e60..4c1d963f3e
DEPS diff: b7f0a0c111..c0436807ae/DEPS

No update to Clang.

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

Change-Id: I8534f0d93d8f81ab0add90faeb62d9b9b67645a5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/212801
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@{#33531}
2021-03-22 18:57:43 +00:00
c366d51836 Fix unit for inbound RTP stat lastPacketReceivedTimestamp (s -> ms)
Both inbound RTP stats `estimatedPlayoutTimestamp` and
`lastPacketReceivedTimestamp` are surfaced to JS land as
`DOMHighResTimeStamp` - i.e., time values in milliseconds.
This CL fixes `lastPacketReceivedTimestamp` which is incorrectly
surfaced as time value in seconds.

Bug: webrtc:12605
Change-Id: I290103071cca3331d2a3066b6b6b9fcb4f4fd0af
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/212742
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33530}
2021-03-22 18:47:33 +00:00
c303f82f4d Add new owners for sdk/android.
Bug: None
Change-Id: Ia47050e178e696b5374513f5ec9a00fff4a1cd34
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/212618
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Carolina Sartorius‎ <sartorius@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33529}
2021-03-22 15:48:52 +00:00
464bcd4502 Revert "Reland "[Battery]: Delay start of TaskQueuePacedSender.""
This reverts commit dd4d5e36c6205457add1fd9df9061ca60d315fe7.

Reason for revert: crashes due to uninitialized pacing_bitrate_
crbug.com/1190547

Original change's description:
> Reland "[Battery]: Delay start of TaskQueuePacedSender."
>
> This is a reland of 89cb65ed663a9000b9f7c90a78039bd85731e9ae
> Reason for revert: failing trybots: https://ci.chromium.org/ui/p/chromium/builders/webrtc.fyi/WebRTC%20Chromium%20FYI%20Win8%20Tester/7757/overview
>
> Original change's description:
> > [Battery]: Delay start of TaskQueuePacedSender.
> >
> > To avoid unnecessary repeating tasks, TaskQueuePacedSender is started
> > only upon RtpTransportControllerSend::EnsureStarted().
> >
> > More specifically, the repeating task happens in
> > TaskQueuePacedSender::MaybeProcessPackets() every 500ms, using a self
> > task_queue_.PostDelayedTask().
> >
> > Bug: chromium:1152887
> > Change-Id: I72c96d2c4b491d5edb45a30b210b3797165cbf48
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/208560
> > Commit-Queue: Etienne Pierre-Doray <etiennep@chromium.org>
> > Reviewed-by: Henrik Boström <hbos@webrtc.org>
> > Reviewed-by: Erik Språng <sprang@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#33421}
>
> Bug: chromium:1152887
> Change-Id: Ia4fae13294472160e2dff40738b6fd245700beeb
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/211920
> Reviewed-by: Erik Språng <sprang@webrtc.org>
> Reviewed-by: Artem Titov <titovartem@webrtc.org>
> Commit-Queue: Etienne Pierre-Doray <etiennep@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#33491}

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

Bug: chromium:1152887, chromium:1190547
Change-Id: I8ce3ba2fee8a38f918e20db953ce1c4b923cdd18
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/212700
Commit-Queue: Etienne Pierre-Doray <etiennep@chromium.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33528}
2021-03-22 14:46:06 +00:00
efad89cb58 Roll chromium_revision 23141e38f1..b7f0a0c111 (864556:865116)
Change log: 23141e38f1..b7f0a0c111
Full diff: 23141e38f1..b7f0a0c111

Changed dependencies
* src/base: cff6aa74fa..ce392ef26f
* src/build: 100ae19f99..120a8d610c
* src/ios: e84bee050b..e4c6cd619a
* src/testing: 55b74c093b..38ceae6941
* src/third_party: e90289cdba..0819985359
* src/third_party/androidx: HrObtBeHuh5R3OZF1qqHNjQl38HI9tJTa3qDEcySZVoC..qVuvMdiLCD8N4Fl_eGCJnsGXwtgHVnJEdUbokvTqvssC
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/c730daef75..999f35f30e
* src/third_party/depot_tools: e7c0581740..392c407b55
* src/third_party/libunwindstack: 11659d420a..aab2c87473
* src/third_party/perfetto: f22dda1544..024ea24c78
* src/tools: 57aabd656c..53c3bb6e60
* src/tools/luci-go: git_revision:ea8dc31395c76b2990112b29b02386628d795d2d..git_revision:e567b4580a0854199f30444e583c17ee65abcc10
* src/tools/luci-go: git_revision:ea8dc31395c76b2990112b29b02386628d795d2d..git_revision:e567b4580a0854199f30444e583c17ee65abcc10
* src/tools/luci-go: git_revision:ea8dc31395c76b2990112b29b02386628d795d2d..git_revision:e567b4580a0854199f30444e583c17ee65abcc10
DEPS diff: 23141e38f1..b7f0a0c111/DEPS

No update to Clang.

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

Change-Id: I58171e1ca03305581f623b8e1d317660d559b0b6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/212636
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@{#33527}
2021-03-22 13:36:40 +00:00
bd9e4a95eb Support native scaling of VideoFrameBuffers in LibvpxVp9Encoder.
This CL is part of Optimized Scaling efforts. In Chromium, the native
frame buffer is getting an optimized CropAndScale() implementation. To
support HW accelerated scaling, returning pre-scaled images and skipping
unnecessary intermediate downscales, WebRTC needs to 1) use CropAndScale
instead of libyuv::XXXXScale and 2) only map buffers it actually intends
to encode.
- To achieve this, WebRTC encoders are updated to map kNative video
  buffers so that in a follow-up CL VideoStreamEncoder can stop mapping
  intermediate buffer sizes.

In this CL LibvpxVp9Encoder is updated to map kNative buffers of pixel
formats it supports and convert ToI420() if the kNative buffer is
something else. A fake native buffer that keeps track of which
resolutions were mapped, MappableNativeBuffer, is added.

Because VP9 is currently an SVC encoder and not a simulcast encoder, it
does not need to invoke CropAndScale.

This CL also fixes MultiplexEncoderAdapter, but because it simply
forwards frames it only cares about the pixel format when
|supports_augmented_data_| is true so this is the only time we map it.
Because this encoder is not used with kNative in practise, we don't care
to make this path optimal.

Bug: webrtc:12469, chromium:1157072
Change-Id: I74edf85b18eccd0d250776bbade7a6444478efce
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/212580
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Evan Shrubsole <eshr@google.com>
Cr-Commit-Position: refs/heads/master@{#33526}
2021-03-22 13:35:35 +00:00
2ff25db72a Update apply-iwyu tool to report compile errors
Note: apply-iwyu on a lone .h file *will* fail due to c++/c confusion.

Bug: none
Change-Id: I3dda0df28cd4ec85ecb895efed1b04c3d70343bb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/212680
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33525}
2021-03-22 13:01:56 +00:00
ffb7603b60 Delete TurnPort usage of AsyncInvoker
Bug: webrtc:12339
Change-Id: I098b5f4b58c3ac0c275157c0c9d5a280b1cbef97
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/212440
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Taylor <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33524}
2021-03-22 12:56:26 +00:00
eb282985e9 Update rsid and mid spec links from draft to release version
No-Try: true
Bug: None
Change-Id: Iae39f6253357870d775cfa4ce918a756ab1fdc4a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/212614
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33523}
2021-03-22 12:24:00 +00:00
47350c2dba Reland "Triggering CI."
This reverts commit 50d79babcd37e0de20d9333f6dee9c789dc841e7.

Reason for revert: Triggering bots.

Original change's description:
> Revert "Triggering CI."
>
> This reverts commit c73257651b221585798dc46ec539f94f332500b6.
>
> Reason for revert: Triggering CI.
>
> Original change's description:
> > Triggering CI.
> >
> > TBR=titovartem@webrtc.org
> >
> > No-Try: True
> > Bug: None
> > Change-Id: I215faab15d178ba5e76daa14e07028eae2ce220e
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/212641
> > Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> > Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#33514}
>
> TBR=mbonadei@webrtc.org,titovartem@webrtc.org
>
> Change-Id: Ia44aaacbad3f6acfee7930b06914114d422eded8
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: None
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/212667
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#33520}

# Not skipping CQ checks because this is a reland.

TBR=titovartem@webrtc.org

No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: None
Change-Id: I029804475912012a17c936a9cec5cd34d6eb1bc8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/212668
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33522}
2021-03-22 11:57:23 +00:00