This changes the way we pull in dependencies WebRTC shares with
Chromium. The base, build, tools and third_party directories from
Chromium are now synced as Git subtree mirrors in the DEPS file.
All symlinks to directories that were previously created by the
setup_links.py are replaced with proper DEPS entries.
One downside with this solution is that we get a lot of directories
in tools/ and third_party/ that we currently don't use. Going forward
it might be possible to improve this but as long as the BUILD.gn files
are stored in the Chromium repo rather at each dependency's repo,
this will be very cumbersome.
The DEPS file will be kept auto-rolled by the script in
https://chromium.googlesource.com/external/webrtc/+/master/tools-webrtc/autoroller/roll_deps.py
which is periodically executed by a bot.
This change brings back the Google Play Services download for Android,
which displays a license confirmation dialog to the user at the first sync.
By running it as a proper hook instead of inside sync_chromium.py, the
problems with that the interactive prompt gets hidden/stuck should be
fixed (now the behavior is identical to Chromium).
Some measurements on the size savings for a clean, newly created checkout:
Linux: 15GB -> 6.4GB (-8.6GB)
Linux (with Android): 25 GB -> 16 GB (-9GB). 8.4GB of this is Android SDK+NDK.
Mac (with iOS): 14 GB -> 5.6GB (-8.4GB)
Note that for all of the above, 1GB is occupied by the resources/ dir.
BUG=webrtc:5006, webrtc:5578
NOTRY=True
R=agable@chromium.org, henrika@webrtc.org, iannucci@chromium.org
Review-Url: https://codereview.webrtc.org/1414343008 .
Cr-Commit-Position: refs/heads/master@{#15754}
Wait until first frame is decoded to avoid include zeros in stats.
BUG=b/32659204
Review-Url: https://codereview.webrtc.org/2582313002
Cr-Commit-Position: refs/heads/master@{#15752}
Reason for revert:
Breaks Chromium WebRTC FYI bots:
https://build.chromium.org/p/chromium.webrtc.fyi/builders/Linux%20Builder/builds/12337
The error was masked by another breaking change that was committer earlier. This is the first build showing the error.
Original issue's description:
> Make P2PTransportChannel inherit from IceTransportInternal.
>
> Make P2PTransportChannel inherit from IceTransportInternal instead of
> TransportChannelImpl and TransportChannel, so that the DTLS-related methods can
> be separated from P2PTransportChannel.
>
> BUG=none
>
> Review-Url: https://codereview.webrtc.org/2590063002
> Cr-Commit-Position: refs/heads/master@{#15743}
> Committed: 12749d89d9TBR=deadbeef@webrtc.org,zhihuang@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=none
Review-Url: https://codereview.webrtc.org/2594343002
Cr-Commit-Position: refs/heads/master@{#15751}
Created a java wrapper for the callback OnAddTrack in this CL since it has been added to native C++ API
The callback function is called when a track is signaled by remote side and a new RtpReceiver is created.
The application can tell when tracks are added to the streams by listening to this callback.
BUG=webrtc:6112
Review-Url: https://codereview.webrtc.org/2513723002
Cr-Commit-Position: refs/heads/master@{#15745}
Make P2PTransportChannel inherit from IceTransportInternal instead of
TransportChannelImpl and TransportChannel, so that the DTLS-related methods can
be separated from P2PTransportChannel.
BUG=none
Review-Url: https://codereview.webrtc.org/2590063002
Cr-Commit-Position: refs/heads/master@{#15743}
Problem fixed: RTP header extensions were not properly set in tests.
BUG=webrtc:5654
Review-Url: https://codereview.webrtc.org/2593963003
Cr-Commit-Position: refs/heads/master@{#15741}
Modify ExpectReportContainsCertificateInfo to use EXPECT_EQ checks of
RTCCertificateStats objects.
BUG=chromium:627816
Review-Url: https://codereview.webrtc.org/2594553003
Cr-Commit-Position: refs/heads/master@{#15738}
Remove ExpectReportContainsCandidate in favor of EXPECT_EQ checks of
RTC[Local/Remote]IceCandidateStats objects.
BUG=chromium:627816
Review-Url: https://codereview.webrtc.org/2594753002
Cr-Commit-Position: refs/heads/master@{#15737}
Prior to this change, the receiver_time metric had huge outliers
whenever FlexFEC was enabled. This was due to a measurement problem,
where the time of the incoming packet was incorrectly set to zero.
This happened for packets that were lost in transit, but recovered
through FEC.
This CL fixes this problem by simply not recording samples where the
incoming packet time is undefined. The CL also removes the possibility
of timestamp collisions in the data structures.
TESTED=Ran './webrtc_perf_tests --gtest_filter="*ForemanCifPlr5H264Flexfec*" | grep receiver_time' locally 10 times, without experiencing any outliers.
BUG=webrtc:5654
Review-Url: https://codereview.webrtc.org/2596793002
Cr-Commit-Position: refs/heads/master@{#15735}
Reason for revert:
This CL broke some buildbots. I will investigate it later.
Original issue's description:
> Refactor webrtc/modules/video_processing for GN check
>
> This moves some GN check configurations out of .gn to individual
> targets.
>
> The now checked target is:
> "//webrtc/modules/video_processing/*"
>
> BUG=webrtc:6828
> NOTRY=True
>
> Review-Url: https://codereview.webrtc.org/2595543002
> Cr-Commit-Position: refs/heads/master@{#15732}
> Committed: 00a810b844TBR=kjellander@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:6828
Review-Url: https://codereview.webrtc.org/2594973002
Cr-Commit-Position: refs/heads/master@{#15733}
This moves some GN check configurations out of .gn to individual
targets.
The now checked target is:
"//webrtc/modules/video_processing/*"
BUG=webrtc:6828
NOTRY=True
Review-Url: https://codereview.webrtc.org/2595543002
Cr-Commit-Position: refs/heads/master@{#15732}
Remove ExpectReportContainsDataChannel in favor of EXPECT_EQ checks of
RTCDataChannelStats objects.
BUG=chromium:627816
Review-Url: https://codereview.webrtc.org/2597433002
Cr-Commit-Position: refs/heads/master@{#15731}
Previously it was allowed to call AddStats with stats of the same ID
multiple times.
This revealed a few things:
- Local and remote streams can have the same label.
RTCMediaStreamStats's ID is updated to include "local"/"remote".
- The same certificate can show up multiple times (e.g. for local and
remote in a loopback), so we skip creating RTCCertificateStats for the
same certificate multiple times
BUG=chromium:627816
Review-Url: https://codereview.webrtc.org/2593503003
Cr-Commit-Position: refs/heads/master@{#15730}
This moves some GN check configurations out of .gn to individual
targets.
The now checked target is:
"//webrtc/modules/pacing/*"
BUG=webrtc:6828
NOTRY=True
Review-Url: https://codereview.webrtc.org/2594523003
Cr-Commit-Position: refs/heads/master@{#15729}
This moves some GN check configurations out of .gn to individual
targets.
The now checked target is:
"//webrtc/modules/media_file/*"
BUG=webrtc:6828
NOTRY=True
Review-Url: https://codereview.webrtc.org/2593693002
Cr-Commit-Position: refs/heads/master@{#15726}
This moves some GN check configurations out of .gn to individual
targets.
The now checked target is:
"//webrtc/modules/desktop_capture/*"
BUG=webrtc:6828
NOTRY=True
Review-Url: https://codereview.webrtc.org/2593713002
Cr-Commit-Position: refs/heads/master@{#15725}
The CGDisplayStream API returns rects in physical pixel coordinates, not
Density-Independent Pixel coordinates. The code was incorrectly re-applying the
dip_to_pixel scaling.
BUG=chromium:675490
Review-Url: https://codereview.webrtc.org/2588973002
Cr-Commit-Position: refs/heads/master@{#15720}
that the level of the output in the audio processing
module is monitored. This CL adds that.
BUG=webrtc:6181, webrtc:6183, webrtc:6220
Review-Url: https://codereview.webrtc.org/2549143004
Cr-Commit-Position: refs/heads/master@{#15718}
Chromium has now been updated, so we can remove the base headers from
rtc_media.
BUG=None
Review-Url: https://codereview.webrtc.org/2590813002
Cr-Commit-Position: refs/heads/master@{#15712}
The new name, OnCompleteReports rather than OnComplete, is needed
because in C++ method lookup, overriding a method hides all otherwise
inherited methods with the same name, even if they have a different
signature. And here, the intention is that each subclass should
override one or the other of the two methods, and inherit the method it
doesn't override.
This cl is a prerequisite for
https://codereview.webrtc.org/2567143003/, because the Chrome glue
code needs to retain the stats report after the OnComplete method has
returned.
Currently, Chrome makes a copy of the stats mapping (which breaks when
changing ValuePtr from an rtc::linked_ptr to an std::unique_ptr). After
this cl, Chrome can be fixed to take ownership and no longer needs to
copy anything, unblocking cl 2567143003.
BUG=webrtc:6424
Review-Url: https://codereview.webrtc.org/2584553002
Cr-Commit-Position: refs/heads/master@{#15708}
Documentation was also unclear, it seems it returned the RTP packet
size including RTP headers.
BUG=None.
Review-Url: https://codereview.webrtc.org/2588343002
Cr-Commit-Position: refs/heads/master@{#15707}