Change the default value of rtcp-mux policy in RTCConfiguration.
Refactor the peerconnectioninterface and webrtcsession unit tests.
BUG=webrtc:6030
Review-Url: https://codereview.webrtc.org/2043193003
Cr-Commit-Position: refs/heads/master@{#15217}
I forget to remove these when fixing them.
BUG=chromium:636818
NOTRY=True
NOPRESUBMIT=True
Review-Url: https://codereview.webrtc.org/2522023003
Cr-Commit-Position: refs/heads/master@{#15215}
There shouldn't be a need to bind the framebuffer to modify the texture
size. Binding the framebuffer causes a crash on Samsung Galaxy S3 mini
for some reason.
BUG=webrtc:6470
Review-Url: https://codereview.webrtc.org/2524003002
Cr-Commit-Position: refs/heads/master@{#15210}
RTCStatsCollector supports "payloadType", "codec" and "clockRate".
"channels", "parameters" and "implementation" need to be supported
before closing crbug.com/659117.
[1] https://w3c.github.io/webrtc-stats/#codec-dict*
BUG=chromium:659117, chromium:627816, chromium:657854
NOTRY=True
Review-Url: https://codereview.webrtc.org/2509803004
Cr-Commit-Position: refs/heads/master@{#15207}
Increases readibility and helps with the formating.
BUG=webrtc:6680
Review-Url: https://codereview.webrtc.org/2488973002
Cr-Commit-Position: refs/heads/master@{#15206}
This change adds RotateDesktopFrame(), RotateRect(), RotateSize(),
ReverseRotate() functions, so an implementation can use these free functions to
rotate and copy pixels from one DesktopFrame to another at the same time.
This is the first part of the change to support rotation in DirectX capturer. In
a coming change, these functions will be used in DxgiOutputDuplicator to do the
rotation and copying.
Background,
DirectX APIs always return unrotated data buffer, so we need to rotate it to
match the user-selected rotation. What worse is except for the data buffer,
other variables return by these APIs are all rotated, e.g. output size, monitor
position. So we will eventually not be able to capture the rotated monitors,
because we cannot set their position and size correctly. Though
DXGI_OUTDUPL_DESC provides a DXGI_MODE_ROTATION enumeration to indicate the
output rotation, it does not provide a simple way to rotate an IDXGIResource,
which is the only thing we can get from duplication APIs. A typical user case
here is to use a matrix to transform the IDXGIResource and render it to a
surface. But since we do not render the IDXGIResource at all, we need to
manually rotate it.
BUG=314516
Review-Url: https://codereview.webrtc.org/2500883004
Cr-Commit-Position: refs/heads/master@{#15205}
Previously ProbeController was starting probing as soon as SetBitrates()
is called. As result these probes would often timeout while connection
is being established. Now ProbeController receives notifications about
network route changes. This allows to start probing only when transport
is connected. This also makes it possible to restart probing whenever
transport route changes (will be done in a separate change).
BUG=webrtc:6332
R=honghaiz@webrtc.org, philipel@webrtc.org, stefan@webrtc.org
Review URL: https://codereview.webrtc.org/2458863002 .
Committed: https://crrev.com/5c99c76255ee7bface3c742c25fb5617748ac86e
Cr-Original-Commit-Position: refs/heads/master@{#15094}
Cr-Commit-Position: refs/heads/master@{#15204}
Set the |qp_| field in EncodedImage before calling OnEncodedImage.
BUG=webrtc:6541
Review-Url: https://codereview.webrtc.org/2499003002
Cr-Commit-Position: refs/heads/master@{#15199}
the APM parameters to the high-pass filter.
The introduction will be done in three steps:
1) This CL which introduces the new scheme and
changes the code in webrtcvoiceengine.cc to use it.
2) Introduce the scheme into upstream code.
3) Remove the HighPassFilter interface in APM.
BUG=webrtc::6220, webrtc::6296, webrtc::6297, webrtc::6181, webrtc::5298
Review-Url: https://codereview.webrtc.org/2415403002
Cr-Commit-Position: refs/heads/master@{#15197}
This new histogram will log a value every time input clipping is
detected. The value is a boolean, with "true" meaning that the gain
was in fact adjusted in response to the detected clipping, and "false"
meaning that adjustment was not allowed due to kClippedLevelMin.
BUG=webrtc:6622
Review-Url: https://codereview.webrtc.org/2522543006
Cr-Commit-Position: refs/heads/master@{#15196}
This removes the need of executing Chromium's runhooks.
A selection of hooks (not all) were picked that should be
sufficient for WebRTC's needs.
New dependencies:
* third_party/espresso
* third_party/javax_inject
* tools/clang_format_merge_driver
BUG=webrtc:5578, webrtc:5006, webrtc:6741
TESTED=
rm -rf third_party/android_tools/sdk/extras/google/m2repository/
gclient runhooks
Verified that third_party/android_tools/sdk/extras/google/m2repository/ is downloaded without any license prompt.
NOTRY=True
Review-Url: https://codereview.webrtc.org/2524673002
Cr-Commit-Position: refs/heads/master@{#15195}
This CL re-routes audio through AudioMixer instead of AudioConferenceMixer.
This is done without any modifications to VoiceEngine.
Previously, output audio was polled by an AudioDevice through an AudioTransport
pointer, which was an instance of VoEBaseImpl. VoiceEngineImpl sent the
request for data on to OutputMixer and further to AudioConferenceMixer.
This CL changes the audio flow to an AudioDevice. We reconfigure the AudioDevice
to have another AudioTransport pointer, which points to an AudioTransportProxy.
The AudioTransportProxy is responsible for feeding mixed data to the
AudioProcessing component for echo cancellation, and to resample the audio data
after AudioProcessing and before it is sent to the AudioDevice.
The set up of the audio path was previously done during VoiceEngine
initialization. Now it is changed in the AudioState constructor.
This list shows where audio-path-related VoiceEngine functionality has been
moved:
OutputMixer --> AudioTransportProxy
VoiceEngineImpl --> AudioState, AudioTransportProxy
SharedData --> AudioState
Channel --> AudioReceiveStream, ChannelProxy, Channel
AudioState owns the new mixer and connects it to AudioTransport and
AudioDevice on initialization.
The audio input source is AudioReceiveStream, which registers itself with the
mixer (which it gets from AudioState) on Start and Stop.
# Since the AudioTransport interface contains non-const references.
NOPRESUBMIT=True
BUG=webrtc:6346
Review-Url: https://codereview.webrtc.org/2436033002
Cr-Commit-Position: refs/heads/master@{#15193}
The mock is used in a dependent CL https://codereview.webrtc.org/2436033002.
There is also a goal to allow external mixing implementations
(subclasses of webrtc::AudioMixer) and inject them to
PeerConnectionFactory. We think that part of that is an official and
maintained mock.
Summary of changes:
* Created a mixer mock/stub in webrtc/api/test
* Made a target webrtc/api:mock_audio_mixer for it.
NOTRY=True
BUG=webrtc:6346
Review-Url: https://codereview.webrtc.org/2520323002
Cr-Commit-Position: refs/heads/master@{#15190}
Previously this was only collected for RTCOutboundRTPStreamStats video,
with no comment saying it was missing for Inbound. (nack_count should be
collected vor audio as well but this is currently not available - there
is already an existing comment about this in rtcstats_objects.h.)
BUG=chromium:657855, chromium:657854, chromium:627816
Review-Url: https://codereview.webrtc.org/2515293002
Cr-Commit-Position: refs/heads/master@{#15185}
This CL interfaces the SDP information (payload types and
SSRCs) about FlexFEC with the corresponding configs at the
Call layer. It also adds a field trial, which when active
will expose FlexFEC in the default codec list, thus showing
up in the default SDP.
BUG=webrtc:5654
R=magjed@webrtc.org, stefan@webrtc.orgCC=perkj@webrtc.org
Review-Url: https://codereview.webrtc.org/2511703002
Cr-Commit-Position: refs/heads/master@{#15184}
Both of these are unused legacy stuff.
BUG=webrtc:6323
NOTRY=True
Review-Url: https://codereview.webrtc.org/2520253002
Cr-Commit-Position: refs/heads/master@{#15183}
This change adds code that lets Opus increase the complexity setting
at low bitrates (only relevant for mobile where the default complexity
is not already maximum). The feature is default off.
Also adding a performance test to make sure the complexity adaptation
has desired effect.
BUG=webrtc:6708
Review-Url: https://codereview.webrtc.org/2503443002
Cr-Commit-Position: refs/heads/master@{#15182}
This improves the performance of SurfaceViewRenderer. This feature is added
behind a flag for now because it can be buggy on some devices.
BUG=webrtc:6470
Review-Url: https://codereview.webrtc.org/2510413002
Cr-Commit-Position: refs/heads/master@{#15181}
The class VideoDecoderSoftwareFallbackWrapper is an implementation
detail of webrtc/media/engine/webrtcvideoengine2.cc and should not be
directly under webrtc/video_decoder.h. The main purpose is to improve
the dependency graph in WebRTC so that VideoDecoderSoftwareFallbackWrapper
can depend on cricket::VideoCodec.
The test for VideoDecoderSoftwareFallbackWrapper is also moved from
webrtc/video/video_decoder_unittest.cc to
webrtc/media/engine/videodecodersoftwarefallbackwrapper_unittest.cc.
BUG=webrtc:6743
TBR=stefan@webrtc.org
Review-Url: https://codereview.webrtc.org/2518263003
Cr-Commit-Position: refs/heads/master@{#15180}
This file fits there more naturally since it has dependencies to jni.
BUG=None
Review-Url: https://codereview.webrtc.org/2514383002
Cr-Commit-Position: refs/heads/master@{#15179}
This allows downstream dependencies can add it as a dependency.
BUG=webrtc:6499
Review-Url: https://codereview.webrtc.org/2521183002
Cr-Commit-Position: refs/heads/master@{#15178}
a == b would return true if a.member is defined even if b.member is
undefined if their values were equal. We would say that b does not have
a value in that case but its value_ member would still be initialized to
something that is being compared to. Bugfix makes sure not to do value
comparison in this case if b is undefined.
BUG=chromium:627816
Review-Url: https://codereview.webrtc.org/2517163002
Cr-Commit-Position: refs/heads/master@{#15172}
Now gtest-parallel is the same as in the github repo.
A wrapper script was created to handle the environment variables.
TBR=pbos@webrtc.org
BUG=chromium:497757
NOTRY=True
Review-Url: https://codereview.webrtc.org/2513073002
Cr-Commit-Position: refs/heads/master@{#15170}
Make magjed@ owner of whole webrtc/api/android/ and remove him as owner of subfolders.
BUG=None
NOTRY=True
Review-Url: https://codereview.webrtc.org/2516973004
Cr-Commit-Position: refs/heads/master@{#15168}