First step of AudioDecoderFactory injection CLs. AudioDecoderFactories will be shared, and shared_ptr is currently off the table, so this CL changes the current uses of AudioDecoderFactory from std::unique_ptr to rtc::scoped_refptr.
BUG=webrtc:5805
Review-Url: https://codereview.webrtc.org/1990803004
Cr-Commit-Position: refs/heads/master@{#12815}
ACCESS_ON is an alias of GUARDED_BY but should take thread-like object instead of mutex,
RUN_ON is an alias of EXCLUSIVE_LOCKS_REQUIRED to annotate function always run on same
thread/task_queue
RTC_DCHECK_RUN_ON - creates an object that allows use of annotated variables and functions, and adds a run-time DCHECK given thread/queue is current.
R=tommi@webrtc.org
Review-Url: https://codereview.webrtc.org/1981893002
Cr-Commit-Position: refs/heads/master@{#12812}
Pass timestamps to VideoAdapter instead of setting expected input frame rate, and use that to calculate when frames should be dropped.
BUG=webrtc:4938
TEST=Enable quality slider and HUD in debug settings. Request low fps with the quality slider and observe dropped frames.
Review-Url: https://codereview.webrtc.org/1982983003
Cr-Commit-Position: refs/heads/master@{#12811}
Reason for revert:
Still breaks downstream import.
Original issue's description:
> Reland of Android: Make base interface for camera1 and camera2 (patchset #1 id:1 of https://codereview.webrtc.org/1979583002/ )
>
> Reason for revert:
> Downstream code has been updated.
>
> Original issue's description:
> > Revert of Android: Make base interface for camera1 and camera2 (patchset #3 id:80001 of https://codereview.webrtc.org/1895483002/ )
> >
> > Reason for revert:
> > Breaks downstream import.
> >
> > Original issue's description:
> > > Android: Make base interface for camera1 and camera2
> > >
> > > This CL adds a new interface CameraVideoCapturer that extends VideoCapturer with a switchCamera() function. It also moves moves CameraEventsHandler, CameraStatistics, and CameraSwitchHandler from VideoCapturerAndroid to this new interface. The purpose is to prepare for a camera2 implementation that will use the same interfaces and helper class.
> > >
> > > BUG=webrtc:5519
> > >
> > > Committed: https://crrev.com/6bdacaddfb18edef1f0cdd778209f6b05a8f9210
> > > Cr-Commit-Position: refs/heads/master@{#12723}
> >
> > TBR=perkj@webrtc.org
> > # Skipping CQ checks because original CL landed less than 1 days ago.
> > NOPRESUBMIT=true
> > NOTREECHECKS=true
> > NOTRY=true
> > BUG=webrtc:5519
> >
> > Committed: https://crrev.com/181b5ffdf036427d92929667d9d43bbcff560435
> > Cr-Commit-Position: refs/heads/master@{#12727}
>
> TBR=perkj@webrtc.org
> # Not skipping CQ checks because original CL landed more than 1 days ago.
> BUG=webrtc:5519
>
> Committed: https://crrev.com/d269b023bfe1c321798fe9c8dbd631a562914fe1
> Cr-Commit-Position: refs/heads/master@{#12807}
TBR=perkj@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:5519
Review-Url: https://codereview.webrtc.org/1994013004
Cr-Commit-Position: refs/heads/master@{#12809}
Reason for revert:
Downstream code has been updated.
Original issue's description:
> Revert of Android: Make base interface for camera1 and camera2 (patchset #3 id:80001 of https://codereview.webrtc.org/1895483002/ )
>
> Reason for revert:
> Breaks downstream import.
>
> Original issue's description:
> > Android: Make base interface for camera1 and camera2
> >
> > This CL adds a new interface CameraVideoCapturer that extends VideoCapturer with a switchCamera() function. It also moves moves CameraEventsHandler, CameraStatistics, and CameraSwitchHandler from VideoCapturerAndroid to this new interface. The purpose is to prepare for a camera2 implementation that will use the same interfaces and helper class.
> >
> > BUG=webrtc:5519
> >
> > Committed: https://crrev.com/6bdacaddfb18edef1f0cdd778209f6b05a8f9210
> > Cr-Commit-Position: refs/heads/master@{#12723}
>
> TBR=perkj@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:5519
>
> Committed: https://crrev.com/181b5ffdf036427d92929667d9d43bbcff560435
> Cr-Commit-Position: refs/heads/master@{#12727}
TBR=perkj@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:5519
Review-Url: https://codereview.webrtc.org/1994893002
Cr-Commit-Position: refs/heads/master@{#12807}
Test is very simple but should test the basic sanity of the class.
Test is implemented as a JUnit test using Robolectric. Also
removed unused imports from TCPChannelClientTest.
Review-Url: https://codereview.webrtc.org/1989013003
Cr-Commit-Position: refs/heads/master@{#12804}
A previous CL started only using it on the worker thread, but it was
written before the network thread was introduced.
Review-Url: https://codereview.webrtc.org/1987093002
Cr-Commit-Position: refs/heads/master@{#12802}
This change turns muted state on by default in VoiceEngine, but not
for NetEq or AudioCodingModule when used stand-alone.
The expected effect is that voice channels that have not received any
packets for some time should reduce their CPU usage. This should have
a noticeable effect on endpoints with many incoming streams, but where
only a few have packets incoming at any given time (i.e., where an
intermediate server filters out the majority of the streams).
BUG=webrtc:5606
NOTRY=True
Review-Url: https://codereview.webrtc.org/1987143003
Cr-Commit-Position: refs/heads/master@{#12797}
This change adds a UMA log that will be written to when a non-zero delay
correction is done in the AEC. The number of elements moved (positive or
negative) will be logged to
"WebRTC.Audio.AecDelayAdjustmentAgnosticValue" or
"WebRTC.Audio.AecDelayAdjustmentSystemValue", depending on whether
delay-agnostic AEC is used or not, respectively.
BUG=webrtc:5903
Review-Url: https://codereview.webrtc.org/1991723002
Cr-Commit-Position: refs/heads/master@{#12795}
Required updating of a few related classes and tests.
BUG=webrtc:5609
NOTRY=True
Review-Url: https://codereview.webrtc.org/1986093002
Cr-Commit-Position: refs/heads/master@{#12794}
Reason for revert:
This breaks our Chromium WebRTC FYI bots:
https://build.chromium.org/p/chromium.webrtc.fyi/builders/Linux%20Builder/builds/6173
/mnt/data/b/build/slave/Linux_Builder/build/src/buildtools/linux64/gn gen //out/Release --check
-> returned 1
ERROR at //content/renderer/media/rtc_video_decoder.cc:24:11: Can't include this header from here.
#include "third_party/webrtc/video_frame.h"
^-------------------------------
The target:
//content/renderer:renderer
is including a file from the target:
//third_party/webrtc:webrtc_common
The //content/renderer:renderer target should probably be updated to depend on //third_party/webrtc:webrtc_common before relanding this.
Original issue's description:
> Add missing headers and fix some missing dependencies
>
> This is the first CL in a series of major cleanup and dependency
> corrections needed in order to satisfy 'gn check'.
>
> BUG=webrtc:4243, webrtc:5589
> NOTRY=True
>
> Committed: https://crrev.com/7bb6e75723eb64af079446cc6e3ff08c74fe02e4
> Cr-Commit-Position: refs/heads/master@{#12790}
TBR=pbos@webrtc.org,henrika@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:4243, webrtc:5589
Review-Url: https://codereview.webrtc.org/1989823002
Cr-Commit-Position: refs/heads/master@{#12793}
This is the first CL in a series of major cleanup and dependency
corrections needed in order to satisfy 'gn check'.
BUG=webrtc:4243, webrtc:5589
NOTRY=True
Review-Url: https://codereview.webrtc.org/1990593002
Cr-Commit-Position: refs/heads/master@{#12790}
This allows connecting between clients without using external servers, which is useful to OEMs if they are working in a network without internet connection. Implementation uses custom AppRTCClient that replaces WebSocketRTCClient if roomId looks like an IP. Instead of a web socket, this class uses direct TCP connection between peers as a signaling channel.
Review-Url: https://codereview.webrtc.org/1963053002
Cr-Commit-Position: refs/heads/master@{#12789}
With this change, when max-bundle and rtcp-mux are both enabled, we no
longer create and destroy a temporary transport channel when a media
channel gets added. Instead, the media channel uses the correct bundled
transport channel from the start.
This fixes a bug where adding a media type would cause the ICE state to
briefly become Disconnected and then immediately recover. The temporary
channel was created in a non-writable state, which caused the
TransportController to declare the ICE state to be Disconnected (as not
all transport channels were writable). Right after creation, the
temporary channel was then destroyed and the ICE state went back to the
correct one.
BUG=webrtc:5856
Review-Url: https://codereview.webrtc.org/1972493002
Cr-Commit-Position: refs/heads/master@{#12781}
Renaming the ParticipantFramePair to ParticipantFrameStruct. The muted
variable is not yet used.
BUG=webrtc:5609
Review-Url: https://codereview.webrtc.org/1981243002
Cr-Commit-Position: refs/heads/master@{#12780}
Deleted the temporary ACM method without the muted parameter, and had
to modify several tests for this. The muted parameter is not yet propagated to the AudioConferenceMixer; this is the next step.
BUG=webrtc:5609
TBR=perkj@webrtc.org
Review-Url: https://codereview.webrtc.org/1985743002
Cr-Commit-Position: refs/heads/master@{#12779}
Chrome does not detect NEON instruction set at runtime in WebRTC code starting
with M50, which is now in Stable. Remove support for runtime detection for
simplicity.
The only remaining piece of Chrome that will continue to depend on runtime
detection is /net, where devices with _broken_ neon support are also detected,
and it is not configurable via GYP/GN.
BUG=522035
NOPRESUBMIT=true
Review-Url: https://codereview.webrtc.org/1955413003
Cr-Commit-Position: refs/heads/master@{#12778}
MJPEG capture is not used on Android. Therefore, disable jpeg support to
reduce libjingle_peerconnection_so file size by removing dependency to
libjpeg_turbo.
Also, remove unused build_libjpeg and rtc_build_libjpeg variables.
Review-Url: https://codereview.webrtc.org/1978243002
Cr-Commit-Position: refs/heads/master@{#12777}
We're now ready https://codereview.webrtc.org/1984503002/ downstream,
so make sure we can enable libevent but still choose which libevent
implementation to use. This follows the common pattern where an enable_
flag controls whether we should use the feature at all, whereas build_
controls if we should use the dependency from our DEPS file or
something else.
NOTRY=True
Review-Url: https://codereview.webrtc.org/1980003002
Cr-Commit-Position: refs/heads/master@{#12772}