9068 Commits

Author SHA1 Message Date
zijiehe
2769ec62c0 Add WriteIsolatedOutput() functions
WriteIsolatedOutput() functions write large content into swarming isolated
output folder, which are useful to log large test data for debugging purpose.

BUG=webrtc:6732

TBR=holmer@webrtc.org

Review-Url: https://codereview.webrtc.org/2558693002
Cr-Commit-Position: refs/heads/master@{#15616}
2016-12-14 23:03:11 +00:00
hta
88cf05cf73 Guard against uninitialized packetization modes.
This change inserts a RTC_CHECK for illegal packetization modes
when RTP packetizers are constructed.

This should help find places where this field is not initialized.

BUG=webrtc:6858

Review-Url: https://codereview.webrtc.org/2575073002
Cr-Commit-Position: refs/heads/master@{#15614}
2016-12-14 20:48:39 +00:00
hbos
9a394f0649 Skip RTCMediaStreamTrackStats.echoReturnLoss[Enhancement] default value.
Due to the Chromium implementation[1] of GetAudioProcesssingStats,
echoReturnLoss and echoReturnLossEnhancement could default to -100 when
no value was available. This should be improved by using rtc::Optional
or AudioProcessorInterface::GetStats being able to return false, but
this requires a bunch of refactoring.

In the meantime we "blacklist" the value -100 which is a nonsense value
anyway. In that case echoReturnLoss[Enhancement] is correctly left
undefined.

[1] https://cs.chromium.org/chromium/src/content/renderer/media/media_stream_audio_processor_options.cc?sq=package:chromium&dr=C&rcl=1481530670&l=461

BUG=chromium:669877

Review-Url: https://codereview.webrtc.org/2573443002
Cr-Commit-Position: refs/heads/master@{#15611}
2016-12-14 15:58:30 +00:00
henrika
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
johan
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
danilchap
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
johan
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
ivoc
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
johan
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
aleloi
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
peah
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
henrika
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
nisse
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
ivoc
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
nisse
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
skvlad
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
peah
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
nisse
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
nisse
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
nisse
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
nisse
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
Henrik Kjellander
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
deadbeef
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
deadbeef
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
gyzhou
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
deadbeef
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
hnsl
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
minyue
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
nisse
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
kthelgason
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
hnsl
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
thomasanderson
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
palmkvist
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
hbos
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
johan
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
hbos
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
ivoc
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
nisse
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
deadbeef
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
deadbeef
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
gyzhou
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
gyzhou
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
minyue
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
noahric
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
noahric
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
deadbeef
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
stefan
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
brandtr
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
henrik.lundin
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
philipp.hancke
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