Commit Graph

9165 Commits

Author SHA1 Message Date
c3c2f31852 Adds basic Bluetooth support to AppRTCMobile
BUG=webrtc:6649

- Supports Bluetooth Headset profile.
- Detects new BT headset:
  + enabled at start, and
  + powered on during active call.
- Enables/disables BT SCO channel when BT device is selected.
- Removes proximity sensor usage to avoid conflicts (will be added again later).
- Adds new (unused) APIs to explicitly select audio device.
- Starts routing audio to BT headset when enabled, i.e, BT is default.

Review-Url: https://codereview.webrtc.org/2501983002
Cr-Commit-Position: refs/heads/master@{#15610}
2016-12-14 15:37:01 +00:00
db8af2a953 Run 'git cl format --full' on Base64.
# Legal requires us to keep the original license header.
NOPRESUBMIT=true
BUG=None

Review-Url: https://codereview.webrtc.org/2574143002
Cr-Commit-Position: refs/heads/master@{#15609}
2016-12-14 15:15:19 +00:00
9006987243 Remove deprecated RTPSender::SendPadData
BUG=webrtc:5565

Review-Url: https://codereview.webrtc.org/2551143004
Cr-Commit-Position: refs/heads/master@{#15608}
2016-12-14 14:16:43 +00:00
e2ec7c270b Remove static cast from H264SpropParameterSets.
This CL is chained to https://codereview.webrtc.org/2539153002/ .

BUG=webrtc:5948

Review-Url: https://codereview.webrtc.org/2568953005
Cr-Commit-Position: refs/heads/master@{#15607}
2016-12-14 14:08:38 +00:00
930959d261 Improvements to the reliability of the echo detector perf test.
BUG=chromium:673683

Review-Url: https://codereview.webrtc.org/2568883004
Cr-Commit-Position: refs/heads/master@{#15606}
2016-12-14 13:48:25 +00:00
8fc0c4c32f Add vector<uint8_t> to Base64 decoded data types.
This is a prerequisite to decode fmtp sprop-parameter-sets into
the right encoding for H264SpsPpsTracker.

# Legal requires us to keep the original license header.
NOPRESUBMIT=true
BUG=webrtc:5948

Review-Url: https://codereview.webrtc.org/2539153002
Cr-Commit-Position: refs/heads/master@{#15604}
2016-12-14 12:13:05 +00:00
a5bb562bfe Delete webrtc/transport.h.
Preliminary work for this deletion was done in
https://codereview.webrtc.org/2426563003. The header has been moved to
webrtc/api/transport.h. This follow-up CL may cause breakages for
clients that have not updated their includes.

TBR=kwiberg@webrtc.org
BUG=webrtc:6785

Review-Url: https://codereview.webrtc.org/2568953007
Cr-Commit-Position: refs/heads/master@{#15601}
2016-12-14 11:48:53 +00:00
9e1e6c599d Corrected access of null pointer in audioproc_f:
The previous CL that added the ability to add
and artificial nearend signal had an issue with
null pointer access.

This is addressed in this CL.

BUG=webrtc:6018

Review-Url: https://codereview.webrtc.org/2573033003
Cr-Commit-Position: refs/heads/master@{#15600}
2016-12-14 11:12:27 +00:00
63e6a38745 Removes verification of audio parameters on Android
TBR=glaznev
BUG=webrtc:6890

Review-Url: https://codereview.webrtc.org/2572963003
Cr-Commit-Position: refs/heads/master@{#15599}
2016-12-14 10:53:31 +00:00
0989fbcad2 Revert of Delete VideoFrame default constructor, and IsZeroSize method. (patchset #5 id:80001 of https://codereview.webrtc.org/2541863002/ )
Reason for revert:
Crashes perf tests, e.g.,

./out/Debug/webrtc_perf_tests --gtest_filter='FullStackTest.ScreenshareSlidesVP8_2TL_VeryLossyNet'

dies with an assert related to rtc::Optional.

Original issue's description:
> Delete VideoFrame default constructor, and IsZeroSize method.
>
> This ensures that the video_frame_buffer method never can return a
> null pointer.
>
> BUG=webrtc:6591
>
> Committed: https://crrev.com/bfcf561923a42005e4c7d66d8e72e5932155f997
> Cr-Commit-Position: refs/heads/master@{#15574}

TBR=magjed@webrtc.org,stefan@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:6591

Review-Url: https://codereview.webrtc.org/2574123002
Cr-Commit-Position: refs/heads/master@{#15597}
2016-12-14 10:06:49 +00:00
7b2516620c Fix for left shift of negative value in NetEq.
BUG=chromium:666612

Review-Url: https://codereview.webrtc.org/2569193002
Cr-Commit-Position: refs/heads/master@{#15596}
2016-12-14 10:00:02 +00:00
bd6c6fa309 Delete method Pathname::url and base/urlencode*
BUG=webrtc:6424

Review-Url: https://codereview.webrtc.org/2572703002
Cr-Commit-Position: refs/heads/master@{#15595}
2016-12-14 09:43:08 +00:00
bb66ec3573 Disable flaky test VideoProcessorIntegrationTest.ProcessNoLossChangeFrameRateFrameDropVP9
This test is flaky on all platforms, not just Android. Disabling it entirely until webrtc:6057 is fixed.

BUG=webrtc:6057

Review-Url: https://codereview.webrtc.org/2568743007
Cr-Commit-Position: refs/heads/master@{#15594}
2016-12-14 09:17:34 +00:00
e0eae3cec6 This CL adds the basic framework for AEC3 in the audio processing module.
It will be followed by a number of other CLs that extends this framework.

BUG=webrtc:6018

Review-Url: https://codereview.webrtc.org/2567513003
Cr-Commit-Position: refs/heads/master@{#15593}
2016-12-14 09:16:28 +00:00
db397429d4 Delete unused class rtc::RegKey.
BUG=webrtc:6424

Review-Url: https://codereview.webrtc.org/2571763002
Cr-Commit-Position: refs/heads/master@{#15592}
2016-12-14 08:30:33 +00:00
43c5a974b4 Delete stl_util.h. Unused since cl https://codereview.webrtc.org/2447103002
BUG=None

Review-Url: https://codereview.webrtc.org/2570833002
Cr-Commit-Position: refs/heads/master@{#15590}
2016-12-14 08:07:44 +00:00
8afbc8cba6 Revert of Delete rtc::linked_ptr. Only use, in statstypes.h, replaced bu std::unique_ptr. (patchset #1 id:1 of https://codereview.webrtc.org/2567143003/ )
Reason for revert:
The change from rtc::linked_ptr to std::unique_ptr broke a downstream project.

Original issue's description:
> Delete rtc::linked_ptr. Only use, in statstypes.h, replaced with std::unique_ptr.
>
> BUG=webrtc:6424
>
> Committed: https://crrev.com/36f74e55792cae19db8b222c29aa38d6e0eb1225
> Cr-Commit-Position: refs/heads/master@{#15588}

TBR=solenberg@webrtc.org,pthatcher@webrtc.org,hta@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:6424

Review-Url: https://codereview.webrtc.org/2576673002
Cr-Commit-Position: refs/heads/master@{#15589}
2016-12-14 08:06:38 +00:00
36f74e5579 Delete rtc::linked_ptr. Only use, in statstypes.h, replaced with std::unique_ptr.
BUG=webrtc:6424

Review-Url: https://codereview.webrtc.org/2567143003
Cr-Commit-Position: refs/heads/master@{#15588}
2016-12-14 07:36:26 +00:00
a5073c0c97 Disable AudioDeviceTest.StartPlayoutOnTwoInstances on iOS
This test fails when running on real iOS devices.

BUG=webrtc:6889
TBR=henrika@webrtc.org

Review-Url: https://codereview.webrtc.org/2576653002 .
Cr-Commit-Position: refs/heads/master@{#15586}
2016-12-14 06:25:24 +00:00
62802a1b0e Fixing possible crash due to RefCountedChannel assignment operator.
We relied on the default destructor of RefCountedChannel to destroy its
members in reverse initialization order (deleting the DTLS wrapper
before the underlying ICE channel).

However, std::vector also may use the default assignment operator, which
performs a member-wise copy in initialization order. Which results in
deleting the ICE channel before the DTLS one. This CL fixes this by
using a vector of pointers instead of structures, and uses RefCountedObject
to handle ref-counting.

BUG=chromium:672951

Review-Url: https://codereview.webrtc.org/2571683004
Cr-Commit-Position: refs/heads/master@{#15583}
2016-12-14 00:38:46 +00:00
b236257763 Fixing integer overflow when parsing bandwidth attribute.
It's still valid SDP so just clamp it at INT_MAX.

BUG=chromium:648071

Review-Url: https://codereview.webrtc.org/2571073002
Cr-Commit-Position: refs/heads/master@{#15582}
2016-12-14 00:37:16 +00:00
95aa96465d Support external audio mixer in webrtc 2.
An external audio mixer will be passed from PeerConnectionFactory to
AudioTransportProxy.

This CL has rewritten based on reverted CL
https://codereview.chromium.org/2539213003/
The only difference is that
  static MediaEngineInterface* Create(
      webrtc::AudioDeviceModule* adm,
      const rtc::scoped_refptr<webrtc::AudioDecoderFactory>&
          audio_decoder_factory,
      WebRtcVideoEncoderFactory* video_encoder_factory,
      WebRtcVideoDecoderFactory* video_decoder_factory);
in media/engine/webrtcmediaengine.h is kept in this CL instead of
replaced for backward compatibility.

BUG=webrtc:6457

Review-Url: https://codereview.webrtc.org/2570993002
Cr-Commit-Position: refs/heads/master@{#15580}
2016-12-13 22:06:35 +00:00
7af91ddd6b Removing "crypto_required" from MediaContentDescription.
"Crypto required" is a property of the PeerConnection of construction
time; it has nothing to do with SDP. So I'm moving it out of
MediaContentDescription and putting it in the BaseChannel constructor
instead. This is more intuitive, and provides the added assurance that
"secure_required_" can't be flipped from "true" to "false".

BUG=None

Review-Url: https://codereview.webrtc.org/2537343003
Cr-Commit-Position: refs/heads/master@{#15579}
2016-12-13 19:29:16 +00:00
b68cc75f19 ParseCandidate(): Refactor to fix memcheck false positive.
Also make supported protocols explicit in check.

Fix inconsistency where TLS_PROTOCOL_NAME was not exported.

BUG=webrtc:6885

Review-Url: https://codereview.webrtc.org/2570803003
Cr-Commit-Position: refs/heads/master@{#15577}
2016-12-13 18:33:47 +00:00
301fc4a712 Update common_audio/smoothing_filter.
The improvement is mainly to extrapolate missing samples so that when querying the output, it assumes the input to continue even if no actual new samples are added.

The new implementation does not rely on base/exp_filter any longer. This is because it would be a bit cumbersome. base/exp_filter does pre-extrapolate, i.e., it assumes the all missing samples since the last sample equals the new sample.

BUG=webrtc:6443

Review-Url: https://codereview.webrtc.org/2551363002
Cr-Commit-Position: refs/heads/master@{#15575}
2016-12-13 14:53:07 +00:00
bfcf561923 Delete VideoFrame default constructor, and IsZeroSize method.
This ensures that the video_frame_buffer method never can return a
null pointer.

BUG=webrtc:6591

Review-Url: https://codereview.webrtc.org/2541863002
Cr-Commit-Position: refs/heads/master@{#15574}
2016-12-13 14:08:39 +00:00
46711db355 Disable flaky QualityScaler tests for now.
BUG=webrtc:6799
TBR=sprang@webrtc.org

Review-Url: https://codereview.webrtc.org/2564423002
Cr-Commit-Position: refs/heads/master@{#15573}
2016-12-13 13:32:31 +00:00
277b250936 Refactor "secure bool" into explicit PROTO_TLS.
BUG=none

Review-Url: https://codereview.webrtc.org/2568833002
Cr-Commit-Position: refs/heads/master@{#15572}
2016-12-13 13:17:31 +00:00
ef16e9960f Add a gtk3 port of peerconnection_client on Linux
BUG=668446

Review-Url: https://codereview.webrtc.org/2563203002
Cr-Commit-Position: refs/heads/master@{#15569}
2016-12-13 10:57:50 +00:00
349092befe Logging basic bad call detection
BUG=webrtc:6814

Review-Url: https://codereview.webrtc.org/2474913002
Cr-Commit-Position: refs/heads/master@{#15568}
2016-12-13 10:46:06 +00:00
e381015ca0 Revert of New PeerConnectionInterface::GetStats: No bogus default implementation. (patchset #1 id:1 of https://codereview.webrtc.org/2566143002/ )
Reason for revert:
Breaks google3 importer:
http://webrtc-buildbot-master.mtv.corp.google.com:21000/builders/WebRTC%20google3%20Importer/builds/11260

Original issue's description:
> New PeerConnectionInterface::GetStats: No bogus default implementation.
>
> The Chromium mock implementation implements the new GetStats API, so we
> can remove this default implementation.
>
> BUG=chromium:627816
>
> Committed: https://crrev.com/8f2309478da41cd8b829d022874dfd5ddc58551c
> Cr-Commit-Position: refs/heads/master@{#15563}

TBR=deadbeef@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:627816

Review-Url: https://codereview.webrtc.org/2575493002
Cr-Commit-Position: refs/heads/master@{#15567}
2016-12-13 10:35:24 +00:00
07e276c8d5 Rename RtpStreamReceiver::SetCodec() to ::AddCodec().
AddCodec represents better what this function actually does.

BUG=None

Review-Url: https://codereview.webrtc.org/2573593003
Cr-Commit-Position: refs/heads/master@{#15565}
2016-12-13 10:23:43 +00:00
8f2309478d New PeerConnectionInterface::GetStats: No bogus default implementation.
The Chromium mock implementation implements the new GetStats API, so we
can remove this default implementation.

BUG=chromium:627816

Review-Url: https://codereview.webrtc.org/2566143002
Cr-Commit-Position: refs/heads/master@{#15563}
2016-12-13 09:45:15 +00:00
03392d0047 Fix for negative shift value in NetEq.
BUG=chromium:667028

Review-Url: https://codereview.webrtc.org/2562423002
Cr-Commit-Position: refs/heads/master@{#15562}
2016-12-13 09:05:37 +00:00
921019c48b Delete unused class AsyncFile.
BUG=webrtc:6424

Review-Url: https://codereview.webrtc.org/2566953002
Cr-Commit-Position: refs/heads/master@{#15561}
2016-12-13 07:56:01 +00:00
6de92f9255 Don't allow changing ICE pool size after SetLocalDescription.
This was the decision at IETF 97
(see: https://github.com/rtcweb-wg/jsep/issues/381). It's simpler to not
allow this (since there's no real need for it) rather than try to decide
complex rules for it.

BUG=webrtc:6864

Review-Url: https://codereview.webrtc.org/2566833002
Cr-Commit-Position: refs/heads/master@{#15559}
2016-12-13 02:49:40 +00:00
25ed435afe Implement parsing/serialization of a=bundle-only.
This CL doesn't start *using* a=bundle-only; it just adds support for
parsing it. We need to do this first, because otherwise old versions of
WebRTC will interpret a zero port value as a rejected m= section.

BUG=webrtc:4674

Review-Url: https://codereview.webrtc.org/2562183002
Cr-Commit-Position: refs/heads/master@{#15558}
2016-12-13 02:37:41 +00:00
39ce11f7f6 Revert of Support external audio mixer. (patchset #5 id:140001 of https://codereview.webrtc.org/2539213003/ )
Reason for revert:
A interface change broke some downstream code in google3.

Original issue's description:
> Support external audio mixer in webrtc.
>
> An external audio mixer will be passed from PeerConnectionFactory to
> AudioTransportProxy.
>
> BUG=webrtc:6457
>
> Committed: https://crrev.com/f6bcac59e88c3be5ffd73bbb1098f2d82ee316a1
> Cr-Commit-Position: refs/heads/master@{#15556}

TBR=solenberg@webrtc.org,aleloi@webrtc.org,deadbeef@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:6457

Review-Url: https://codereview.webrtc.org/2562333003
Cr-Commit-Position: refs/heads/master@{#15557}
2016-12-13 01:07:00 +00:00
f6bcac59e8 Support external audio mixer in webrtc.
An external audio mixer will be passed from PeerConnectionFactory to
AudioTransportProxy.

BUG=webrtc:6457

Review-Url: https://codereview.webrtc.org/2539213003
Cr-Commit-Position: refs/heads/master@{#15556}
2016-12-13 00:25:16 +00:00
1354901663 Making audio network adaptor config proto a JAVA package.
BUG=webrtc:6303

Review-Url: https://codereview.webrtc.org/2568043002
Cr-Commit-Position: refs/heads/master@{#15555}
2016-12-12 22:06:25 +00:00
580df537ce Fix header guard in thread_annotations.h.
It was using a non-WebRTC-named header guard, which could conflict with
other similarly named/intended headers.

BUG=None
NO_DEPENDENCY_CHECKS=true

Review-Url: https://codereview.webrtc.org/2548113002
Cr-Commit-Position: refs/heads/master@{#15554}
2016-12-12 21:36:56 +00:00
e5ba75a658 Destroy encoders that fail to InitEncode.
SimulcastEncoderAdapter calls Release() on a failed sub-encoder init,
but Release only knows how to clean up encoders that have registered
stream info. Since failed ones don't register, they aren't currently
cleaned up.

BUG=None

Review-Url: https://codereview.webrtc.org/2544003005
Cr-Commit-Position: refs/heads/master@{#15553}
2016-12-12 21:08:36 +00:00
cb44343006 Add SSRC to RtpEncodingParameters for audio.
Was added for video initially, but not for audio.

BUG=webrtc:6862

Review-Url: https://codereview.webrtc.org/2568553002
Cr-Commit-Position: refs/heads/master@{#15552}
2016-12-12 19:12:42 +00:00
4f19b2fe09 Add OWNERS to BWE modules.
BUG=None

Review-Url: https://codereview.webrtc.org/2556703002
Cr-Commit-Position: refs/heads/master@{#15550}
2016-12-12 15:53:39 +00:00
fe793eb2d1 Remove sequenced task checker from FlexfecSender.
The packetization parts of this class are accessed from the
encoder thread, which might change under different occasions.
The use of a sequenced task checker here is thus incorrect, since
that requires the access to always be on the same thread, whenever
a task queue is not used.

The access to the instantiated object of this class, at least when
it comes to the RTP packetization parts, is however synchronized
using the lock in PayloadRouter::OnEncodedImage. We can therefore
safely remove the sequenced task checker.

BUG=webrtc:5654

Review-Url: https://codereview.webrtc.org/2562983002
Cr-Commit-Position: refs/heads/master@{#15549}
2016-12-12 15:14:03 +00:00
a9a6d4bc2c Delete voice_engine_configurations.h
The file was aldready pruned down to the point where it only included
webrtc/typedefs.h. Therefore, all includes of
voice_engine_configurations.h are replaced with typedefs.h, except on
two occasions where it was obvously not needed.

BUG=webrtc:6506

Review-Url: https://codereview.webrtc.org/2553583002
Cr-Commit-Position: refs/heads/master@{#15547}
2016-12-12 13:03:08 +00:00
ba7e71b53a remove googViewLimitedResolution stat
adaptReason in webrtcvideoengine2.h only defines NONE=0, CPU=1 and BANDWIDTH=2 so &0x4 can not happen anymore.
This was probably never implemented in videoengine2

BUG=webrtc:6870

Review-Url: https://codereview.webrtc.org/1887773002
Cr-Commit-Position: refs/heads/master@{#15546}
2016-12-12 12:46:27 +00:00
d2ce622ea1 Disabling the potentially flaky test
VideoProcessorIntegrationTest.
ProcessNoLossSpatialResizeFrameDropVP9

TBR=sprang@webrtc.org

BUG=webrtc:6873

Review-Url: https://codereview.webrtc.org/2565373002
Cr-Commit-Position: refs/heads/master@{#15545}
2016-12-12 11:21:21 +00:00
bd44bb0184 Fix out of bound reads in ParseIceServerUrl() for various input.
BUG=webrtc:6835

Review-Url: https://codereview.webrtc.org/2556783002
Cr-Commit-Position: refs/heads/master@{#15544}
2016-12-12 11:14:34 +00:00
65a1e77202 Try to deflake VideoSendStream tests with ULPFEC.
The changes here are the same as in https://codereview.webrtc.org/2523993002/:
- reduce packet loss from 50% to 5%, to allow the BWE to ramp up better.
- Do not wait for 100 packets to be sent before letting the test pass.

BUG=webrtc:6851

Review-Url: https://codereview.webrtc.org/2558303002
Cr-Commit-Position: refs/heads/master@{#15542}
2016-12-12 09:55:09 +00:00