This is in preparation for "epoll" integration where additional code needs to
run when the enabled events change.
BUG=webrtc:7585
Review-Url: https://codereview.webrtc.org/2893723002
Cr-Commit-Position: refs/heads/master@{#18189}
This CL adds a log message with the relevant part of the internal state of the echo detector to the text log when this unexpected scenario occurs.
BUG=b/38014838
Review-Url: https://codereview.webrtc.org/2883283002
Cr-Commit-Position: refs/heads/master@{#18185}
Reason for revert:
Fails to compile successfully.
Original issue's description:
> Reduce dependencies on rtc::FileSystem in FileRotatingStream tests.
>
> Use webrtc::test::OutputPath instead of Filesystem::GetAppTempFolder.
> Added functions RemoveFile and RemoveDir in the webrtc::test namespace,
> to replace use of Filesystem::DeleteFolderAndContents.
>
> This makes Filesystem::DeleteFolderAndContents unused, to be deleted
> together with related code in a followup cl.
>
> BUG=webrtc:7345
>
> Review-Url: https://codereview.webrtc.org/2872283002
> Cr-Commit-Position: refs/heads/master@{#18173}
> Committed: dd7b5f32b5TBR=pthatcher@webrtc.org,kjellander@webrtc.org,tommi@webrtc.org,nisse@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:7345
Review-Url: https://codereview.webrtc.org/2885393002
Cr-Commit-Position: refs/heads/master@{#18180}
Since the RtpStreamId and RepairedRtpStreamId extensions can have variable
length, it makes no sense for them to have a constant valueSize field.
The header length calculation in RtpHeaderExtensionMap needed to be changed
for this because it previously worked with the assumption that all header
types have a constant size. Now it's the caller's job to specify the length
of the extensions that it might use.
BUG=webrtc:7433
Review-Url: https://codereview.webrtc.org/2867713003
Cr-Commit-Position: refs/heads/master@{#18179}
Add the include to the files where it is actually used instead.
BUG=webrtc:5806
Review-Url: https://codereview.webrtc.org/2869863003
Cr-Commit-Position: refs/heads/master@{#18176}
Use webrtc::test::OutputPath instead of Filesystem::GetAppTempFolder.
Added functions RemoveFile and RemoveDir in the webrtc::test namespace,
to replace use of Filesystem::DeleteFolderAndContents.
This makes Filesystem::DeleteFolderAndContents unused, to be deleted
together with related code in a followup cl.
BUG=webrtc:7345
Review-Url: https://codereview.webrtc.org/2872283002
Cr-Commit-Position: refs/heads/master@{#18173}
The only thing the physical socket server was used for was
"Wait"/"WakeUp", but it could be replaced by a simple rtc::Event.
So, removing this dependency makes things less confusing; the fact that
VirtualSocketServer takes a PhysicalSocketServer may lead someone to
think it uses real sockets internally, when it doesn't.
BUG=None
Review-Url: https://codereview.webrtc.org/2883313003
Cr-Commit-Position: refs/heads/master@{#18172}
This small piece of logic is duplicated in DxgiDuplicatorController,
DxgiAdapterDuplicator and desktop_configuration.mm. Meanwhile, the
implementation in desktop_configuration.mm is not safe. So I think a function in
DesktopRect to cover the requirement could be more efficient and safer.
BUG=webrtc:7541
Review-Url: https://codereview.webrtc.org/2845213002
Cr-Commit-Position: refs/heads/master@{#18171}
Reason for revert:
Breaking downstream projects.
Original issue's description:
> Split iOS sdk in to separate targets
>
> This CL splits the iOS sdk into separate static libraries for video,
> audio, ui, common, and peerconnection-related code. This will in the
> future make it easier to compile WebRTC without unneeded components.
>
> BUG=webrtc:4867
>
> Review-Url: https://codereview.webrtc.org/2862543002
> Cr-Commit-Position: refs/heads/master@{#18166}
> Committed: 52c83fe710TBR=magjed@webrtc.org,denicija@webrtc.org,tkchin@webrtc.org,henrika@webrtc.org,kthelgason@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:4867
Review-Url: https://codereview.webrtc.org/2890513002
Cr-Commit-Position: refs/heads/master@{#18170}
This CL changes the updating of a loop index from using the modulus
operator to using a conditional, avoiding the divisions done in the
modulus operator which had a measurable impact on mpbile
platforms.
Additionally, there is a similar removal of another modulus operator, but the impact of that should be negligible.
BUG=webrtc:7666
Review-Url: https://codereview.webrtc.org/2882183004
Cr-Commit-Position: refs/heads/master@{#18168}
Negating an int can result in a value that cannot be represented as an int. This is fixed here by using a 64 bit variable.
BUG=chromium:663611
Review-Url: https://codereview.webrtc.org/2879863002
Cr-Commit-Position: refs/heads/master@{#18167}
This CL splits the iOS sdk into separate static libraries for video,
audio, ui, common, and peerconnection-related code. This will in the
future make it easier to compile WebRTC without unneeded components.
BUG=webrtc:4867
Review-Url: https://codereview.webrtc.org/2862543002
Cr-Commit-Position: refs/heads/master@{#18166}
This is a robustness test for the residual echo detector, that can help to detect numerical issues.
BUG=b/38014838
Review-Url: https://codereview.webrtc.org/2877803002
Cr-Commit-Position: refs/heads/master@{#18165}
This CL removes the residual echo detector from the list of
modules in APM that requires band-splitting.
BUG=webrtc:6220, webrtc:6183
Review-Url: https://codereview.webrtc.org/2884913002
Cr-Commit-Position: refs/heads/master@{#18164}
App engine is included in the AppRTC archive, so the separate archive is not needed anymore.
Mercurial is no longer necessary to include but it will be required during the vendoring step when the prebuilt archives are update.
The download/build scripts have been simplified accordingly.
The video quality test has been updated to work with the new appengine.
BUG=webrtc:7602
Review-Url: https://codereview.webrtc.org/2882073003
Cr-Commit-Position: refs/heads/master@{#18162}
This is the first step towards getting rid of gflags as a dependency.
It has been causing us extra work for a long time since it's not present
in Chromium as one example.
BUG=webrtc:7644
NOTRY=True
Review-Url: https://codereview.webrtc.org/2874403003
Cr-Commit-Position: refs/heads/master@{#18157}
Add AdaptCounter class which holds the number of downgrade counts per degradation way (resolution/fps) and reason (cpu/quality).
BUG=webrtc:7607
Review-Url: https://codereview.webrtc.org/2871623002
Cr-Commit-Position: refs/heads/master@{#18156}
For every failing test, the solution was either to do a "has IPv4" check
before the test is run, or avoid depending on real network interfaces
altogether.
This specifically fixes rtc_unittests, peerconnection_unittests, and
webrtc_nonparallel_tests.
BUG=None
Review-Url: https://codereview.webrtc.org/2881973002
Cr-Commit-Position: refs/heads/master@{#18155}
This header is only included by .S files and they are not parsed by
GN, so no other changes are required.
BUG=webrtc:7617
Review-Url: https://codereview.webrtc.org/2883033002
Cr-Commit-Position: refs/heads/master@{#18154}
This header was not tracked by a GN target and in the discussion on
https://bugs.chromium.org/p/webrtc/issues/detail?id=7617 we decided
to also move it under webrtc/base.
I checked in chromium code search and it seems safe to move it
without creating a stub header in webrtc/system_wrappers.
BUG=webrtc:7617
Review-Url: https://codereview.webrtc.org/2882673002
Cr-Commit-Position: refs/heads/master@{#18151}
This CL moves the residual echo detector to reside outside of
the band-scheme in APM. The benefit of this is that the
residual echo detector will then no longer enforce the
band-splitting to be used when it is the only active component
inside APM.
This CL also introduces diagnostic dumping of data inside the
residual echo detector.
BUG=webrtc:6220, webrtc:6183
Review-Url: https://codereview.webrtc.org/2884593002
Cr-Commit-Position: refs/heads/master@{#18150}
It's diverged enough from the original version that we no longer
benefit from keeping the old formatting.
BUG=NONE
Review-Url: https://codereview.webrtc.org/2854533002
Cr-Commit-Position: refs/heads/master@{#18129}
The crash occurs if a slot causes the very next slot in iteration order
to be disconnected.
Relanding after fixing a race condition that this CL revealed. Previously
the race resulted in an invalidated iterator, but now it will result in the
iterator being modified, so TSan catches it.
BUG=webrtc:7527
Review-Url: https://codereview.webrtc.org/2846593005
Cr-Commit-Position: refs/heads/master@{#18124}
VirtualSocketServer and Sha1Digest (from rtc_base)
md5.h and md5.cc (from rtc_base_approved, Md5Digest was moved earlier)
BUG=None
Review-Url: https://codereview.webrtc.org/2875933002
Cr-Commit-Position: refs/heads/master@{#18119}
The "ice_server_url" key is always present in AppRTC server's JSON response but may be empty if no ICE server is wanted.
BUG=webrtc:7636
Review-Url: https://codereview.webrtc.org/2878673002
Cr-Commit-Position: refs/heads/master@{#18118}
Reason for revert:
Re-land the original CL because the reverting it didn't fix the problem.
Original issue's description:
> Revert of Make AudioSinkInterface::Data hold a const pointer to the audio buffer. (patchset #1 id:1 of https://codereview.webrtc.org/2873803002/ )
>
> Reason for revert:
> Reverted because it possibly breaks the internal project.
>
> Original issue's description:
> > Make AudioSinkInterface::Data hold a const pointer to the audio buffer.
> >
> > This is in preparation for https://codereview.webrtc.org/2750783004/, where
> > requiring a non-const pointer for AudioSinkInterface would force an unmuting
> > and zeroing of every frame.
> >
> > BUG=webrtc:7343
> >
> > Review-Url: https://codereview.webrtc.org/2873803002
> > Cr-Commit-Position: refs/heads/master@{#18107}
> > Committed: 38605965bd
>
> TBR=solenberg@webrtc.org,henrik.lundin@webrtc.org,yujo@chromium.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:7343
>
> Review-Url: https://codereview.webrtc.org/2877013002
> Cr-Commit-Position: refs/heads/master@{#18112}
> Committed: c904634823TBR=solenberg@webrtc.org,henrik.lundin@webrtc.org,yujo@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:7343
Review-Url: https://codereview.webrtc.org/2880663003
Cr-Commit-Position: refs/heads/master@{#18113}
Reason for revert:
Reverted because it possibly breaks the internal project.
Original issue's description:
> Make AudioSinkInterface::Data hold a const pointer to the audio buffer.
>
> This is in preparation for https://codereview.webrtc.org/2750783004/, where
> requiring a non-const pointer for AudioSinkInterface would force an unmuting
> and zeroing of every frame.
>
> BUG=webrtc:7343
>
> Review-Url: https://codereview.webrtc.org/2873803002
> Cr-Commit-Position: refs/heads/master@{#18107}
> Committed: 38605965bdTBR=solenberg@webrtc.org,henrik.lundin@webrtc.org,yujo@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:7343
Review-Url: https://codereview.webrtc.org/2877013002
Cr-Commit-Position: refs/heads/master@{#18112}
Unity native plugin has to use Pinvoke technology in its APIs
This plugin dll can also be used by Windows C# applications other than
Unity.
BUG=webrtc:7389
Review-Url: https://codereview.webrtc.org/2823783002
Cr-Commit-Position: refs/heads/master@{#18108}
To make the distinction for stats, add a |recovered| flag to
RtpPacketReceived.
BUG=webrtc:7135
Review-Url: https://codereview.webrtc.org/2693123002
Cr-Commit-Position: refs/heads/master@{#18103}
Add logging of some histogram stats at the end of a call.
BUG=none
Review-Url: https://codereview.webrtc.org/2873303002
Cr-Commit-Position: refs/heads/master@{#18099}
VideoFrameBuffer is currently hard coded to be either I420 or Native.
This CL makes VideoFrameBuffer more generic by moving the I420 specific
functions into their own class, and adds an enum tag that represents the
format and storage type of the buffer. Each buffer type is then
represented as a subclass. See webrtc/api/video/video_frame_buffer.h for
more info.
This CL also adds support for representing I444 in VideoFrameBuffer
using the new interface. Possible future buffer type candidates are
RGB and NV12.
BUG=webrtc:7632
TBR=stefan@webrtc.org
Review-Url: https://codereview.webrtc.org/2847383002
Cr-Commit-Position: refs/heads/master@{#18098}
This prevents user from accidentally specifying a directory that contains
files that the user wants to keep.
BUG=webrtc:7608
NOTRY=True
Review-Url: https://codereview.webrtc.org/2876803002
Cr-Commit-Position: refs/heads/master@{#18096}