Commit Graph

9886 Commits

Author SHA1 Message Date
45c136b579 Adds support for Bluetooth headsets to the iOS audio layer.
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}
2015-10-21 11:12:01 +00:00
6e587200db Introduce rtc::Maybe<T>, which either contains a T or not.
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}
2015-10-21 10:44:17 +00:00
b64a32bf25 Remove old VideoFrame::Reset.
Hopefully all external implementations are updated, I could build
Chromium locally with this patch. This Reset implementation causes (for
some mysterious reason) -WError=overloaded-virtual failures when trying
to build libjingle APKs.

R=guoweis@webrtc.org, magjed@webrtc.org, pthatcher@webrtc.org
BUG=webrtc:2365

Review URL: https://codereview.webrtc.org/1411253002 .

Cr-Commit-Position: refs/heads/master@{#10352}
2015-10-21 09:54:10 +00:00
3b7c793574 New DtlsIdentityStoreInterface::RequestIdentity added that takes rtc::KeyParams. The old RequestIdentity still exists that take rtc::KeyType.
Default implementation added that invokes the other RequestIdentity method, adding default parameters or dropping the parameters.

This CL is in preparation for removing the RequestIdentity that takes rtc::KeyType, necessary as to not break Chromium.

BUG=webrtc:4927, 528250

Review URL: https://codereview.webrtc.org/1414243003

Cr-Commit-Position: refs/heads/master@{#10351}
2015-10-21 08:44:27 +00:00
a01d440223 Revert of Add experiment on weak ping delay during call set up time (patchset #4 id:60001 of https://codereview.webrtc.org/1411883002/ )
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}
2015-10-21 08:07:32 +00:00
86b016027d Add stats for average QP per frame for VP8 (for received video streams):
"WebRTC.Video.Decoded.VP8.Qp"

BUG=chromium:512752

Review URL: https://codereview.webrtc.org/1340623002

Cr-Commit-Position: refs/heads/master@{#10349}
2015-10-21 06:55:32 +00:00
47dcb23393 Roll chromium_revision 01cbe8a..9a72f7c (355025:355218)
Change log: 01cbe8a..9a72f7c
Full diff: 01cbe8a..9a72f7c

Changed dependencies:
* src/third_party/libvpx_new/source/libvpx: 66bf686..b44c5cf
* src/tools/gyp: 01528c7..3f21260
* src/tools/swarming_client: 3db8780..b64f042
DEPS diff: 01cbe8a..9a72f7c/DEPS

No update to Clang.

TBR=marpan@webrtc.org, stefan@webrtc.org,
CQ_EXTRA_TRYBOTS=tryserver.webrtc:win_baremetal,mac_baremetal,linux_baremetal

Review URL: https://codereview.webrtc.org/1407363003

Cr-Commit-Position: refs/heads/master@{#10348}
2015-10-21 06:50:39 +00:00
fcab1cdcac Disable VP9 resize test for now.
Will re-enable after libvpx roll,
needs to be updated.

TBR=stefan@webrtc.org
BUG=webrtc:5097

Review URL: https://codereview.webrtc.org/1417873002 .

Cr-Commit-Position: refs/heads/master@{#10347}
2015-10-21 06:10:21 +00:00
e4f96501fc Remove system_wrappers/interface/trace_event.h
BUG=

Review URL: https://codereview.webrtc.org/1417773002

Cr-Commit-Position: refs/heads/master@{#10346}
2015-10-21 06:00:57 +00:00
3cf20ed676 Will re-enable after libvpx roll,
needs to be updated.

BUG=

TBR=stefan@webrtc.org

Review URL: https://codereview.webrtc.org/1410013005 .

Cr-Commit-Position: refs/heads/master@{#10345}
2015-10-21 03:27:47 +00:00
0a617e22a4 Remove the default send channel in WVoE.
BUG=webrtc:4690

Review URL: https://codereview.webrtc.org/1364643003

Cr-Commit-Position: refs/heads/master@{#10344}
2015-10-20 22:49:45 +00:00
3bf69b15f4 Add experiment on weak ping delay during call set up time
BUG=
R=pthatcher@webrtc.org

Review URL: https://codereview.webrtc.org/1411883002 .

Cr-Commit-Position: refs/heads/master@{#10343}
2015-10-20 19:09:45 +00:00
30a5b5e9fb passing |buffer| by reference in AndroidVideoCapturer::OnIncomingFrame
BUG=webrtc:5062

Review URL: https://codereview.webrtc.org/1414703002

Cr-Commit-Position: refs/heads/master@{#10342}
2015-10-20 18:05:02 +00:00
hta
3866c4fb46 Testing that waiting for a condition variable waits.
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}
2015-10-20 16:31:04 +00:00
43e83d44f0 Revert of Implement AudioReceiveStream::GetStats(). (patchset #19 id:360001 of https://codereview.webrtc.org/1390753002/ )
Reason for revert:
webrtc_perf_tests started failing on Win32 Release, Mac32 Release and Linux64 Release (all running large tests). These were not caught by try bots.

Original issue's description:
> Implement AudioReceiveStream::GetStats().
>
> R=tommi@webrtc.org
> TBR=hta@webrtc.org
> BUG=webrtc:4690
>
> Committed: a457752f4a

TBR=tommi@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:4690

Review URL: https://codereview.webrtc.org/1411083006

Cr-Commit-Position: refs/heads/master@{#10340}
2015-10-20 13:41:06 +00:00
5a197dd617 Remove files added by mistake.
For some reason git cl land (which needed to be used to bypass presubmit complaints) pulled in xcode workspace files, when landing https://codereview.webrtc.org/1390753002/

BUG=webrtc:4690
TBR=tommi@webrtc.org

Review URL: https://codereview.webrtc.org/1408423005 .

Cr-Commit-Position: refs/heads/master@{#10339}
2015-10-20 13:11:51 +00:00
a457752f4a Implement AudioReceiveStream::GetStats().
R=tommi@webrtc.org
TBR=hta@webrtc.org
BUG=webrtc:4690

Review URL: https://codereview.webrtc.org/1390753002 .

Cr-Commit-Position: refs/heads/master@{#10338}
2015-10-20 13:01:55 +00:00
5460f9b81d Workaround for false positive -Wmaybe-uninitialized being triggered on some compilers
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}
2015-10-20 12:45:09 +00:00
9172234c5c Roll chromium_revision 5d149df..01cbe8a (354955:355025)
Change log: 5d149df..01cbe8a
Full diff: 5d149df..01cbe8a

No dependencies changed.
No update to Clang.

TBR=
CQ_EXTRA_TRYBOTS=tryserver.webrtc:win_baremetal,mac_baremetal,linux_baremetal

Review URL: https://codereview.webrtc.org/1413223004

Cr-Commit-Position: refs/heads/master@{#10336}
2015-10-20 12:11:02 +00:00
7ae9262745 Suppress libyuv::TestCpuFlag races.
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}
2015-10-20 11:37:41 +00:00
eff0fc6775 Adding missing stats class registration, lost in #10298.
R=pbos@webrtc.org

Review URL: https://codereview.webrtc.org/1408233004 .

Cr-Commit-Position: refs/heads/master@{#10334}
2015-10-20 09:06:49 +00:00
da535c4055 Add histogram for percentage of sent frames that are limited in resolution due to bandwidth:
- "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}
2015-10-20 06:32:48 +00:00
42b1478639 Roll chromium_revision 0f9b2fd..5d149df (354799:354955)
Change log: 0f9b2fd..5d149df
Full diff: 0f9b2fd..5d149df

Changed dependencies:
* src/third_party/libyuv: 41c6cc7..e6a54f2
DEPS diff: 0f9b2fd..5d149df/DEPS

No update to Clang.

TBR=
CQ_EXTRA_TRYBOTS=tryserver.webrtc:win_baremetal,mac_baremetal,linux_baremetal

Review URL: https://codereview.webrtc.org/1407133004

Cr-Commit-Position: refs/heads/master@{#10332}
2015-10-20 03:01:58 +00:00
1897f77806 Make the high frequency correction range depend on the target angle
Depends on this CL: https://codereview.webrtc.org/1388033002/

Review URL: https://codereview.webrtc.org/1395453004

Cr-Commit-Position: refs/heads/master@{#10331}
2015-10-20 02:49:34 +00:00
4a66e4a4d8 Make the separation between target and interferer scenario depend on microphone spacing in NonlinearBeamformer
Depends on this CL: https://codereview.webrtc.org/1378973003/

Review URL: https://codereview.webrtc.org/1388033002

Cr-Commit-Position: refs/heads/master@{#10330}
2015-10-20 01:02:43 +00:00
c6aec4b8ed Fix HW video codec stack traces reporting.
Print stack traces for active instance only.
Also add Nexus 4 to H.264 encoder blacklist.

R=wzh@webrtc.org

Review URL: https://codereview.webrtc.org/1412833004 .

Cr-Commit-Position: refs/heads/master@{#10329}
2015-10-19 23:39:33 +00:00
0d97d53808 Fix off-by-one error in PRNG.
BUG=

Review URL: https://codereview.webrtc.org/1412183002

Cr-Commit-Position: refs/heads/master@{#10328}
2015-10-19 21:07:46 +00:00
86721fef6c Roll chromium_revision 8801af5..0f9b2fd (354718:354799)
Change log: 8801af5..0f9b2fd
Full diff: 8801af5..0f9b2fd

No dependencies changed.
No update to Clang.

TBR=
CQ_EXTRA_TRYBOTS=tryserver.webrtc:win_baremetal,mac_baremetal,linux_baremetal

Review URL: https://codereview.webrtc.org/1412203003

Cr-Commit-Position: refs/heads/master@{#10327}
2015-10-19 20:31:35 +00:00
dd2bd26b6d Update iOS merge script.
BUG=

Review URL: https://codereview.webrtc.org/1414573002

Cr-Commit-Position: refs/heads/master@{#10326}
2015-10-19 19:54:12 +00:00
023f3ef029 Create network change notifier and pass the event to NetworkManager
BUG=

Review URL: https://codereview.webrtc.org/1391703003

Cr-Commit-Position: refs/heads/master@{#10325}
2015-10-19 16:39:38 +00:00
0dbf0090a9 Remove the video channel id completely.
BUG=webrtc:5079

Review URL: https://codereview.webrtc.org/1412143002

Cr-Commit-Position: refs/heads/master@{#10324}
2015-10-19 15:12:19 +00:00
f56eca031c Remove dummyinstantiation.cc.
Prevented Android libjingle APK building since EnsureAPIMatch is defined
but not used.

BUG=webrtc:2365
R=solenberg@webrtc.org

Review URL: https://codereview.webrtc.org/1410643005 .

Cr-Commit-Position: refs/heads/master@{#10323}
2015-10-19 12:47:20 +00:00
65a036780b Revert of Add screenshare perf tests with lossy links (patchset #1 id:1 of https://codereview.webrtc.org/1409513005/ )
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}
2015-10-19 10:59:13 +00:00
5a28939392 Added thread checker to webrtc::Call.
BUG=

Review URL: https://codereview.webrtc.org/1403353003

Cr-Commit-Position: refs/heads/master@{#10321}
2015-10-19 10:39:27 +00:00
22993e1a0c Unify FrameType and VideoFrameType.
Prevents some heap allocation and frame-type conversion since interfaces
mismatch. Also it's less confusing to have one type for this.

BUG=webrtc:5042
R=magjed@webrtc.org, mflodman@webrtc.org, henrik.lundin@webrtc.org, solenberg@webrtc.org, stefan@webrtc.org

Review URL: https://codereview.webrtc.org/1371043003

Cr-Commit-Position: refs/heads/master@{#10320}
2015-10-19 09:39:15 +00:00
4306fc70d7 Add histogram for percentage of sent frames that are limited in resolution due to quality:
- "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}
2015-10-19 07:35:27 +00:00
a20de2030f Move ownership of receive ViEChannel to VideoReceiveStream.
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}
2015-10-19 05:08:29 +00:00
1c49bf91a8 Roll chromium_revision 37d6b63..8801af5 (354704:354718)
Change log: 37d6b63..8801af5
Full diff: 37d6b63..8801af5

No dependencies changed.
No update to Clang.

TBR=
CQ_EXTRA_TRYBOTS=tryserver.webrtc:win_baremetal,mac_baremetal,linux_baremetal

Review URL: https://codereview.webrtc.org/1409703004

Cr-Commit-Position: refs/heads/master@{#10317}
2015-10-19 02:47:34 +00:00
2f2417540a Roll chromium_revision 406df39..37d6b63 (354701:354704)
Change log: 406df39..37d6b63
Full diff: 406df39..37d6b63

No dependencies changed.
No update to Clang.

TBR=
CQ_EXTRA_TRYBOTS=tryserver.webrtc:win_baremetal,mac_baremetal,linux_baremetal

Review URL: https://codereview.webrtc.org/1417453002

Cr-Commit-Position: refs/heads/master@{#10316}
2015-10-18 19:30:21 +00:00
1760ba315e Roll chromium_revision d2e1b51..406df39 (354694:354701)
Change log: d2e1b51..406df39
Full diff: d2e1b51..406df39

No dependencies changed.
No update to Clang.

TBR=
CQ_EXTRA_TRYBOTS=tryserver.webrtc:win_baremetal,mac_baremetal,linux_baremetal

Review URL: https://codereview.webrtc.org/1408283004

Cr-Commit-Position: refs/heads/master@{#10315}
2015-10-18 10:49:56 +00:00
0d2e70ee7f Roll chromium_revision 54d0dc5..d2e1b51 (354685:354694)
Change log: 54d0dc5..d2e1b51
Full diff: 54d0dc5..d2e1b51

No dependencies changed.
No update to Clang.

TBR=
CQ_EXTRA_TRYBOTS=tryserver.webrtc:win_baremetal,mac_baremetal,linux_baremetal

Review URL: https://codereview.webrtc.org/1414623002

Cr-Commit-Position: refs/heads/master@{#10314}
2015-10-18 02:47:47 +00:00
df200d1ef7 Suppressing TestUdpReadyToSendIPv4 on ASan.
The test is flaky on Asan.

BUG=webrtc:4958

Review URL: https://codereview.webrtc.org/1388203004

Cr-Commit-Position: refs/heads/master@{#10313}
2015-10-17 20:10:50 +00:00
743f50aac8 Roll chromium_revision a3402c9..54d0dc5 (354680:354685)
Change log: a3402c9..54d0dc5
Full diff: a3402c9..54d0dc5

No dependencies changed.
No update to Clang.

TBR=
CQ_EXTRA_TRYBOTS=tryserver.webrtc:win_baremetal,mac_baremetal,linux_baremetal

Review URL: https://codereview.webrtc.org/1414603002

Cr-Commit-Position: refs/heads/master@{#10312}
2015-10-17 18:51:04 +00:00
ecce2baa33 Roll chromium_revision ae74f84..a3402c9 (354660:354680)
Change log: ae74f84..a3402c9
Full diff: ae74f84..a3402c9

No dependencies changed.
No update to Clang.

TBR=
CQ_EXTRA_TRYBOTS=tryserver.webrtc:win_baremetal,mac_baremetal,linux_baremetal

Review URL: https://codereview.webrtc.org/1412913002

Cr-Commit-Position: refs/heads/master@{#10311}
2015-10-17 10:49:20 +00:00
3eab10d629 Add back an override of RestoreOriginalPacket.
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}
2015-10-17 08:06:46 +00:00
89f168a05d Roll chromium_revision 238710d..ae74f84 (354489:354660)
Change log: 238710d..ae74f84
Full diff: 238710d..ae74f84

No dependencies changed.
No update to Clang.

TBR=
CQ_EXTRA_TRYBOTS=tryserver.webrtc:win_baremetal,mac_baremetal,linux_baremetal

Review URL: https://codereview.webrtc.org/1408333002

Cr-Commit-Position: refs/heads/master@{#10309}
2015-10-17 03:34:22 +00:00
45daf7b26f Implement new version of the NonlinearBeamformer
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}
2015-10-17 00:04:14 +00:00
c7a8b08a7c Add webrtc::AudioSendStream and methods on webrtc::Call to create and delete AudioSendStreams.
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}
2015-10-16 21:35:11 +00:00
9781152e04 Add new Android camera events.
Add events to track when camera is requested to open,
when first camera frame is available and when camera is
closed.

BUG=b/24271359
R=perkj@webrtc.org

Review URL: https://codereview.webrtc.org/1398793005 .

Cr-Commit-Position: refs/heads/master@{#10306}
2015-10-16 20:10:24 +00:00
be16f79818 Remove simulcast bitrate modes.
Instead always use the SBM_VERY_HIGH setting.

BUG=webrtc:4885
R=hta@webrtc.org, mflodman@webrtc.org

Review URL: https://codereview.webrtc.org/1407693005

Cr-Commit-Position: refs/heads/master@{#10305}
2015-10-16 19:49:47 +00:00