AEC and AECM when these become full to also work when not
in debug mode.
BUG=webrtc:6530
Review-Url: https://codereview.webrtc.org/2419023002
Cr-Commit-Position: refs/heads/master@{#14637}
To ensure this change won't break Chromium, this is the first change, to add a
new CaptureFrame() function, and let Capture(DesktopRegion) and CaptureFrame()
call each other. So both a legacy consumer or a legacy implementation won't be
broken.
BUG=https://bugs.chromium.org/p/webrtc/issues/detail?id=6513
Review-Url: https://codereview.webrtc.org/2409833002
Cr-Commit-Position: refs/heads/master@{#14635}
I added a few missing dependencies to the GN target of voice_engine while doing other
unrelated work. Currently GN's header include checker has the
following to say:
$ gn check out/gn_debug webrtc/voice_engine
ERROR at //webrtc/voice_engine/include/voe_network.h:38:11: Include not allowed.
#include "webrtc/transport.h"
^-----------------
It is not in any dependency of
//webrtc/voice_engine:voice_engine
The include file is in the target(s):
//webrtc:webrtc
which should somehow be reachable.
transport.h should probably move in to webrtc/api, since it is already
a pure virtual interface and is used in quite a few places.
BUG=webrtc:5589
NOTRY=True
Review-Url: https://codereview.webrtc.org/2421483002
Cr-Commit-Position: refs/heads/master@{#14633}
asyncstuntcpsocket_unittest.cc never seem to have been added
along with the other tests in webrtc/p2p. Luckily the tests pass.
BUG=None
NOTRY=True
Review-Url: https://codereview.webrtc.org/2404173002
Cr-Commit-Position: refs/heads/master@{#14632}
Reason for revert:
Speculative revert.
Intermittent memory access errors suspected to be caused by this cl.
See for instance https://build.chromium.org/p/client.webrtc/builders/Win%20DrMemory%20Light/builds/8018
UNADDRESSABLE ACCESS of freed memory: reading 0x0331d330-0x0331d334 4 byte(s)
# 0 webrtc::voe::RtcpRttStatsProxy::LastProcessedRtt
# 1 webrtc::ModuleRtpRtcpImpl::Process
Original issue's description:
> Add RtcpRttStats to AudioStream
>
> BUG=webrtc:6508
>
> Committed: https://crrev.com/e0729c56d35acfaf9738fdb32c6508cd78eaf089
> Cr-Commit-Position: refs/heads/master@{#14595}
TBR=stefan@webrtc.org,minyue@webrtc.org,solenberg@webrtc.org,michaelt@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:6508
Review-Url: https://codereview.webrtc.org/2415943002
Cr-Commit-Position: refs/heads/master@{#14631}
With this change, the calculations inside AverageIAT are changed to be
in double-precision floating point instead of in fixed point. Also,
the method's name is changed to EstimatedClockDriftPpm to better
reflect what it returns.
A few unit tests had to be updated because of minor numerical
differences.
Also removing the UBSan suppression related to this issue.
BUG=webrtc:5889
Review-Url: https://codereview.webrtc.org/2408653002
Cr-Commit-Position: refs/heads/master@{#14628}
This was an ill tested special case which turned out to be more problem
than benefit. The special case was only triggered when the decoder frame
size was smaller than 10 ms, which is more or less unsupported by NetEq.
Also fixed a bug in a test, a bug which was exposed by the code change.
BUG=chromium:654983
Review-Url: https://codereview.webrtc.org/2412883002
Cr-Commit-Position: refs/heads/master@{#14627}
Reason for revert:
There is a risk of ending up in a bad state due to race conditions with this patch. Tests in downstream clients have shown that it can
happen that an output stream is opened up in MUSIC mode when it should not.
Reverting since the new functionality added here is not worth the
risk of breaking existing clients.
Original issue's description:
> Android audio playout now supports non-call media streams.
>
> The default (preferred) stream type for output audio is STREAM_VOICE_CALL since the WebRTC stack is mainly intended for VoIP calls. But if the user wants to run in another mode than COMM mode, we now accept it and change the stream type to STREAM_MUSIC instead. It can e.g. be suitable for applications that does not record audio or if a call shall be casted to a Chromecast device.
>
> The solution is somewhat experimental.
>
> NOTRY=TRUE
>
> BUG=webrtc:4767
>
> Committed: https://crrev.com/872f614111f436d15e29516ce19c3b63d25b8639
> Cr-Commit-Position: refs/heads/master@{#14613}
TBR=henrik.lundin@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:4767
Review-Url: https://codereview.webrtc.org/2420583002
Cr-Commit-Position: refs/heads/master@{#14626}
Reason for revert:
Seems to break our Android Swarming bots. Probably due to https://cs.chromium.org/chromium/src/testing/buildbot/gn_isolate_map.pyl?rcl=0&l=875
Error:
/b/c/b/Android32__M_Nexus5X__dbg_/src/buildtools/linux64/gn gen //out/Debug --check --runtime-deps-list-file=/b/c/b/Android32__M_Nexus5X__dbg_/src/out/Debug/runtime_deps
-> returned 1
ERROR The label "//webrtc/tools:tools_unittests(//build/toolchain/android:arm)" isn't a target.
When reading the line:
//webrtc/tools:tools_unittests
from the --runtime-deps-list-file=/b/c/b/Android32__M_Nexus5X__dbg_/src/out/Debug/runtime_deps
GN gen failed: 1
Original issue's description:
> Remove tools dir from root webrtc target
>
> Removing it as we don't need it to build as part of webrtc target.
>
> BUG=webrtc:6412
> NOTRY=True
>
> Committed: https://crrev.com/163b1a2d0a0f8e822d8cd15f6385057bc7988ad1
> Cr-Commit-Position: refs/heads/master@{#14622}
TBR=charujain@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:6412
Review-Url: https://codereview.webrtc.org/2420573002
Cr-Commit-Position: refs/heads/master@{#14624}
Removing it as we don't need it to build as part of webrtc target.
BUG=webrtc:6412
NOTRY=True
Review-Url: https://codereview.webrtc.org/2412353004
Cr-Commit-Position: refs/heads/master@{#14622}
In the file .gn exec_script_whitelist has 2 copies of
"//webrtc/modules/video_render/BUILD.gn",
This CL removes the duplicate
BUG=webrtc:6527
TEST=try bots
R=kjellander@webrtc.org
Review-Url: https://codereview.webrtc.org/2414953002
Cr-Commit-Position: refs/heads/master@{#14621}
The default implementations are provided as to not break Chromium mocks,
as soon as we have done a successful roll they should be updated and the
default implementations removed.
TBR=hta@webrtc.org, deadbeef@webrtc.org
NOTRY=True
BUG=chromium:654927
Review-Url: https://codereview.webrtc.org/2414613003
Cr-Commit-Position: refs/heads/master@{#14617}
Make sure that the appropriate run loop source gets added/removed. More clean up
to remove unnecessary functions and suppress deprecated declaration warnings.
BUG=webrtc:6029
Review-Url: https://codereview.webrtc.org/2417603002
Cr-Commit-Position: refs/heads/master@{#14615}
This gets rid of a bit of codec-specific code in VoE.
BUG=webrtc:5805
Review-Url: https://codereview.webrtc.org/2355483003
Cr-Commit-Position: refs/heads/master@{#14614}
The default (preferred) stream type for output audio is STREAM_VOICE_CALL since the WebRTC stack is mainly intended for VoIP calls. But if the user wants to run in another mode than COMM mode, we now accept it and change the stream type to STREAM_MUSIC instead. It can e.g. be suitable for applications that does not record audio or if a call shall be casted to a Chromecast device.
The solution is somewhat experimental.
NOTRY=TRUE
BUG=webrtc:4767
Review-Url: https://codereview.webrtc.org/2411263003
Cr-Commit-Position: refs/heads/master@{#14613}
Changed mixability status into AddSource/RemoveSource. Added 'ssrc()'
method to the MixerSource interface. Removed unnecessary member 'num_audio_sources_' and made the mixer be refcounted.
BUG=webrtc:6346
NOTRY=True
Review-Url: https://codereview.webrtc.org/2408683002
Cr-Commit-Position: refs/heads/master@{#14612}
to the functionality in the audio processing module.
Therefore, it should be a pure interface.
This CL ensures that is the case.
BUG=webrtc:6515
Review-Url: https://codereview.webrtc.org/2406193002
Cr-Commit-Position: refs/heads/master@{#14608}
Reason for revert:
Breaks upstream code.
Original issue's description:
> Prune connections based on network name.
> Previously we prune connections on the same network pointer.
> So if an IPv6 and an IPv4 network are on the same network interface, IPv4 connection won't be pruned even if an IPv6 connection with higher priority becomes writable.
>
> With this change, as long as one connection becomes writable, all connections having lower priority with the same network name will be pruned.
>
> Also simplify the implementation.
>
> BUG=webrtc:6512
>
> Committed: https://crrev.com/aae2784c1fab9d1510393dec15d76caa574e2da8
> Cr-Commit-Position: refs/heads/master@{#14593}
TBR=skvlad@webrtc.org,honghaiz@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:6512
Review-Url: https://codereview.webrtc.org/2412433003
Cr-Commit-Position: refs/heads/master@{#14601}
MixerAudioSource is moved to AudioMixerImpl::Source. Structures and methods of the MixerAudioSource interface have been renamed. The RemixFrame method has added checks and is moved to audio_frame_manipulator.h
BUG=webrtc:6346
Review-Url: https://codereview.webrtc.org/2396803004
Cr-Commit-Position: refs/heads/master@{#14600}
After calling Start(), doing a Stop() then Start() sequence should bring
the stream back to the original state.
BUG=webrtc:6501
Review-Url: https://codereview.webrtc.org/2407163002
Cr-Commit-Position: refs/heads/master@{#14597}
Compromise solution where WebRtcAudioUtils.setWebRtcBasedAutomaticGainControl() is marked
as deprecated and where as many APIs as possible that touches the HW AGC are removed. Some basic architecture is saved to ensure that we can restore usage of
the HW AGC if ever required for future devices.
The AppRTCMobile demo does still contain an AGC check box but it is now grayed out.
BUG=b/30387905
Review-Url: https://codereview.webrtc.org/2402883003
Cr-Commit-Position: refs/heads/master@{#14596}
This class is split in interface/implementation classes, since it
will be referenced from the Call level. Its purpose is to interface
the erasure code decoder with a new class FlexfecReceiveStream
(for received packets), as well as with the main RTP pipeline (for
recovered packets).
BUG=webrtc:5654
Review-Url: https://codereview.webrtc.org/2392663006
Cr-Commit-Position: refs/heads/master@{#14594}
Previously we prune connections on the same network pointer.
So if an IPv6 and an IPv4 network are on the same network interface, IPv4 connection won't be pruned even if an IPv6 connection with higher priority becomes writable.
With this change, as long as one connection becomes writable, all connections having lower priority with the same network name will be pruned.
Also simplify the implementation.
BUG=webrtc:6512
Review-Url: https://codereview.webrtc.org/2395243005
Cr-Commit-Position: refs/heads/master@{#14593}
It would be enough to say we're removing EnableSrtpDebugging because
it's never called, but the story is a bit more interesting.
libsrtp's debugging facilities are gated behind the reasonably-named
ENABLE_DEBUGGING macro:
b17c065a8a/srtp/crypto/include/err.h (186)
This code was imported to WebRTC from libjingle, but neither WebRTC or
Chromium ever set ENABLE_DEBUGGING. Even if someone had ever called
EnableSrtpDebugging, it wouldn't have done anything.
BUG=0
Review-Url: https://codereview.webrtc.org/2409513002
Cr-Commit-Position: refs/heads/master@{#14592}
This was missed in the first pass because this code only compiles in
Chromium.
BUG=webrtc:6376
Review-Url: https://codereview.webrtc.org/2407743002
Cr-Commit-Position: refs/heads/master@{#14591}
CGRegisterScreenRefreshCallback (and similar) have been replaced by
CGDisplayStream.
Most of the structure is pretty comparable. The main difference is that a
CGDisplayStream needs to be destroyed asynchronously, potentially after
ScreenCapturerMac has been destroyed. This CL creates a self-owned
DisplayStreamManager which will destroy itself once all streams have been
destroyed.
BUG=webrtc:6029
Review-Url: https://codereview.webrtc.org/2391743004
Cr-Commit-Position: refs/heads/master@{#14590}
Gestalt has been deprecated since macOS 10.8, and it's always been overkill for
finding the macOS version anyways. uname works fine.
BUG=webrtc:6027
Review-Url: https://codereview.webrtc.org/2391633004
Cr-Commit-Position: refs/heads/master@{#14589}