Need someone from video team devs to be in the list. Working on projects
related to Android media codecs for couple of years and have enough
experience to review the changes. A concrete short-term motivation is
the need to land https://webrtc-review.googlesource.com/c/src/+/226867
Bug: none
Change-Id: I1d0a672f6b497bbe1e2d446386284d568f84664a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/226951
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34556}
Acts as a compile time annotation, with corresponding run-time check
only when DCHECKs are enabled, and built using absl or pthreads mutexes.
Bug: None
Change-Id: Ie044c1ea1e576df71d634301f7df9d75cdf10b1b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/226328
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34555}
Uppercase constants are more likely to conflict with macros (for
example rtc::SRTP_AES128_CM_SHA1_80 and OpenSSL SRTP_AES128_CM_SHA1_80).
This CL renames some constants and follows the C++ style guide.
Bug: webrtc:12997
Change-Id: I2398232568b352f88afed571a9b698040bb81c30
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/226564
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34553}
-Winconsistent-missing-override is part of -Wall so there is no need
to explicitly set it.
-Wthread-safety and -Wimplicit-fallthrough are set by default by
Chromium's toolchain and there is no need to duplicated it in WebRTC
GN files:
gn desc out/Debug/ //rtc_base cflags | grep "Wthread-safety"
-Wthread-safety
-Wthread-safety
gn desc out/Debug/ //rtc_base cflags | grep "implicit"
-Wimplicit-fallthrough
-Wimplicit-fallthrough
Bug: None
Change-Id: Ie5104f7c6d508c7b45788420bf111a17b8b10939
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/226868
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#34549}
WebRTC can successfully build for arm64 Catalyst, but x64 Catalyst
still needs some work. Nevertheless, the build script can now support
it along with the existing 'simulator' and 'device' environments.
Bug: webrtc:11516
Change-Id: Ic2ce8db32142a5a0a2e50f2d8a672710b283fac3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/226900
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34548}
coverity flags two issues on this:
* no copy constructor (and assignment operator) for things that free in the destructor
* missing return value check on setsockopt
BUG=None
Change-Id: I0671bf5f9bc0ede968f80c3686bf7bbd8eb63e98
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/226743
Commit-Queue: Tommi <tommi@webrtc.org>
Reviewed-by: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34547}
Just like the C++ API, add a method in Java VideoFrame.Buffer that
describes the underlying implementation.
Use this method to properly select AndroidVideoBuffer
or AndroidVideoI420Buffer in Java -> C++ Video Frame Conversion.
Also, add a test case for WrappedNativeI420Buffer
in VideoFrameBufferTest for consistency.
Bug: webrtc:12602
Change-Id: I4c0444e8af6f6a1109bc514e7ab6c2214f1f6d60
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/223080
Commit-Queue: Byoungchan Lee <daniel.l@hpcnt.com>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Xavier Lepaul <xalep@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34545}
A recent change [1] assumes that all new m= sections will share the
first BUNDLE group (if one already exists), which avoids generating
ICE candidates that are ultimately unnecessary. This is fine for JSEP
endpoints, but it breaks the following scenarios for non-JSEP endpoints:
* Remote offer adding a new m= section that's not part of any BUNDLE
group.
* Remote offer adding an m= section to the second BUNDLE group.
The latter is specifically problematic for any application that wants
to bundle all audio streams in one group and all video streams in
another group when using Unified Plan SDP, to replicate the behavior of
using Plan B without bundling. It may try to add a video stream only
for WebRTC to bundle it with audio.
This is fixed by doing some minor re-factoring, having BundleManager
update the bundle groups at offer time.
Also:
* Added some additional validation for multiple bundle groups in a
subsequent offer, since that now becomes relevant.
* Improved rollback support, because now rolling back an offer may need
to not only remove mid->transport mappings but alter them.
[1]: https://webrtc-review.googlesource.com/c/src/+/221601
Bug: webrtc:12906, webrtc:12999
Change-Id: I4c6e7020c0be33a782d3608dee88e4e2fceb1be1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/225642
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34544}
As announced in the google groups [1], the pre-built Android aar is no
longer distributed and last update was August 2020. [2]
So we can remove the code that uploads aar to bintray in release_aar.py.
Still, the ability to create an Android aar and use it in a gradle
project (examples/aarproject) is useful. It can also be used to validate
aar by running PeerConnectionClientTest from examples/androidtests.
So I renamed release_aar.py to test_aar.py and make it working without
releasing the aar to an external hosting server.
This makes it easy to verify further changes to the aar.
[1] https://groups.google.com/g/discuss-webrtc/c/Ozvbd0p7Q1Y/m/TtQyRI1KAgAJ
[2] https://mvnrepository.com/artifact/org.webrtc/google-webrtc?repo=bt-google-webrtc
Bug: webrtc:11962
Change-Id: Ibe066a3a770569924e3b57805986808e1dd19df6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/220622
Commit-Queue: Byoungchan Lee <daniel.l@hpcnt.com>
Reviewed-by: Xavier Lepaul <xalep@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34540}
The alternative new name proposed, NackTracker, is already in
use in audio_coding.
Fixed: webrtc:11594
Change-Id: I6a05fafc05fa7ddb18ea4f64886a135e5ef59f7e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/226744
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Markus Handell <handellm@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34539}
as there are encryption schemes that preserve the payload structure
well enough and do not require those extensions.
This improves consistency as the webrtc-encoded-transform API
(which does not use this synchronous codepath) does not require those
header extensions either.
BUG=webrtc:12995
Change-Id: If237ca5d92e8871ac71c3d48fdd05127206395e6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/226741
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34537}
Example of error reporting:
Usage of assert() has been detected in the following files, please use
RTC_DCHECK() instead.
Files:
rtc_base/thread.cc
Bug: webrtc:6779
Change-Id: Iae08c3d7ddcc0449073752cadca19b3cf662892c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/225549
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34532}
As part of go/coil update code search links to not point to the
"master" branch.
Bug: chromium:1226942
Change-Id: I0ae9e84ecc660f789a69fe0b226f93bbc39a8a66
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/226081
Commit-Queue: Tony Herre <toprice@chromium.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34531}
This CL completes the removal of assert() and relative headers from
the codebase (excluded
//examples/objc/AppRTCMobile/third_party/SocketRocket which is in a
third_party sub-directory).
Bug: webrtc:6779
Change-Id: I93ed57168d2c0e011626873d66529488c5f484f2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/225546
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34528}
NackModule2 creates repeating tasks, but as there are
many modules (one per receiver) these tasks execute out
of phase with each other, multipliying the amount of wakeups
caused.
Fix this by creating a single wakeup source that serves all
NackModule2 instances in a call.
Bug: webrtc:12989
Change-Id: Ia9c84307eb57349679e42b673474feb2cb43f08e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/226464
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Markus Handell <handellm@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34527}
For temporal scalability, prefix NALU contains layer information, but
should not be parsed as a slice.
Bug: webrtc:12991
Change-Id: Ic1e7d41f568310390a743d4ace016aa7d57a4864
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/226501
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34523}
This is a reland of 9f2a20f4342a3e86e1f9fdfe6f3d76fb539d41c2
See https://webrtc-review.googlesource.com/c/src/+/226563/1..2
for the fix. RTC_DCHECK_ALWAYS_ON needs to be in public_configs
in order to be propagated together with header #includes and
avoid ODR violations.
Original change's description:
> Add WebRTC specific dcheck_always_on.
>
> Inspired by V8 CL: crrev.com/c/3038528.
>
> This makes the WebRTC's dcheck control independent of Chromium's and
> prepares switching Chromium's default behavior without affecting
> WebRTC developers or builders.
>
> Preparation for: https://crrev.com/c/2893204
>
> Bug: chromium:1225701, webrtc:12988
> Change-Id: Ia0d21f9fb8e9d7704fd1beca16504c301a263b3b
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/226465
> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> Reviewed-by: Markus Handell <handellm@webrtc.org>
> Reviewed-by: Dirk Pranke <dpranke@google.com>
> Cr-Commit-Position: refs/heads/master@{#34512}
Bug: chromium:1225701, webrtc:12988
Change-Id: I1f78587487ee7b1a4a07b8c91b737a9e797b2323
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/226563
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Reviewed-by: Markus Handell <handellm@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34519}
The only user of that function is only interested in the type of the
first rtcp message in the packet, which can be extracted in a simpler way
Bug: None
Change-Id: I96aeb8ed66099f94d506aa7d8d0d07378f6c952e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/226543
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34515}
Inspired by V8 CL: crrev.com/c/3038528.
This makes the WebRTC's dcheck control independent of Chromium's and
prepares switching Chromium's default behavior without affecting
WebRTC developers or builders.
Preparation for: https://crrev.com/c/2893204
Bug: chromium:1225701, webrtc:12988
Change-Id: Ia0d21f9fb8e9d7704fd1beca16504c301a263b3b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/226465
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Markus Handell <handellm@webrtc.org>
Reviewed-by: Dirk Pranke <dpranke@google.com>
Cr-Commit-Position: refs/heads/master@{#34512}
This reverts commit 9e09831767995531ae1c2804e1c15fa2be4053f2.
Reason for revert: The "fuzzer_test" GN template expanded by
"webrtc_fuzzer_test" still ignores the "configs" and another
field needs to be used.
Original change's description:
> Make webrtc_fuzzer_test use //:common_config.
>
> Before this CL, the GN template webrtc_fuzzer_test was using a build
> config that was different from the one used by other WebRTC's targets.
>
> We discovered this in [1] where we detected that RTC_DCHECK_IS_ON had
> different values across translation units (1 everywhere and 0 in the
> one of the .cc file owned by the webrtc_fuzzer_test).
>
> This was because webrtc_fuzzer_test was not including the default
> config //:common_config in its "configs".
>
> [1] - https://webrtc-review.googlesource.com/c/src/+/226465
>
> Bug: None
> Change-Id: I5635d90281769c23c5d86ebc8cb494da029c2e85
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/226540
> Reviewed-by: Andrey Logvin <landrey@webrtc.org>
> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#34509}
TBR=mbonadei@webrtc.org,landrey@webrtc.org,webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com
Change-Id: Iec13b411e7f027e78e731e3242e0557b6de38a2b
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: None
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/226541
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34510}
Before this CL, the GN template webrtc_fuzzer_test was using a build
config that was different from the one used by other WebRTC's targets.
We discovered this in [1] where we detected that RTC_DCHECK_IS_ON had
different values across translation units (1 everywhere and 0 in the
one of the .cc file owned by the webrtc_fuzzer_test).
This was because webrtc_fuzzer_test was not including the default
config //:common_config in its "configs".
[1] - https://webrtc-review.googlesource.com/c/src/+/226465
Bug: None
Change-Id: I5635d90281769c23c5d86ebc8cb494da029c2e85
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/226540
Reviewed-by: Andrey Logvin <landrey@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34509}