Reports show that we see full echo from the OnePlus 2 device.
Disabling hardware effects and revert to WebRTC-based
components instead as a test to see if it helps.
R=tommi@webrtc.org
TBR=tommi
BUG=b/25096456
Review URL: https://codereview.webrtc.org/1417093002 .
Cr-Commit-Position: refs/heads/master@{#10357}
This patch also also ensures that audio is restored after an incoming
GSM call.
BUG=webrtc:5058, webrtc:5012
TEST=Manual tests using modified AppRTCDemo and three different BT headsets
Review URL: https://codereview.webrtc.org/1401963002
Cr-Commit-Position: refs/heads/master@{#10354}
It's a simple std::experimental::optional-wannabe. For simplicity and
portability, it still secretly contains a (default-constructed) T when
it's supposedly empty. This restriction is fine for simple types.
One important application is for the return type of functions. For
example, a function which either returns a size_t or fails can return
rtc::Maybe<size_t>.
BUG=webrtc:5028
R=andrew@webrtc.org, mgraczyk@chromium.org
Review URL: https://codereview.webrtc.org/1413763003 .
Cr-Commit-Position: refs/heads/master@{#10353}
Reason for revert:
guoweis - Here's the target that's failing:
https://code.google.com/p/chromium/codesearch#chromium/src/third_party/libjingle/libjingle_nacl.gyp&l=17
This has unfortunately been causing problems repeatedly for us since libjingle_nacl is maintained separately from libjingle (I don't know the history).
The way this works for Chrome in general is that the FindFullName method is implemented in init_webrtc.cc in the overrides folder in Chrome and that hooks WebRTC up with Chrome's implementation. I'm not sure if that's the right thing to do for nacl, how webrtc is initialized there etc. I'll ping the nacl team for some help too offline and include you. Reverting this change for now.
Original issue's description:
> Add experiment on weak ping delay during call set up time
>
> BUG=
> R=pthatcher@webrtc.org
>
> Committed: https://crrev.com/3bf69b15f4c0c0ca4ab17c237084684a37bb8279
> Cr-Commit-Position: refs/heads/master@{#10343}
TBR=pthatcher@webrtc.org,juberti@webrtc.org,guoweis@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=
Review URL: https://codereview.webrtc.org/1423443002
Cr-Commit-Position: refs/heads/master@{#10350}
Added a test that verifies that waiting for a condition variable
actually waits for a non-zero time.
This used to fail due to a TSAN / CLANG bug, but this failure
is supposed to have been fixed.
This was originally https://webrtc-codereview.appspot.com/2145004
BUG=2259
Review URL: https://codereview.webrtc.org/1416873002
Cr-Commit-Position: refs/heads/master@{#10341}
Some toolchains (in this case referring to a g++ 4.9, or "arm-linux-
androideabi-g++ (GCC) 4.9 20140827 (prerelease)" according to my
--version, from the Android NDK r10e-rc4 and potentially with custom
patches; others may be affected as well) fail to prove that myVec in
WebRtcIsac_CorrelateInterVec is never used uninitialized. This is likely
due to the compiler thinking the assignment in line 468 might not
happen. Changing the loop condition in line 466 to rowCntr <
SOME_CONSTANT also helps, suggesting that the compiler can't infer that
there are only 2 values interVecDim can have at that point, and neither
of them are 0. Of course, this is not an acceptable fix, as it changes
behaviour.
This seems to be a compiler bug, or at least an issue with its
heuristics. However, we can't really change toolchains at the moment,
and ultimately this change improves support for certain older compilers.
BUG=
Review URL: https://codereview.webrtc.org/1406423004
Cr-Commit-Position: refs/heads/master@{#10337}
Two concurrently running decoders will trigger data races on cpu_info_
which is lazily initialized on reading TestCpuFlag without proper
atomics.
BUG=libyuv:508
R=kjellander@webrtc.org
TEST=Running EndToEndTest.SendsAndReceivesMultipleStreams under TSan.
Review URL: https://codereview.webrtc.org/1414093003 .
Cr-Commit-Position: refs/heads/master@{#10335}
- "WebRTC.Video.BandwidthLimitedResolutionInPercent"
If the frame is bandwidth limited, the average number of disabled resolutions is logged:
- "WebRTC.Video.BandwidthLimitedResolutionsDisabled"
BUG=
Review URL: https://codereview.webrtc.org/1311533012
Cr-Commit-Position: refs/heads/master@{#10333}
Reason for revert:
Reverting to see of this resolves build bot failures (Nexus 7.2, especially debug) which now seems to sometimes fail to start tests altogether.
Original issue's description:
> Add screenshare perf tests with lossy links
>
> BUG=
>
> Committed: https://crrev.com/4af0f1a098bc908cfe825981b825687673d5134a
> Cr-Commit-Position: refs/heads/master@{#10290}
TBR=pbos@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=
Review URL: https://codereview.webrtc.org/1415603002
Cr-Commit-Position: refs/heads/master@{#10322}
- "WebRTC.Video.QualityLimitedResolutionInPercent"
and if a frame is downscaled, the average number of times the frame is downscaled:
- "WebRTC.Video.QualityLimitedResolutionDownscales"
BUG=
Review URL: https://codereview.webrtc.org/1325153009
Cr-Commit-Position: refs/heads/master@{#10319}
This CL changes as little as possible and I'll follow up later with
ownership of the other members in ChannelGroup.
The next step is to remove the id used for channels.
BUG=webrtc:5079
Review URL: https://codereview.webrtc.org/1411723002
Cr-Commit-Position: refs/heads/master@{#10318}
External consumers may have a dependency on the old name, so this will give them the opportunity to switch over.
BUG=
Review URL: https://codereview.webrtc.org/1414543002
Cr-Commit-Position: refs/heads/master@{#10310}
Sounds better according to a MUSHRA listening test.
The computational complexity is unaffected.
An empirically estimated gain was added to compensate for the attenuation introduced by the algorithm.
There are some TODOs, which I will address in follow up CLs.
It was tested in Hangouts without headphones and highest volume, to make sure it doesn't affect the AEC.
Review URL: https://codereview.webrtc.org/1378973003
Cr-Commit-Position: refs/heads/master@{#10308}
AudioSendStream will be replacing the send side of VoiceEngine channels and associated APIs. Hence, they will be used transform recorded audio into RTP/RTCP packets that can be transmitted to another party, according to given parameters.
BUG=webrtc:4690
Review URL: https://codereview.webrtc.org/1397123003
Cr-Commit-Position: refs/heads/master@{#10307}
This patch removes set_fail_redirect()/fail_redirect() method accessors
from HttpClient class and converts their usage to
set_redirection_action/redirection_action where appropriate.
BUG=None
R=pthatcher@webrtc.org
Review URL: https://codereview.webrtc.org/1396683005
Cr-Commit-Position: refs/heads/master@{#10304}
Time to keep old events in buffer is now changeable at runtime.
Added unit test for removing old events from buffer.
Review URL: https://codereview.webrtc.org/1303713002
Cr-Commit-Position: refs/heads/master@{#10302}
This removes the TRFC rate control which does not introduce any help in the
computation of the sending rate.
BUG=5083
Review URL: https://codereview.webrtc.org/1383813003
Cr-Commit-Position: refs/heads/master@{#10299}
This is the first CL to get ready for adapting audio bitrate based on
BWE. I've kept this CL as small as possible and had to add a few getters
to ChannelManager. The next CL will do the same for receive ViEChannels.
The getters are a bit uggly, but is an in-between-state. Let's discuss
future ownership of the different modules and what do do with
ChannelGroup.
BUG=5079
Review URL: https://codereview.webrtc.org/1394243006
Cr-Commit-Position: refs/heads/master@{#10298}
Implements SupportsNativeHandle() in SimulcastEncoderAdapter which works
when there's only a single encoder.
BUG=webrtc:5060
R=stefan@webrtc.org
Review URL: https://codereview.webrtc.org/1397653004
Cr-Commit-Position: refs/heads/master@{#10291}
Landmines is a feature used in Chromium that makes it possible to
clobber the build output directory when needed. Example scenarios
are when compiler/tool/infrastructure changes require a full rebuild.
This is mainly to ease clobbering on all bots, but will also ensure
developers don't have to waste time on figuring out what's wrong
(or rely on reading PSA e-mails announcing when such manual action
is required).
This CL depends on https://codereview.chromium.org/1407733002/
being landed and rolled into DEPS first.
BUG=5077
R=kjellander@chromium.org, machenbach@chromium.org
Review URL: https://codereview.webrtc.org/1402923003 .
Cr-Commit-Position: refs/heads/master@{#10287}
Encoders need to be externally provided. To use software encoders they
need to be created and registered from the outside.
BUG=webrtc:1695
R=stefan@webrtc.org
Review URL: https://codereview.webrtc.org/1394823002 .
Cr-Commit-Position: refs/heads/master@{#10283}
After the TransportController CL, BaseSession does little more than
hold a state and an error, and act as an intermediary for the
TransportController. So it doesn't make sense for it to be its own
class.
Review URL: https://codereview.webrtc.org/1397973002
Cr-Commit-Position: refs/heads/master@{#10281}
Also parameterise on PeerConnectionParameters to prepare for more test variations. (capture and encode to textures)
Review URL: https://codereview.webrtc.org/1404093002
Cr-Commit-Position: refs/heads/master@{#10279}
Also updated the RTPPayloadRegistry::RestoreOriginalPacket signature to not take the first arg as a **, since it isn't modified.
Review URL: https://codereview.webrtc.org/1394573004
Cr-Commit-Position: refs/heads/master@{#10276}