Change structure of chromium owned dependencies file to JSON to
simplify work with it in different tools. Also add tool to check in
new chromium owned dep with single command like this:
./tools_webrtc/autoroller/checkin_chromium_dep.py -d <dep name>
Introduce separate file with list of webrtc owned dependencies.
Bug: webrtc:8366
Change-Id: I30a828af34cd105ce7e6bc76d6b5889e6bf7574d
Reviewed-on: https://webrtc-review.googlesource.com/76840
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23270}
Adds Android native API for creating VideoTrackSourceInterface objects
that can be fed frames using VideoCapturer.CapturerObserver.
NativeCapturerObserver is moved out of VideoSource because it will now
be used without a VideoSource. It now takes a pointer to
AndroidVideoTrackSource directly instead of VideoTrackSourceProxy.
VideoSource and NativeCapturerObserver JNI code is moved away from
androidvideotracksource.cc to their own files. This allows using
AndroidVideoTrackSource independently.
Bug: webrtc:8769
Change-Id: Ifb9e1eb27d4c8237597d19d932ca6e863abb4d27
Reviewed-on: https://webrtc-review.googlesource.com/76924
Reviewed-by: Paulina Hensman <phensman@webrtc.org>
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23269}
The existing asynchronous task execution in P2PTransportChannel is
implemented by posting messages to its network thread (a rtc::Thread)
and consuming these messages as a MessageHandler. The readability of
the implementation can be improved by using AsyncInvoker, which is
exactly designed for this scenario.
Bug: None
Change-Id: Ibee830d0d2bc19fc1ca5b894f194d9b69c40eef4
Reviewed-on: https://webrtc-review.googlesource.com/74642
Commit-Queue: Qingsi Wang <qingsi@google.com>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23267}
1) Network info is appended with its network ID assigned by the network
manager so that we can cross-reference networks by IDs in the log.
2) The local network info is added to the candidate pair string
representation so that we do not need the cross reference to the
logs of candidate gathering to find out the network where the local
candidate is from.
3) A flag is added to the candidate pair string representation to
indicate if this pair is the selected one.
4) Sorting of candidate pairs is logged with the reason of sorting
request.
5) Network filtering that takes place in the port allocator is
explicitly logged.
Bug: None
Change-Id: Iaa337394cad803515e26e254814aa04ed2213eab
Reviewed-on: https://webrtc-review.googlesource.com/72522
Commit-Queue: Qingsi Wang <qingsi@google.com>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23266}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
- 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}