Commit Graph

15338 Commits

Author SHA1 Message Date
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
ccecdd4560 Roll chromium_revision 45a928c03f..e5fe50e808 (437857:437879)
Change log: 45a928c03f..e5fe50e808
Full diff: 45a928c03f..e5fe50e808

No dependencies changed.
No update to Clang.

TBR=
BUG=None

Review-Url: https://codereview.webrtc.org/2572483002
Cr-Commit-Position: refs/heads/master@{#15551}
2016-12-12 16:10:17 +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
e54b0c5e0d Roll chromium_revision 88e7649411..45a928c03f (437837:437857)
Change log: 88e7649411..45a928c03f
Full diff: 88e7649411..45a928c03f

No dependencies changed.
No update to Clang.

TBR=
BUG=None

Review-Url: https://codereview.webrtc.org/2565283003
Cr-Commit-Position: refs/heads/master@{#15548}
2016-12-12 13:39:11 +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
b010b8fe68 Roll chromium_revision 4537fa801e..88e7649411 (437826:437837)
Change log: 4537fa801e..88e7649411
Full diff: 4537fa801e..88e7649411

No dependencies changed.
No update to Clang.

TBR=
BUG=None

Review-Url: https://codereview.webrtc.org/2566043005
Cr-Commit-Position: refs/heads/master@{#15543}
2016-12-12 10:19:44 +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
e448dd5355 RTCIceCandidatePairStats.consentRequestsSent set by RTCStatsCollector
and requestsSent is updated.

Before:
  requestsSent = total ping requests
Now
  requestsSent = pings sent before first response
  consentRequestsSent = pings after first response

Spec: https://w3c.github.io/webrtc-stats/#dom-rtcicecandidatepairstats-consentrequestssent

BUG=chromium:633550

Review-Url: https://codereview.webrtc.org/2558293002
Cr-Commit-Position: refs/heads/master@{#15541}
2016-12-12 09:22:59 +00:00
b29b9c8e49 Replace VideoCaptureDataCallback by VideoSinkInterface.
This also deletes unused features of the video_capturer interface, the classes
VideoCaptureFeedBack, VideoCaptureEncodeInterface and related methods,
and the module id which used to be passed as an argument to the
VideoCaptureDataCallback.

In theory the module id could have been used to let a single
VideoCaptureDataCallback serve several capturers, and demultiplex
on the id, but in practice, it was unused. With this change, it is
required to use a separate VideoSinkInterface for each capturer.

BUG=webrtc:6789

Review-Url: https://codereview.webrtc.org/2534553002
Cr-Commit-Position: refs/heads/master@{#15540}
2016-12-12 08:23:05 +00:00
99f7bfde28 Change MANUAL -> DISABLED for ScreenCapturerIntegrationTest tests
It turns out MANUAL_ isn't a part of the supported gtest prefixes: it's a part of the
Chromium test launcher: https://cs.chromium.org/chromium/src/content/public/test/test_launcher.cc?rcl=0&l=69

Luckily, we can use DISABLED_ for the same purpose, since there's the --gtest_also_run_disabled_tests
flag we can use.

BUG=webrtc:6666, webrtc:6843
TBR=zijiehe@chromium.org

Review-Url: https://codereview.webrtc.org/2568013002 .
Cr-Commit-Position: refs/heads/master@{#15539}
2016-12-12 07:30:09 +00:00
9e3e0da9de Roll chromium_revision d33aa11bc5..4537fa801e (437814:437826)
Change log: d33aa11bc5..4537fa801e
Full diff: d33aa11bc5..4537fa801e

No dependencies changed.
No update to Clang.

TBR=
BUG=None

Review-Url: https://codereview.webrtc.org/2567993002
Cr-Commit-Position: refs/heads/master@{#15538}
2016-12-12 07:08:23 +00:00
951fe730a2 Roll chromium_revision 5f112f29f4..d33aa11bc5 (437807:437814)
Change log: 5f112f29f4..d33aa11bc5
Full diff: 5f112f29f4..d33aa11bc5

No dependencies changed.
No update to Clang.

TBR=
BUG=None

Review-Url: https://codereview.webrtc.org/2568763002
Cr-Commit-Position: refs/heads/master@{#15537}
2016-12-12 04:10:50 +00:00
bbfed52cf2 Set OPENSSL_EC_NAMED_CURVE explicitly on EC key so that certificate has ASN1 OID and NIST curve info. Without this openSSL handshake negotiation fails throwing NO_SHARED_CIPHER error. the change made is along the lines of openssl behavior documented here: https://wiki.openssl.org/index.php/Elliptic_Curve_Diffie_Hellman#ECDH_and_Named_Curves
tested with openssl 1.0.2j

BUG=webrtc:6763

Review-Url: https://codereview.webrtc.org/2534773002
Cr-Commit-Position: refs/heads/master@{#15536}
2016-12-12 02:42:14 +00:00
ae875f24ae Roll chromium_revision 05b6f4be7e..5f112f29f4 (437804:437807)
Change log: 05b6f4be7e..5f112f29f4
Full diff: 05b6f4be7e..5f112f29f4

No dependencies changed.
No update to Clang.

TBR=
BUG=None

Review-Url: https://codereview.webrtc.org/2566023002
Cr-Commit-Position: refs/heads/master@{#15535}
2016-12-12 01:10:59 +00:00
2cdec07855 Roll chromium_revision 73ac3ff0ec..05b6f4be7e (437797:437804)
Change log: 73ac3ff0ec..05b6f4be7e
Full diff: 73ac3ff0ec..05b6f4be7e

No dependencies changed.
No update to Clang.

TBR=
BUG=None

Review-Url: https://codereview.webrtc.org/2568743002
Cr-Commit-Position: refs/heads/master@{#15534}
2016-12-11 22:16:18 +00:00
95bfe2d64d Roll chromium_revision f10b6162b6..73ac3ff0ec (437786:437797)
Change log: f10b6162b6..73ac3ff0ec
Full diff: f10b6162b6..73ac3ff0ec

No dependencies changed.
No update to Clang.

TBR=
BUG=None

Review-Url: https://codereview.webrtc.org/2565193002
Cr-Commit-Position: refs/heads/master@{#15533}
2016-12-11 19:07:22 +00:00
ba41428b12 Adding googAudioNetworkAdaptorConfig to MediaConstraintsInterface.
This is to allow application to pass an audio network adaptor config string to WebRTC.

BUG=webrtc:6303

Review-Url: https://codereview.webrtc.org/2437803004
Cr-Commit-Position: refs/heads/master@{#15532}
2016-12-11 10:18:00 +00:00
50bac868e7 Roll chromium_revision cf064891c2..f10b6162b6 (437785:437786)
Change log: cf064891c2..f10b6162b6
Full diff: cf064891c2..f10b6162b6

No dependencies changed.
No update to Clang.

TBR=
BUG=None

Review-Url: https://codereview.webrtc.org/2563283002
Cr-Commit-Position: refs/heads/master@{#15531}
2016-12-11 07:15:30 +00:00
5c8b75749e Roll chromium_revision 211f7ed09d..cf064891c2 (437781:437785)
Change log: 211f7ed09d..cf064891c2
Full diff: 211f7ed09d..cf064891c2

No dependencies changed.
No update to Clang.

TBR=
BUG=None

Review-Url: https://codereview.webrtc.org/2569603003
Cr-Commit-Position: refs/heads/master@{#15530}
2016-12-11 04:14:56 +00:00
18d592c818 Roll chromium_revision 3c957a583f..211f7ed09d (437777:437781)
Change log: 3c957a583f..211f7ed09d
Full diff: 3c957a583f..211f7ed09d

No dependencies changed.
No update to Clang.

TBR=
BUG=None

Review-Url: https://codereview.webrtc.org/2560303004
Cr-Commit-Position: refs/heads/master@{#15529}
2016-12-11 01:06:05 +00:00
0acf8fa435 Roll chromium_revision 8ca234a6e4..3c957a583f (437773:437777)
Change log: 8ca234a6e4..3c957a583f
Full diff: 8ca234a6e4..3c957a583f

No dependencies changed.
No update to Clang.

TBR=
BUG=None

Review-Url: https://codereview.webrtc.org/2563163003
Cr-Commit-Position: refs/heads/master@{#15528}
2016-12-10 22:08:42 +00:00
d1a38b591d Implement the "needs-ice-restart" logic for SetConfiguration.
Changing the configuration will cause subsequently generated offers to change
the ufrag/pwd as necessary, so that a new round of gathering is started that
uses the new configuration.

This CL also makes some minor unrelated changes: changing the reference SDP in
the PC tests to more match what we generate, and relaxing the network thread
requirement for JsepTransport (since there's no reason the "needs-ice-restart"
flag can't be accessed from the signaling thread).

BUG=webrtc:6714

Review-Url: https://codereview.webrtc.org/2563153002
Cr-Commit-Position: refs/heads/master@{#15527}
2016-12-10 21:15:39 +00:00
3edec7cf1b Adding error enum to be used by PeerConnectionInterface methods.
The enum is at about the same level of detail as DOMExceptions, and I
looked through the spec making sure that chromium will be able to perform
the DOMException mapping for each one.

The new enum is called RtcError and is outside the PeerConnectionInterface
scope, because we may want to use this for things not associated with a
PeerConnection in the future.

This CL doesn't yet use the error enum anywhere; that will probably happen
in follow-up CLs for the individual methods.

BUG=webrtc:6855

Review-Url: https://codereview.webrtc.org/2564683002
Cr-Commit-Position: refs/heads/master@{#15526}
2016-12-10 19:44:35 +00:00
d00ff0b062 Roll chromium_revision ba3c4f9491..8ca234a6e4 (437769:437773)
Change log: ba3c4f9491..8ca234a6e4
Full diff: ba3c4f9491..8ca234a6e4

No dependencies changed.
No update to Clang.

TBR=
BUG=None

Review-Url: https://codereview.webrtc.org/2568653002
Cr-Commit-Position: refs/heads/master@{#15525}
2016-12-10 19:07:51 +00:00
78b6dc8f8d Roll chromium_revision a229e828a6..ba3c4f9491 (437767:437769)
Change log: a229e828a6..ba3c4f9491
Full diff: a229e828a6..ba3c4f9491

No dependencies changed.
No update to Clang.

TBR=
BUG=None

Review-Url: https://codereview.webrtc.org/2560393002
Cr-Commit-Position: refs/heads/master@{#15524}
2016-12-10 16:06:57 +00:00
fe719acc64 Roll chromium_revision 39e086ae3e..a229e828a6 (437763:437767)
Change log: 39e086ae3e..a229e828a6
Full diff: 39e086ae3e..a229e828a6

No dependencies changed.
No update to Clang.

TBR=
BUG=None

Review-Url: https://codereview.webrtc.org/2567773003
Cr-Commit-Position: refs/heads/master@{#15523}
2016-12-10 13:06:46 +00:00
a1c0f9b10a Roll chromium_revision 7b5206fba7..39e086ae3e (437761:437763)
Change log: 7b5206fba7..39e086ae3e
Full diff: 7b5206fba7..39e086ae3e

No dependencies changed.
No update to Clang.

TBR=
BUG=None

Review-Url: https://codereview.webrtc.org/2564433006
Cr-Commit-Position: refs/heads/master@{#15522}
2016-12-10 10:08:25 +00:00
f71dbf9a0e Roll chromium_revision bd86a87396..7b5206fba7 (437742:437761)
Change log: bd86a87396..7b5206fba7
Full diff: bd86a87396..7b5206fba7

Changed dependencies:
* src/third_party/catapult: 707aaac64b..19565fdb14
DEPS diff: bd86a87396..7b5206fba7/DEPS

No update to Clang.

TBR=
BUG=None

Review-Url: https://codereview.webrtc.org/2562163002
Cr-Commit-Position: refs/heads/master@{#15521}
2016-12-10 07:10:30 +00:00
3910792d05 Roll chromium_revision b671a5234f..bd86a87396 (437704:437742)
Change log: b671a5234f..bd86a87396
Full diff: b671a5234f..bd86a87396

No dependencies changed.
No update to Clang.

TBR=
BUG=None

Review-Url: https://codereview.webrtc.org/2560363002
Cr-Commit-Position: refs/heads/master@{#15520}
2016-12-10 04:10:14 +00:00
a6cc7f1042 Roll chromium_revision 71d41b68d1..b671a5234f (437664:437704)
Change log: 71d41b68d1..b671a5234f
Full diff: 71d41b68d1..b671a5234f

Changed dependencies:
* src/third_party/catapult: df2363501b..707aaac64b
DEPS diff: 71d41b68d1..b671a5234f/DEPS

No update to Clang.

TBR=
BUG=None

Review-Url: https://codereview.webrtc.org/2568603002
Cr-Commit-Position: refs/heads/master@{#15519}
2016-12-10 01:13:39 +00:00
8d1649d71b MANUAL tests of GDI capturers
ScreenCapturerWinGdi randomly returns black frames in test environment. The root
cause is still unknown, so change ScreenCapturerWinGdi tests into MANUAL mode to
execute in test environment, but unblock other developers. We can eventually get
a failure ratio and more samples for debugging.

BUG=webrtc:6666, webrtc:6843

Review-Url: https://codereview.webrtc.org/2564173002
Cr-Commit-Position: refs/heads/master@{#15518}
2016-12-10 00:00:10 +00:00
c5eefaf29a Roll chromium_revision 55c13aa961..71d41b68d1 (437596:437664)
Change log: 55c13aa961..71d41b68d1
Full diff: 55c13aa961..71d41b68d1

No dependencies changed.
No update to Clang.

TBR=
BUG=None

Review-Url: https://codereview.webrtc.org/2569483002
Cr-Commit-Position: refs/heads/master@{#15517}
2016-12-09 22:30:22 +00:00
82dbd33454 Roll chromium_revision 3387c1777b..55c13aa961 (437554:437596)
Change log: 3387c1777b..55c13aa961
Full diff: 3387c1777b..55c13aa961

No dependencies changed.
No update to Clang.

TBR=
BUG=None

Review-Url: https://codereview.webrtc.org/2564963002
Cr-Commit-Position: refs/heads/master@{#15516}
2016-12-09 20:03:13 +00:00
7800cbb2fc Roll chromium_revision 1289bbe752..3387c1777b (437522:437554)
Change log: 1289bbe752..3387c1777b
Full diff: 1289bbe752..3387c1777b

No dependencies changed.
No update to Clang.

TBR=
BUG=None

Review-Url: https://codereview.webrtc.org/2564073002
Cr-Commit-Position: refs/heads/master@{#15515}
2016-12-09 16:52:46 +00:00
1eac19fd46 Update version of third_party/gtest-parallel.
BUG=chromium:325726
R=kjellander@webrtc.org, kwiberg@webrtc.org, pbos@webrtc.org
NOTRY=True

Review-Url: https://codereview.webrtc.org/2565663003
Cr-Commit-Position: refs/heads/master@{#15514}
2016-12-09 16:29:42 +00:00
5493b8a59d Remove extra uses of basictypes.h.
None of these files use size_t, int types or any of the macros/types
defined in basictypes.h.

BUG=webrtc:6853
R=tommi@webrtc.org

Review-Url: https://codereview.webrtc.org/2564673002
Cr-Commit-Position: refs/heads/master@{#15513}
2016-12-09 14:54:08 +00:00
3536463e7e Only store sequence numbers for media stream in FlexFEC end-to-end test.
This should remove the test flakiness, as before this change there
could be collisions from sequence numbers coming from two sequence
number spaces (the media SSRC and the FlexFEC SSRC). The probability
of collisions was low, and hence the flakes were far between.

This change also reduces the packet loss to 5% (down from ~50%), in
order for the BWE to have an easier time to ramp up.

BUG=webrtc:6825
R=philipel@webrtc.org, mflodman@webrtc.org

Review-Url: https://codereview.webrtc.org/2554403003
Cr-Commit-Position: refs/heads/master@{#15512}
2016-12-09 14:51:43 +00:00
08ab2eedf6 Roll chromium_revision b558081912..1289bbe752 (437509:437522)
Change log: b558081912..1289bbe752
Full diff: b558081912..1289bbe752

No dependencies changed.
No update to Clang.

TBR=
BUG=None

Review-Url: https://codereview.webrtc.org/2562033002
Cr-Commit-Position: refs/heads/master@{#15511}
2016-12-09 14:19:03 +00:00
ca87b62ede Disable failing perf test on Android.
A decision was recently made to limit downscaling to 320x180 on
Android. This causes the perf tests to fail. This test is no
longer valid on android, as the failure is expected behaviour.

BUG=None
NOTRY=true
TBR=phoglund@webrtc.org

Review-Url: https://codereview.webrtc.org/2563913003
Cr-Commit-Position: refs/heads/master@{#15510}
2016-12-09 14:15:22 +00:00
50254636d4 Modify JavaToStdString to allow ISO-8859-1 encoded strings.
Current implementation of JavaToStdString applies additional encoding that modifies ISO-8859-1 encoded strings (e.g. byte array). This CL is to fix this.

A planned use of this is to pass a protobuf serialized string as a MediaConstraint to WebRTC to configure audio network adaptor.

BUG=webrtc:6815

Review-Url: https://codereview.webrtc.org/2549783002
Cr-Commit-Position: refs/heads/master@{#15509}
2016-12-09 14:13:48 +00:00
5a388368a2 Implement Theil-Sen's method for fitting a line to noisy data (used in bandwidth estimation).
Theil and Sen's estimator essentially looks at the line through every pair of points and selects the median slope. This is robust to corruption of up to 29% of the data points.

Wire up new estimator to field trial experiment. Add unit and integration tests. Results are promising.

BUG=webrtc:6728

Review-Url: https://codereview.webrtc.org/2512693002
Cr-Commit-Position: refs/heads/master@{#15508}
2016-12-09 13:50:08 +00:00
02cd4d6dfc RTCInboundRTPStreamStats.packetsLost set by RTCStatsCollector.
Spec: https://w3c.github.io/webrtc-stats/#dom-rtcinboundrtpstreamstats-packetslost

BUG=chromium:657855

Review-Url: https://codereview.webrtc.org/2559973002
Cr-Commit-Position: refs/heads/master@{#15507}
2016-12-09 12:19:50 +00:00