22497 Commits

Author SHA1 Message Date
Per Åhgren
90e3fbdd37 Activating the AEC3 audibility improvements functionality
This CL turns on the previously implemented AEC3 audibility
improvements, which before has been off by default.

Bug: webrtc:9193,chromium:836790
Change-Id: Ibcd057ba5dd002718d62fd83db33d01d9563b8ea
Reviewed-on: https://webrtc-review.googlesource.com/77123
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Reviewed-by: Jesus de Vicente Pena <devicentepena@webrtc.org>
Commit-Queue: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23265}
2018-05-16 16:47:16 +00:00
Mirko Bonadei
85cb19fec7 Revert "Reland "Adding absl includes and defines to rtc_* templates.""
This reverts commit 9632112a16d70a146e917db4de761e6253dfc364.

Reason for revert: It breaks the WebRTC roll into Chromium.
https://chromium-review.googlesource.com/c/chromium/src/+/1061476

Original change's description:
> Reland "Adding absl includes and defines to rtc_* templates."
> 
> This reverts commit d161eda477491b2b97fb3f26d229c625a2a0e9b8.
> 
> Reason for revert: The problem with iOS trybots should be fixed.
> 
> Original change's description:
> > Revert "Adding absl includes and defines to rtc_* templates."
> >
> > This reverts commit 9d8f3850f4c4faad5dc5ab32ab6f2c9c43df7b6c.
> >
> > Reason for revert: Breaks some trybots: https://build.chromium.org/p/client.webrtc/builders/iOS64%20Release/builds/12793.
> >
> > Original change's description:
> > > Adding absl includes and defines to rtc_* templates.
> > >
> > > This CL implicitly adds the -I compiler flag and absl macros to WebRTC
> > > templates. In order to include absl headers using relative paths, WebRTC
> > > needs to ensure that all its build targets are able to see absl headers.
> > >
> > > This can also be done with public_deps, but WebRTC is trying to avoid
> > > it because it creates problems with other build systems. Given this
> > > constraint, using rtc_* templates is the most reliable solution.
> > >
> > > Please note that rtc_* templates are adding absl includes and defines
> > > as public_configs, this means that build targets with WebRTC targets
> > > in their public_deps will propagate these configs following the GN
> > > guideline.
> > >
> > > Bug: webrtc:8821
> > > Change-Id: I4aa594a524f4bd045bcb3e80d76cc27f06fe01d7
> > > Reviewed-on: https://webrtc-review.googlesource.com/70367
> > > Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
> > > Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> > > Cr-Commit-Position: refs/heads/master@{#22927}
> >
> > TBR=phoglund@webrtc.org,mbonadei@webrtc.org
> >
> > Change-Id: Id8e1f881c57553386566eb1970f6b9f8632cab37
> > No-Presubmit: true
> > No-Tree-Checks: true
> > No-Try: true
> > Bug: webrtc:8821
> > Reviewed-on: https://webrtc-review.googlesource.com/71000
> > Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> > Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#22928}
> 
> TBR=phoglund@webrtc.org,mbonadei@webrtc.org
> 
> Bug: webrtc:8821
> Change-Id: I6ee2eda97bbcd4c9be25c9c4073272192b0373f8
> Reviewed-on: https://webrtc-review.googlesource.com/71700
> Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#23251}

TBR=phoglund@webrtc.org,mbonadei@webrtc.org

Change-Id: I61fb749797314ca514691b341c66f7f39ef45491
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:8821
Reviewed-on: https://webrtc-review.googlesource.com/77220
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23264}
2018-05-16 16:46:12 +00:00
braveyao
89653d5db4 [desktopCapture] Unify the position info in DIP coordinates on Mac.
On OSX, the logical(DIP) and physical coordinates are used mixingly.
For example, the captured image has its size in physical pixels(2x) and
location in logical(DIP) pixels. Same to the cursor position. This
causes trouble when we check the relative position of image and cursor
when there are multiple monitors with different DIP setting connected.

This cl proposed a solution to use DIP pixel for any location info,
i.e. top-left of a frame and cursor position. Also propose a method to
get the current scale factor of a window across multiple monitors. And
save the current scale factor in DPI of the capture frame.
Then we can check relative position of cursor and frame correctly
in DIP pixel and compose them in physical pixel.

Bug: webrtc:9178
Change-Id: I3c076aeac2d6f2c1f63d000d7fff03500aa375ac
Reviewed-on: https://webrtc-review.googlesource.com/71621
Reviewed-by: Jamie Walch <jamiewalch@chromium.org>
Reviewed-by: Zijie He <zijiehe@chromium.org>
Commit-Queue: Brave Yao <braveyao@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23263}
2018-05-16 16:44:01 +00:00
Sebastian Jansson
a8bf169906 Adds BandwidthSampler for BBR.
This prepares for making the BBR implementation more identical to the
implementation in Quic, this is to ensure that results are comparable.

Bug: webrtc:8415
Change-Id: Ic2dc4394dc9923e5109ffa5f146c23b527f0c395
Reviewed-on: https://webrtc-review.googlesource.com/76582
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23262}
2018-05-16 16:11:21 +00:00
Mirko Bonadei
e7659df12f Suppressing /wd4702.
Bug: webrtc:9274
Change-Id: I420a96202d9de323341ef7831bbf90f986958003
Reviewed-on: https://webrtc-review.googlesource.com/77040
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23261}
2018-05-16 10:59:13 +00:00
Mirko Bonadei
fe826f33f3 Removing warning suppression flags from media/BUILD.gn.
Bug: webrtc:9251
Change-Id: I52e1d06311fd973956ca410540ad99f5fb792cda
Reviewed-on: https://webrtc-review.googlesource.com/77041
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23260}
2018-05-16 10:07:32 +00:00
Mirko Bonadei
81ae9c850e Removing clang-cl warning suppression flags in rtc_base.
Bug: webrtc:9251
Change-Id: I06112d1d683a65b1555b5201deb236928dd8d196
Reviewed-on: https://webrtc-review.googlesource.com/77002
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23259}
2018-05-16 10:00:22 +00:00
Autoroller
74642bafef Roll chromium_revision 06a3103dba..c92ed25217 (558901:559015)
Change log: 06a3103dba..c92ed25217
Full diff: 06a3103dba..c92ed25217

Roll chromium third_party 07a7c038b7..51c08cf9af
Change log: 07a7c038b7..51c08cf9af

Changed dependencies:
* src/base: da654fb628..a7a2409f9b
* src/build: c9de5e4fe8..03f39fd800
* src/ios: 83ea3fdb9e..e070a93062
* src/testing: 0922117f9b..f5b31b58c6
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/a8692f3255..d8600ccc2d
* src/third_party/depot_tools: cbf0204555..8de3800ce5
* src/third_party/libvpx/source/libvpx: 28801f91c4..d99abe9a9a
* src/tools: 279b289fcd..e024720629
DEPS diff: 06a3103dba..c92ed25217/DEPS

Clang version changed 331747:332335
Details: 06a3103dba..c92ed25217/tools/clang/scripts/update.py

TBR=buildbot@webrtc.org,marpan@webrtc.org,
BUG=None
CQ_INCLUDE_TRYBOTS=master.internal.tryserver.corp.webrtc:linux_internal

Change-Id: I25b07871a270ab58ff1111a9061cdcc84e5b8891
Reviewed-on: https://webrtc-review.googlesource.com/77060
Reviewed-by: WebRTC Buildbot <buildbot@webrtc.org>
Commit-Queue: WebRTC Buildbot <buildbot@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23258}
2018-05-16 09:16:22 +00:00
Rasmus Brandt
8dd4db49e2 Create/destroying codecs on task queue + switch to TaskQueueForTest.
After https://webrtc-review.googlesource.com/c/src/+/70740, we are
creating/destroying the codecs on a task queue in the VideoStreamEncoder. This
CL updates the VideoCodecTest to do the same.

Also, this CL switches from manually Wait()'ing on the task queue to using
TaskQueueForTest::SendTask.

Bug: None
Change-Id: Ia0398b24e32e9cc5361ba5ee4c08441116def18e
Reviewed-on: https://webrtc-review.googlesource.com/76800
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23257}
2018-05-16 08:15:23 +00:00
Niels Möller
59130a11b8 Delete deprecated version of VideoCodecInitializer::SetupCodec.
A followup to https://webrtc-review.googlesource.com/71380 and
https://webrtc-review.googlesource.com/69986, deleting the
nack_enabled flag.

Bug: webrtc:8830
Change-Id: Ie53f7a1e131be5347936ed44cee7167295026d57
Reviewed-on: https://webrtc-review.googlesource.com/76760
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23256}
2018-05-16 08:03:24 +00:00
Niels Möller
e9c2088e40 Delete unused header file unittest_utils.h.
Became unused with cl https://webrtc-review.googlesource.com/40740,
and last spurious reference dropped in cl
https://webrtc-review.googlesource.com/43360.

Bug: None
Change-Id: Ib5f27a437c1ae8f7cc2df84d6d9eda8c297481d6
Reviewed-on: https://webrtc-review.googlesource.com/76981
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23255}
2018-05-16 07:26:42 +00:00
Autoroller
5f12f09492 Roll chromium_revision 5e8d8448f9..06a3103dba (558688:558901)
Change log: 5e8d8448f9..06a3103dba
Full diff: 5e8d8448f9..06a3103dba

Roll chromium third_party 156f0a4ab7..07a7c038b7
Change log: 156f0a4ab7..07a7c038b7

Changed dependencies:
* src/base: fa869fa59b..da654fb628
* src/build: f7d99e7a2f..c9de5e4fe8
* src/ios: dab8567b66..83ea3fdb9e
* src/testing: bfb20b1a58..0922117f9b
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/075ca3000a..a8692f3255
* src/third_party/depot_tools: babd098f36..cbf0204555
* src/tools: c708703ecd..279b289fcd
DEPS diff: 5e8d8448f9..06a3103dba/DEPS

No update to Clang.

TBR=buildbot@webrtc.org,
BUG=None
CQ_INCLUDE_TRYBOTS=master.internal.tryserver.corp.webrtc:linux_internal

Change-Id: I74371c63ffa8af43bd2cc8b47192a79362890cf1
Reviewed-on: https://webrtc-review.googlesource.com/77023
Reviewed-by: WebRTC Buildbot <buildbot@webrtc.org>
Commit-Queue: WebRTC Buildbot <buildbot@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23254}
2018-05-16 01:58:02 +00:00
Alex Glaznev
4f81038a52 Revert "Injectable logging"
This reverts commit 59216ec4a4151b1ba5478c8f2b5c9f01f4683d7f.

Reason for revert:  forces all logs to have identical tag

Original change's description:
> Injectable logging
> 
> Allows passing a Loggable to PCFactory.initializationOptions, which
> is then injected to Logging.java and logging.h. Future log messages
> in both Java and native will then be passed to this Loggable.
> 
> Bug: webrtc:9225
> Change-Id: I2ff693380639448301a78a93dc11d3a0106f0967
> Reviewed-on: https://webrtc-review.googlesource.com/73243
> Commit-Queue: Paulina Hensman <phensman@webrtc.org>
> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#23241}

TBR=magjed@webrtc.org,sakal@webrtc.org,kwiberg@webrtc.org,phensman@webrtc.org

Change-Id: I27c9587238325b69b26166434740869021b7db8a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:9225
Reviewed-on: https://webrtc-review.googlesource.com/76885
Reviewed-by: Alex Glaznev <glaznev@webrtc.org>
Commit-Queue: Alex Glaznev <glaznev@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23253}
2018-05-15 22:33:53 +00:00
Mirko Bonadei
d7624f2d90 Removing clang-cl warning suppression flags in video_capture.
After landing https://webrtc-review.googlesource.com/76720 and
https://webrtc-review.googlesource.com/76722 it is possible to remove
clang-cl only warning suppression flags.

These were needed because winsdk_samples was included using include_dirs
(-I) instead of -imsvc (which is similar to -isystem in GCC and clang).

Bug: webrtc:9251
Change-Id: I2bc19f0ba552342c49a29c07e4fb84d439003dfb
Reviewed-on: https://webrtc-review.googlesource.com/76781
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23252}
2018-05-15 17:33:32 +00:00
Mirko Bonadei
9632112a16 Reland "Adding absl includes and defines to rtc_* templates."
This reverts commit d161eda477491b2b97fb3f26d229c625a2a0e9b8.

Reason for revert: The problem with iOS trybots should be fixed.

Original change's description:
> Revert "Adding absl includes and defines to rtc_* templates."
>
> This reverts commit 9d8f3850f4c4faad5dc5ab32ab6f2c9c43df7b6c.
>
> Reason for revert: Breaks some trybots: https://build.chromium.org/p/client.webrtc/builders/iOS64%20Release/builds/12793.
>
> Original change's description:
> > Adding absl includes and defines to rtc_* templates.
> >
> > This CL implicitly adds the -I compiler flag and absl macros to WebRTC
> > templates. In order to include absl headers using relative paths, WebRTC
> > needs to ensure that all its build targets are able to see absl headers.
> >
> > This can also be done with public_deps, but WebRTC is trying to avoid
> > it because it creates problems with other build systems. Given this
> > constraint, using rtc_* templates is the most reliable solution.
> >
> > Please note that rtc_* templates are adding absl includes and defines
> > as public_configs, this means that build targets with WebRTC targets
> > in their public_deps will propagate these configs following the GN
> > guideline.
> >
> > Bug: webrtc:8821
> > Change-Id: I4aa594a524f4bd045bcb3e80d76cc27f06fe01d7
> > Reviewed-on: https://webrtc-review.googlesource.com/70367
> > Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
> > Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#22927}
>
> TBR=phoglund@webrtc.org,mbonadei@webrtc.org
>
> Change-Id: Id8e1f881c57553386566eb1970f6b9f8632cab37
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: webrtc:8821
> Reviewed-on: https://webrtc-review.googlesource.com/71000
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#22928}

TBR=phoglund@webrtc.org,mbonadei@webrtc.org

Bug: webrtc:8821
Change-Id: I6ee2eda97bbcd4c9be25c9c4073272192b0373f8
Reviewed-on: https://webrtc-review.googlesource.com/71700
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23251}
2018-05-15 17:30:33 +00:00
Florent Castelli
b7d9d8346f Implement RtpCodecParameters::parameters
This will return all the fmtp parameters for the codecs, except for
DTMF codes that don't fit the key=value pattern.

Bug: webrtc:7112
Change-Id: I06a203ff64df2c3bc9bc2082cd0f374718b23510
Reviewed-on: https://webrtc-review.googlesource.com/71801
Commit-Queue: Florent Castelli <orphis@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23250}
2018-05-15 17:12:02 +00:00
Mirko Bonadei
d2882187b1 Roll chromium_revision ddace756be..5e8d8448f9 (558641:558688)
Change log: ddace756be..5e8d8448f9
Full diff: ddace756be..5e8d8448f9

Roll chromium third_party 15aad43d8b..156f0a4ab7
Change log: 15aad43d8b..156f0a4ab7

Changed dependencies:
* src/ios: cac093c4fd..dab8567b66
* src/tools: 083aa0e99c..c708703ecd
DEPS diff: ddace756be..5e8d8448f9/DEPS

No update to Clang.

BUG=None
CQ_INCLUDE_TRYBOTS=master.internal.tryserver.corp.webrtc:linux_internal
TBR=mbonadei@chromium.org

Change-Id: I36d8f42751339b49e437f718a6709854e674dfdf
Reviewed-on: https://webrtc-review.googlesource.com/76923
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23249}
2018-05-15 16:53:22 +00:00
Alessio Bazzica
2f1e6d4920 AGC2 RNN VAD: Polishing.
- Code clean: exploiting the recently added ArrayView ctor for
  std::array
- Pitch search internal unit test: long const arrays moved to
  a resource file
- Minor changes

Bug: webrtc:9076
Change-Id: Iaf30753f2498b4568860d72e0b81f5351235692f
TBR: aleloi@webrtc.org
Reviewed-on: https://webrtc-review.googlesource.com/76920
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Reviewed-by: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23248}
2018-05-15 16:41:02 +00:00
Florent Castelli
cebf50ff75 Reland "Implement RtpParameters.transaction_id for PC RtpSenderInterface"
This is a reland of 5faf36ef3c582350fba5ef97a3549e440d81a283
The issue in Chrome has been fixed and this should be safe to reland.

TBR=deadbeef

Original change's description:
> Implement RtpParameters.transaction_id for PC RtpSenderInterface
>
> The transaction_id field should be refreshed for every getParameters()
> call and checked at each setParameters() call.
> This also checks that getParameters() was ever called to return a proper
> error code.
>
> Bug: webrtc:7580
> Change-Id: I6c6fe289542e486fc422cdc61577982b0529d4c1
> Reviewed-on: https://webrtc-review.googlesource.com/70820
> Commit-Queue: Florent Castelli <orphis@webrtc.org>
> Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
> Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
> Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
> Reviewed-by: Steve Anton <steveanton@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#23120}

Bug: webrtc:7580
Change-Id: Iabd41fb21afdf452c039d5513824ae334f8d1d3f
Reviewed-on: https://webrtc-review.googlesource.com/76980
Commit-Queue: Florent Castelli <orphis@webrtc.org>
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23247}
2018-05-15 15:51:02 +00:00
Erik Språng
ef75ebef55 Directly include VideoBitrateAllocation in call/ targets
Bug: webrtc:9271
Change-Id: Ie3f8d306bd7dac840c238acd26e36c0431b0f8c3
Reviewed-on: https://webrtc-review.googlesource.com/76941
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23246}
2018-05-15 15:35:02 +00:00
Erik Språng
ec47565f3c Directly include VideoBitrateAllocation in api targets
Bug: webrtc:9271
Change-Id: I5389f5ba0c29ba8bc5391544152e6b06da77f91c
Reviewed-on: https://webrtc-review.googlesource.com/76940
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23245}
2018-05-15 15:00:42 +00:00
Alex Loiko
1aec594018 Merge :audio_processing and :aec_dump_interface.
Merges the two targets in modules/audio_processing
and removes some redundant code. This enables not writing
a bunch of redundant code in
https://webrtc-review.googlesource.com/c/src/+/70502

':audio_processing' did depend on ':aec_dump_interface'.
'modules/audio_processing/aec_dump' did depend on
'aec_dump_interface' but not ':audio_processing'.

Having the AecDump implementation not depending on
'audio_processing' allows to have faster compilation time and
reduces the dependencies. However, maintaining such a decoupling
makes APM and AecDump client code more complex.

NOTRY=true # want this in and 'ios_api_framework' seems stuck.

Bug: webrtc:7404
Change-Id: I75a5f234591014ac42d52bc1a36526072f5be89c
Reviewed-on: https://webrtc-review.googlesource.com/76603
Commit-Queue: Alex Loiko <aleloi@webrtc.org>
Reviewed-by: Alessio Bazzica <alessiob@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23244}
2018-05-15 14:22:52 +00:00
Alessio Bazzica
28a325b523 ArrayView, adding ctor for fixed-size views of const(expr) std::array.
This CL allows to reduce the code required to create fixed-size ArrayView
objects for const(expr) std::array instances. Instead of passing .data() and
size(), it is now sufficient to pass the const(expr) std::array instance.
When instancing an array view with variable size, a different ctor is called.

Bug: webrtc:9076
Change-Id: Ie1182fdc33c6b5657f510b6723552813d5933e3e
Reviewed-on: https://webrtc-review.googlesource.com/76820
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23243}
2018-05-15 13:49:02 +00:00
Sam Zackrisson
ae93f0412a Make an energy computation not overflow in iLBC PLC
The current implementation carefully shifts down the energy so as not to overflow.
The fuzzer audio_decoder_ilbc_fuzzer found an integer overflow anyway.
The energy is only used for a threshold check.

This fix stops the energy computation when the threshold is reached, before it can overflow.

Bug: chromium:837922
Change-Id: I45e84d2d271a37e6476b08433a2cbd5a8f6e6f26
Reviewed-on: https://webrtc-review.googlesource.com/76122
Commit-Queue: Sam Zackrisson <saza@webrtc.org>
Reviewed-by: Minyue Li <minyue@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23242}
2018-05-15 13:01:42 +00:00
Paulina Hensman
59216ec4a4 Injectable logging
Allows passing a Loggable to PCFactory.initializationOptions, which
is then injected to Logging.java and logging.h. Future log messages
in both Java and native will then be passed to this Loggable.

Bug: webrtc:9225
Change-Id: I2ff693380639448301a78a93dc11d3a0106f0967
Reviewed-on: https://webrtc-review.googlesource.com/73243
Commit-Queue: Paulina Hensman <phensman@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23241}
2018-05-15 12:36:01 +00:00
Rasmus Brandt
8694f29b30 Rename VideoProcessorIntegrationTest -> VideoCodecTest.
This CL simply renames the test cases that were not renamed in
prior CLs.

Bug: None
Change-Id: If616eb823e1453bc92ba037722b77a219d54409c
Reviewed-on: https://webrtc-review.googlesource.com/76780
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23240}
2018-05-15 11:28:21 +00:00
Jonas Olsson
866d6dcdba Remove the remaining non-test stringstreams from api/
Bug: webrtc:8982
Change-Id: Ie54ed24a609398228a69bdd92728ebf679cf3fe3
Reviewed-on: https://webrtc-review.googlesource.com/76561
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Jonas Olsson <jonasolsson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23239}
2018-05-15 11:03:01 +00:00
Peter Hanspers
8d95e3b211 Moving iOS Audio Device to sdk.
This change forks the existing iOS audio device module and audio device
from modules/audio_device/ into sdk/objc/Framework. It also updates
RTCPeerConnectionFactory to use the forked implementation.

The unit tests are re-implemented as XCTests.

(was: https://webrtc-review.googlesource.com/c/src/+/67300)

Bug: webrtc:9120
Change-Id: I46c09900246f75ca5285aeb38f7b8b295784ffac
Reviewed-on: https://webrtc-review.googlesource.com/76741
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Reviewed-by: Anders Carlsson <andersc@webrtc.org>
Commit-Queue: Peter Hanspers <peterhanspers@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23238}
2018-05-15 10:33:01 +00:00
Mirko Bonadei
ef00310a4a Roll chromium_revision a7f5d9dfea..ddace756be (558593:558641)
Change log: a7f5d9dfea..ddace756be
Full diff: a7f5d9dfea..ddace756be

Roll chromium third_party 31b8b36840..15aad43d8b
Change log: 31b8b36840..15aad43d8b

Changed dependencies:
* src/testing: 32c183fef6..bfb20b1a58
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/dd13313c34..075ca3000a
* src/third_party/winsdk_samples: f7874f6eb6..a59391ef79
DEPS diff: a7f5d9dfea..ddace756be/DEPS

No update to Clang.

BUG=None
CQ_INCLUDE_TRYBOTS=master.internal.tryserver.corp.webrtc:linux_internal

Change-Id: Ieb42f03cbfc87ca74570f6b0a11c267c8b82a097
Reviewed-on: https://webrtc-review.googlesource.com/76782
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23237}
2018-05-15 10:25:41 +00:00
Alex Loiko
73ec01977b Add RuntimeSettings to CustomProcessing.
CustomProcessing is the interface to injectable audio processing
submodules to AudioProcessing. This CL makes it possible to set
runtime settings on the injected render processing component.

Note that the current runtime setting handling happens on the capture
thread. Therefore, we add another SwapQueue to communicate with the
render thread.

Bug: webrtc:9138, webrtc:9262
Change-Id: I665ce2d83a2b35ca8b25cca813d2cef7bd0ba911
Reviewed-on: https://webrtc-review.googlesource.com/76123
Commit-Queue: Alex Loiko <aleloi@webrtc.org>
Reviewed-by: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23236}
2018-05-15 10:03:25 +00:00
Alessio Bazzica
beb1d34729 AGC2 RNN VAD: Feature extraction.
This CL finalizes the feature extraction part for the RNN VAD adding
a class that combines a high-pass filter, LP residual computation,
pitch estimation and spectral features extraction.

This CL also includes a minor refactoring of the pitch estimation
library.

Bug: webrtc:9076
Change-Id: I918b9e143bc6dd2bf508a891446067258a68a777
Reviewed-on: https://webrtc-review.googlesource.com/75504
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Reviewed-by: Alex Loiko <aleloi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23235}
2018-05-15 10:02:20 +00:00
Erik Språng
bfe3d854cd Add field trial to override default number of temporal layers
Bug: webrtc:9260
Change-Id: I8765410f4afda61a0381cf35ec48be877197d790
Reviewed-on: https://webrtc-review.googlesource.com/75320
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23234}
2018-05-15 09:42:00 +00:00
Sergey Silkin
5702736f7e Control inter-layer prediction mode in test apps.
Vp9 encoder supports several inter-layer prediction modes. This adds
possibility to control and test them in video/ss/sv loopback.

Filtering of sent packets has been modified. In addition to high
spatial and temporal layers it now filters out packets of low spatial
layers where non_ref_for_inter_layer_pred bit is set to true.

Bug: none
Change-Id: I17b1ee8f1ac1d70a6914eb86d153790ef2da9679
Reviewed-on: https://webrtc-review.googlesource.com/76540
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23233}
2018-05-15 08:14:10 +00:00
Artem Titov
d675e63684 Add syzygy to .gitignore, because it will be downloaded by gclient on win
Bug: webrtc:8366
Change-Id: I47ae0a9e9aa6463b95fc32ea41d1646ad07efaee
Reviewed-on: https://webrtc-review.googlesource.com/76620
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23232}
2018-05-15 08:02:10 +00:00
Rasmus Brandt
a7e4844298 Move H.264 codec test activation directly behind build flag.
Bug: None
Change-Id: I5dd366aba16b440a8e99826e116db0d6b68bf844
Reviewed-on: https://webrtc-review.googlesource.com/76621
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23231}
2018-05-15 08:00:00 +00:00
Magnus Jedvert
8a483be137 Android JNI: Disallow automatic conversion from long to jint
Start using JniIntWrapper from Chromium instead of bypassing
it in jni_generator_helper.h.

Bug: webrtc:8278
Change-Id: I20313e1e610b05f79c210e823ab50cfb2073674e
Reviewed-on: https://webrtc-review.googlesource.com/74841
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23230}
2018-05-15 07:43:05 +00:00
Niels Möller
fdf1f88f62 Add dummy default implementations for deprecated methods.
To aid deletion of deprecated methods in external child classes
of PeerConnectionFactoryInterface.

Bug: webrtc:9239
Change-Id: Idbc1c31285bceeb172a0b5bdb2b106f0c449dcb9
Reviewed-on: https://webrtc-review.googlesource.com/76623
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23229}
2018-05-15 07:42:01 +00:00
Sebastian Jansson
e6c0964572 Ensures that arrival is past send time in SimulatedNetwork.
Bug: webrtc:8415
Change-Id: I2797c7dfb3e7b9622a12c2d1e35462e0c686fa8e
Reviewed-on: https://webrtc-review.googlesource.com/76101
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23228}
2018-05-15 07:18:00 +00:00
Sebastian Jansson
30bbbe8e79 Adds PacketNumberIndexedQueue for BBR.
This prepares for making the BBR implementation more identical to the
implementation in Quic, to ensure that results are comparable.

Bug: webrtc:8415
Change-Id: Icc66b748e52efb80b5c3ade85f83de6b224a4bd2
Reviewed-on: https://webrtc-review.googlesource.com/76581
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23227}
2018-05-15 07:09:50 +00:00
Sergey Silkin
dfe8ca0d43 Layering and rate allocation for VP9 screen sharing.
- Two quality layers (same resolution, different bitrate).
- Max bitrate of low layer is limited to 200kbps. The choice of the
limit is driven by VP8 screen sharing which limits max bitrate of low
temporal layer to 200kbps. Using the same value for VP9 guarantees
that there will be no regressions for participants with limited
bandwidth.
- Max bitrate of high layer is limited to 500kbps. According to test
results this value is enough to get up to +5dB higher PSNR than VP8
SS provides on 1.2Mbps (max total bitrate for VP8 SS) link.
- Max total sent bitrate is limited to 700kbps. It is 500kbps lower
than that in VP8 SS (1200kbps).

Bug: webrtc:9261
Change-Id: I7919cc3933064664567c39e380a44cad0c65f1e8
Reviewed-on: https://webrtc-review.googlesource.com/76380
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23226}
2018-05-15 07:06:10 +00:00
Patrik Höglund
0019ff76ba Add third_party/absl.
Bug: webrtc:8821
Change-Id: I9d6479fd1a7c8c651ce32666301ddcd2ab3924fb
Reviewed-on: https://webrtc-review.googlesource.com/76601
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23225}
2018-05-15 07:01:20 +00:00
Sergey Silkin
7dcca4b9ed Limit inter-layer prediction to key pictures.
This unconditionally limits usage of VP9 SVC inter-layer prediction to
frames of key picture.

Ideally we would like to let an application to configure SVC options.
But currently there is no API for this.

Bug: none
Change-Id: I21a84dafc946be122514d5b6bf327b65251f1115
Reviewed-on: https://webrtc-review.googlesource.com/76640
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23224}
2018-05-15 06:16:00 +00:00
Autoroller
1d4526039c Roll chromium_revision 3dc058abd9..a7f5d9dfea (558478:558593)
Change log: 3dc058abd9..a7f5d9dfea
Full diff: 3dc058abd9..a7f5d9dfea

Roll chromium third_party 257f2e30a3..31b8b36840
Change log: 257f2e30a3..31b8b36840

Changed dependencies:
* src/base: 2711aa7a26..fa869fa59b
* src/build: c5b7918c1b..f7d99e7a2f
* src/ios: 0cfd7f5c39..cac093c4fd
* src/testing: 6084f9bd41..32c183fef6
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/a67f1510e7..dd13313c34
* src/tools: 1975b1c78c..083aa0e99c
DEPS diff: 3dc058abd9..a7f5d9dfea/DEPS

No update to Clang.

TBR=buildbot@webrtc.org,
BUG=None
CQ_INCLUDE_TRYBOTS=master.internal.tryserver.corp.webrtc:linux_internal

Change-Id: I8096b5d75b2c029af1f0b4480d0add41da40ff0c
Reviewed-on: https://webrtc-review.googlesource.com/76684
Reviewed-by: WebRTC Buildbot <buildbot@webrtc.org>
Commit-Queue: WebRTC Buildbot <buildbot@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23223}
2018-05-15 03:15:19 +00:00
Autoroller
d23c6590dd Roll chromium_revision f7f609d28c..3dc058abd9 (558320:558478)
Change log: f7f609d28c..3dc058abd9
Full diff: f7f609d28c..3dc058abd9

Roll chromium third_party 70ec6906a5..257f2e30a3
Change log: 70ec6906a5..257f2e30a3

Changed dependencies:
* src/base: deb9ad0180..2711aa7a26
* src/build: 27de0fa05e..c5b7918c1b
* src/ios: f1ab343a06..0cfd7f5c39
* src/testing: 81ba8e08f4..6084f9bd41
* src/third_party/boringssl/src: https://boringssl.googlesource.com/boringssl.git/+log/8e75ae4880..69271b5d4f
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/195c52dc70..a67f1510e7
* src/third_party/depot_tools: d1de725e0b..babd098f36
* src/third_party/freetype/src: 2157d8fa6f..9e345c9117
* src/tools: 9d42b89d62..1975b1c78c
DEPS diff: f7f609d28c..3dc058abd9/DEPS

No update to Clang.

TBR=buildbot@webrtc.org,
BUG=None
CQ_INCLUDE_TRYBOTS=master.internal.tryserver.corp.webrtc:linux_internal

Change-Id: I26b88ce0de10327c11ad416ab0dbd192b6993970
Reviewed-on: https://webrtc-review.googlesource.com/76511
Commit-Queue: WebRTC Buildbot <buildbot@webrtc.org>
Reviewed-by: WebRTC Buildbot <buildbot@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23222}
2018-05-14 22:39:49 +00:00
henrika
52cab50c22 Fixes thread-safety-analysis warnings for Windows ADM.
Now using attribute to ensure that we avoid error like these when bulding with -Wthread-safety-analysis:
error: mutex '_critSect' is still held at the end of function [-Werror,-Wthread-safety-analysis]

RTC_NO_THREAD_SAFETY_ANALYSIS is an attribute on functions or methods, which turns off thread safety
checking for that method. It provides an escape hatch for functions which are either
(1) deliberately thread-unsafe, or
(2) are thread-safe, but too complicated for the analysis to understand.

Bug: webrtc:9202
Change-Id: Ie332bca7eb7eb535ed965de5ddc42872c4f30602
Reviewed-on: https://webrtc-review.googlesource.com/76562
Reviewed-by: Oskar Sundbom <ossu@webrtc.org>
Commit-Queue: Henrik Andreassson <henrika@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23221}
2018-05-14 16:56:29 +00:00
Alessio Bazzica
858c4d70cd ArrayView, adding ctor for fixed-size views of std::array.
This CL allows to reduce the code required to create fixed-size ArrayView
objects for std::array instances. Instead of passing .data() and .size(),
it is now sufficient to pass the std::array instance. When instancing an
array view with variable size, a different ctor is called.

Bug: webrtc:9076
Change-Id: I4fe133b27cd12827ed0206d40184279fc3a196f5
Reviewed-on: https://webrtc-review.googlesource.com/76160
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23220}
2018-05-14 16:22:09 +00:00
Autoroller
6e0c145538 Roll chromium_revision 191d55580e..f7f609d28c (557824:558320)
Change log: 191d55580e..f7f609d28c
Full diff: 191d55580e..f7f609d28c

Roll chromium third_party 3a8f2a9e1e..70ec6906a5
Change log: 3a8f2a9e1e..70ec6906a5

Changed dependencies:
* src/base: 6cb1af46fc..deb9ad0180
* src/build: c9bb242447..27de0fa05e
* src/buildtools: 0b71401b97..a9e946f166
* src/ios: 41a7632e36..f1ab343a06
* src/testing: 519bd6bd88..81ba8e08f4
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/a75468d15a..195c52dc70
* src/third_party/depot_tools: e7273d2501..d1de725e0b
* src/third_party/winsdk_samples: 601401003b..f7874f6eb6
* src/tools: f524a53b81..9d42b89d62
DEPS diff: 191d55580e..f7f609d28c/DEPS

No update to Clang.

TBR=buildbot@webrtc.org,
BUG=None
CQ_INCLUDE_TRYBOTS=master.internal.tryserver.corp.webrtc:linux_internal

Change-Id: Ib5977d73d64db73b31e8add9410c4fabced7f9b3
Reviewed-on: https://webrtc-review.googlesource.com/76504
Reviewed-by: WebRTC Buildbot <buildbot@webrtc.org>
Commit-Queue: WebRTC Buildbot <buildbot@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23219}
2018-05-14 16:14:09 +00:00
“Michael
b54500ec32 VP9 SVC minimum bit rate thresholds too low for 720p
Changed minimum bit rate threshold formula to raise the minimum bit rate
at which 720p video is presented in VP9 SVC to ensure that the video
quality for VP9 SVC is the same or better than VP8 SIM.  The minimum bit
rate threshold values for lower resolutions remain largely unchanged.
Also changed maximum bit rate threshold formula to lower the maximum
bit rate for low resolutions (e.g., 180p) in order to ensure higher
frame rates when downlink bit rates are very low (e.g., < 100 kbps).

Bug: webrtc:9242
Change-Id: I8f9c76c9188b98f3fd40a608551b576b0c3b8f34
Reviewed-on: https://webrtc-review.googlesource.com/75244
Commit-Queue: Michael Horowitz <mhoro@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23218}
2018-05-14 15:48:29 +00:00
Patrik Höglund
3fe981adbf Update documentation for THIRD_PARTY_DEPS; add pymock.
This should fix our python presubmit tests.

Also make Artem and Patrik own the deps file.

Bug: webrtc:9264
Change-Id: I430c56e0b12c4feac7d7cbf766eea9e304cd9a20
Reviewed-on: https://webrtc-review.googlesource.com/76421
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23217}
2018-05-14 15:13:29 +00:00
Anders Carlsson
b330688ef7 Fix build errors when rtc_use_builtin_sw_codecs is set to false.
The previous effort of building WebRTC without SW codecs stopped when
libjingle_peerconnection was possible to build. In order to make the
group("default") target build, this basically updates a bunch of
tests to explicitly depend on the built-in software video codecs.

Bug: webrtc:7925
Change-Id: I2715414770c197fca01cb8dbde173a21f4434500
Reviewed-on: https://webrtc-review.googlesource.com/70503
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Commit-Queue: Anders Carlsson <andersc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23216}
2018-05-14 13:24:29 +00:00