Commit Graph

10698 Commits

Author SHA1 Message Date
002f0d09c9 VP9: Set speed setting to 8 for ARM.
At speed 8, vp9 on ARM is currently ~2x times slower than vp8 on ARM (speed -12).

Update some parameters in videoprocessor_integrationtest.cc
to make tests pass on android (which uses the new speed setting).

TBR=stefan@webrtc.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#11072}
2015-12-17 17:49:39 +00:00
5a4ce2fd33 Deleted declaration of VideoCaptureInput::DeliverI420Frame
It appears unimplemented and unused.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#11071}
2015-12-17 17:37:26 +00:00
a0b9549b88 Roll gtest-parallel.
BUG=
R=kwiberg@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#11070}
2015-12-17 15:15:41 +00:00
369f828bfe Adding trace events for the APM render and capture stream processing functions.
BUG=webrtc:5099

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

Cr-Commit-Position: refs/heads/master@{#11069}
2015-12-17 14:42:42 +00:00
9390f84a4a Use std::nullptr_t instead of decltype(nullptr)
Review URL: https://codereview.webrtc.org/1531173003

Cr-Commit-Position: refs/heads/master@{#11068}
2015-12-17 14:20:32 +00:00
1e0cfd9a46 Add VP8 and H264 depacketizer fuzzers.
Also removes listing of targets in webrtc_fuzzers which is very prone to
not being up to date. They're not required for ClusterFuzz integration
or building locally. This also means that adding fuzzers won't require
approval outside the fuzzers directory.

BUG=webrtc:4771
R=kjellander@webrtc.org, stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#11067}
2015-12-17 13:28:28 +00:00
9d98f217c3 Roll chromium_revision 68898fb..ddfc1fe (365698:365801)
Change log: 68898fb..ddfc1fe
Full diff: 68898fb..ddfc1fe

Changed dependencies:
* src/buildtools: 68e3c23..fee7f1e
DEPS diff: 68898fb..ddfc1fe/DEPS

No update to Clang.

TBR=

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

Cr-Commit-Position: refs/heads/master@{#11066}
2015-12-17 12:32:49 +00:00
a689b44c17 Add tracing to NetEqImpl::InsertPacket
BUG=webrtc:5167
R=pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#11065}
2015-12-17 11:50:11 +00:00
0eb15ed7b8 Don't call the Pass methods of rtc::Buffer, rtc::scoped_ptr, and rtc::ScopedVector
We can now use std::move instead!

This CL leaves the Pass methods in place; a follow-up CL will add deprecation annotations to them.

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

Cr-Commit-Position: refs/heads/master@{#11064}
2015-12-17 11:04:24 +00:00
e376f0f2df Add Windows Clang trybots to the default set.
BUG=chromium:568952
NOTRY=True

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

Cr-Commit-Position: refs/heads/master@{#11063}
2015-12-17 06:54:57 +00:00
e40dedb03f Roll chromium_revision 004c7b4..68898fb (365580:365698)
Change log: 004c7b4..68898fb
Full diff: 004c7b4..68898fb

No dependencies changed.
No update to Clang.

TBR=

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

Cr-Commit-Position: refs/heads/master@{#11062}
2015-12-17 04:14:46 +00:00
a08925791c Cleanup use of "do { ... } while (0)".
BUG=

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

Cr-Commit-Position: refs/heads/master@{#11061}
2015-12-17 02:38:34 +00:00
a54a080112 Add ufrag to the ICE candidate signaling.
On the receiving side, if a candidate arrives with an old ufrag, it will be dropped. If it contains a new frag that has never seen before, it will hold the ufrag and create connections, although those connections are not pingable until the ICE credentials are received.
This could avoid a bunch of ICE generation issues.

BUG=webrtc:5138,webrt:5292

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

Cr-Commit-Position: refs/heads/master@{#11060}
2015-12-17 02:37:27 +00:00
3514cbe554 Add DrFuzz support to webrtc fuzzers.
BUG=webrtc:4771
R=kjellander@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#11059}
2015-12-17 02:36:19 +00:00
7cae30cbe1 Disable warnings failing when using Clang on Windows.
This makes it possible to build WebRTC using Clang on Windows.
Depends on https://codereview.webrtc.org/1524703006/

BUG=webrtc:5360, webrtc:5366
NOTRY=True

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

Cr-Commit-Position: refs/heads/master@{#11058}
2015-12-16 22:05:36 +00:00
9f58795cec Roll chromium_revision 2c8eb1f..004c7b4 (365513:365580)
Change log: 2c8eb1f..004c7b4
Full diff: 2c8eb1f..004c7b4

No dependencies changed.
No update to Clang.

TBR=

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

Cr-Commit-Position: refs/heads/master@{#11057}
2015-12-16 20:02:51 +00:00
361888c324 OWNERS: Add * to .gyp{i,} everywhere.
Also convert DOS->Unix line endings in two of the OWNERS files.

NOTRY=True
NOPRESUBMIT=True
R=niklas.enbom@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#11056}
2015-12-16 19:44:39 +00:00
2f29d70184 Roll gtest-parallel.
BUG=
R=kwiberg@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#11055}
2015-12-16 18:39:10 +00:00
0bc176b99b Further refactored the echo suppressor code:
-Extended the InverseFft function to be more generally
 applicable.
-Included the previous external extra scaling into the
 preexisting InverseFft call.
-Moved the updating of aec->delayEstCtr to where it is
 actually used.
-Refactored the output production and comfort noise
 addition using the InverseFft function.
-Removed the if-statements checking the value of the
 constant flagHbandCn as any value different from 1 would
 crash the program. Also removed the constant

The changes have been tested for bitexactness.

BUG=webrtc:5201

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

Cr-Commit-Position: refs/heads/master@{#11054}
2015-12-16 16:11:24 +00:00
c482eb3c84 Don't account for audio in the pacer budget.
We should only account for audio packets in the pacer budget if we also
are allocating bandwidth for the audio streams.

BUG=chromium:567659,webrtc:5263
R=mflodman@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#11053}
2015-12-16 15:55:09 +00:00
5f026d03af Update NetEq network statistics in neteq_unittest.
NetEqNetworkStatistics has been updated some time ago. A bit exactness test in neteq unittests is still using the old NetEqNetworkStatistics.

New neteq4_network_stats.dat generated by running TestBitExactness with flag "genref"

BUG=

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

Cr-Commit-Position: refs/heads/master@{#11052}
2015-12-16 15:36:10 +00:00
44307630d3 AudioCodingModuleImpl: Stop failing artificially for non-Opus encoders
All encoders already handle the "Opus-specific" requests sanely (by
failing nicely), so we don't need extra checks to protect them.

BUG=webrtc:5028

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

Cr-Commit-Position: refs/heads/master@{#11051}
2015-12-16 14:24:09 +00:00
99b1a32146 Retyped the frequency estimate of the comfort noise for the higher band to harmonize the AEC code.
-Changed the type for the frequency estimate of the comfort noise for the
 higher band to be a two dimensional float array instead of a complex_t array.
 This makes sense since all the other frequency estimate (apart from the
 coherence) use this format and doing this change allows bundling the
 IFFT operations into using the InverseFFT method.
-Moved the memset of the frequency estimate of the comfort noise to where it is used and made it conditional so that it is only performed when used.
-Harmonized the if-statements for when the frequency estimate of the comfort noise is computed in the different optimized ComfortNoise computation methods.

The changes have been tested for bitexactness.

BUG=webrtc:5201

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

Cr-Commit-Position: refs/heads/master@{#11050}
2015-12-16 14:07:33 +00:00
426ae9dc21 Roll chromium_revision 6e5b8cb..2c8eb1f (365419:365513)
Change log: 6e5b8cb..2c8eb1f
Full diff: 6e5b8cb..2c8eb1f

No dependencies changed.
No update to Clang.

TBR=

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

Cr-Commit-Position: refs/heads/master@{#11049}
2015-12-16 12:25:45 +00:00
a6db4958c9 Move Rent-A-Codec out of CodecManager
So that the two of them sit next to each other at the top level of
AudioCodingModuleImpl. CodecManager now manages the specifications for
Rent-A-Codec, rather than managing encoders directly.

BUG=webrtc:5028

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

Cr-Commit-Position: refs/heads/master@{#11048}
2015-12-16 12:19:14 +00:00
a29386c26d Make VoiceDetection not a ProcessingComponent (bit exact).
BUG=webrtc:5354

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

Cr-Commit-Position: refs/heads/master@{#11047}
2015-12-16 11:31:16 +00:00
672aba3f57 Fix error prone code in VideoCapturerAndroid
BUG=webrtc:5282

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

Cr-Commit-Position: refs/heads/master@{#11046}
2015-12-16 10:17:24 +00:00
66085beef8 Bugfix that fixes the error where the audio processing module is called
using the wrong sample rate for the render signal.

The CL is basically a partial revert of the related changes done on
output_mixer.cc in the CL https://codereview.webrtc.org/1234463003.

The CL also reverts the removal of the input_sample_rate_hz() method
that was removed as part of the CL
https://codereview.webrtc.org/1379123002 (as it was at that point
no longer used).

It should be noted that this CL turns off the effect of the
IntelligibilityEnhancer when the AudioFrame AudioProcessing APIs are
used. While it may be possible to solve that by adding upsampling after
the API call, that  approach was discarded due to that:
-That would add extra processing in the echo path, leading to possible
AEC performance reduction.
-That would add extra complexity for the mobile case.
-That would only patch the intelligibility enhancer operation as the
proper way to do such an operation is within APM.
-The intelligibility enhancer is not active by default anywhere.

BUG=webrtc:5237

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

Cr-Commit-Position: refs/heads/master@{#11045}
2015-12-16 10:02:26 +00:00
54999d411b rtcp::Dlrr block moved into own file and got Parse function
BUG=webrtc:5260

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

Cr-Commit-Position: refs/heads/master@{#11044}
2015-12-16 09:56:22 +00:00
29e2f9385b Fix NoiseSuppression initialization behavior. This was changed when removing the ProcessingComponent inheritance in https://codereview.webrtc.org/1507683006/.
BUG=webrtc:5298

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

Cr-Commit-Position: refs/heads/master@{#11043}
2015-12-16 09:18:23 +00:00
45fd9fe92c New macro: RTC_DEPRECATED (for annotating deprecated functions)
Review URL: https://codereview.webrtc.org/1494133003

Cr-Commit-Position: refs/heads/master@{#11042}
2015-12-16 09:09:25 +00:00
ed644d8c07 Roll chromium_revision bff4606..6e5b8cb (365226:365419)
Change log: bff4606..6e5b8cb
Full diff: bff4606..6e5b8cb

Changed dependencies:
* src/third_party/libvpx_new/source/libvpx: 2383154..ecb8dff
DEPS diff: bff4606..6e5b8cb/DEPS

No update to Clang.

TBR=marpan@webrtc.org, stefan@webrtc.org,

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

Cr-Commit-Position: refs/heads/master@{#11041}
2015-12-16 04:30:19 +00:00
eb45981165 Restoring behavior where PeerConnection tracks changes to MediaStreams.
If a MediaStream is added to a PeerConnection, and later a track
is added to the MediaStream, a new RtpSender will now be created for
that track, and it will appear in subsequent offers.
Similarly, removed tracks will remove RtpSenders.

BUG=webrtc:5265

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

Cr-Commit-Position: refs/heads/master@{#11040}
2015-12-16 03:24:50 +00:00
44f0819978 Fixing bug where "mid" wasn't preserved across re-offers.
Review URL: https://codereview.webrtc.org/1529673002

Cr-Commit-Position: refs/heads/master@{#11039}
2015-12-16 00:20:15 +00:00
c1316a1e51 Fix HPF initialization behavior. This was changed when removing the ProcessingComponent inheritance in https://codereview.webrtc.org/1490333004/.
BUG=webrtc:5298

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

Cr-Commit-Position: refs/heads/master@{#11038}
2015-12-16 00:07:32 +00:00
95d9851a6c Add speech encoder to the encoder stack specification struct
BUG=webrtc:5028

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

Cr-Commit-Position: refs/heads/master@{#11037}
2015-12-15 22:21:40 +00:00
7eb914debb Fix incorrect comment
Review URL: https://codereview.webrtc.org/1524663004

Cr-Commit-Position: refs/heads/master@{#11036}
2015-12-15 22:20:29 +00:00
78315b9813 Reland of Base webrtc fuzzers on a template. (patchset #1 id:1 of https://codereview.webrtc.org/1528043002/ )
Reason for revert:
Found missing public_configs that broke Chromium libfuzzer build.

Original issue's description:
> Revert of Base webrtc fuzzers on a template. (patchset #1 id:1 of https://codereview.webrtc.org/1524993002/ )
>
> Reason for revert:
> Suspect this is breaking the build:
> https://build.chromium.org/p/chromium.fyi/builders/Libfuzzer%20Upload%20Linux/builds/1576/steps/compile/logs/stdio
>
> Original issue's description:
> > Base webrtc fuzzers on a template.
> >
> > Removes noisy dependencies on webrtc_fuzzer_main and removal of
> > find_bad_constructs, removes 1-6 lines of gn per fuzzer target.
> >
> > BUG=webrtc:4771
> > R=kjellander@webrtc.org
> >
> > Committed: https://crrev.com/5ea3da2cbbb0710f9617fb0627c0c4258437b09f
> > Cr-Commit-Position: refs/heads/master@{#11022}
>
> TBR=kjellander@webrtc.org,pbos@webrtc.org
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:4771
>
> Committed: https://crrev.com/5e0218c66e0686dd00719f1e53f844efa94c9f42
> Cr-Commit-Position: refs/heads/master@{#11032}

TBR=kjellander@webrtc.org,tommi@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:4771

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

Cr-Commit-Position: refs/heads/master@{#11035}
2015-12-15 20:58:00 +00:00
f9945b2d1a Only try to pair protocol matching candidates for creating connections.
If the local port and the remote candidate's protocols do not match,
do not even try to pair them.
This avoids printing out confusing logs like
"Attempt to change a remote candidate..." in p2ptransportchannel
when two remote candidates have the same port number but different
protocols.

BUG=
R=pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#11034}
2015-12-15 20:20:22 +00:00
949028fbf1 Make LevelEstimation not a ProcessingComponent.
BUG=webrtc:5355

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

Cr-Commit-Position: refs/heads/master@{#11033}
2015-12-15 19:39:49 +00:00
5e0218c66e Revert of Base webrtc fuzzers on a template. (patchset #1 id:1 of https://codereview.webrtc.org/1524993002/ )
Reason for revert:
Suspect this is breaking the build:
https://build.chromium.org/p/chromium.fyi/builders/Libfuzzer%20Upload%20Linux/builds/1576/steps/compile/logs/stdio

Original issue's description:
> Base webrtc fuzzers on a template.
>
> Removes noisy dependencies on webrtc_fuzzer_main and removal of
> find_bad_constructs, removes 1-6 lines of gn per fuzzer target.
>
> BUG=webrtc:4771
> R=kjellander@webrtc.org
>
> Committed: https://crrev.com/5ea3da2cbbb0710f9617fb0627c0c4258437b09f
> Cr-Commit-Position: refs/heads/master@{#11022}

TBR=kjellander@webrtc.org,pbos@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:4771

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

Cr-Commit-Position: refs/heads/master@{#11032}
2015-12-15 18:24:05 +00:00
51254331cc Android: Refactor renderers to allow apps to inject custom shaders
This CL:
 * Abstracts the functions in GlRectDrawer to an interface.
 * Adds viewport location as argument to the draw() functions, because this information may be needed by some shaders. This also moves the responsibility of calling GLES20.glViewport() to the drawer.
 * Moves uploadYuvData() into a separate helper class.
 * Adds new SurfaceViewRenderer.init() function and new VideoRendererGui.create() function that takes a custom drawer as argument. Each YuvImageRenderer in VideoRendererGui now has their own drawer instead of a common one.

BUG=b/25694445
R=nisse@webrtc.org, perkj@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#11031}
2015-12-15 15:22:38 +00:00
91941ae493 rtcp::VoipMetric block moved into own file and got Parse function
Review URL: https://codereview.webrtc.org/1452733002

Cr-Commit-Position: refs/heads/master@{#11030}
2015-12-15 15:06:44 +00:00
32d989b3f2 Disable transport sequence numbers for audio.
Since this isn't fully wired up yet it shouldn't be part of the
SendSideBwe experiment yet.

BUG=webrtc:5263
R=pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#11029}
2015-12-15 14:55:20 +00:00
10aea22c84 Roll chromium_revision 53970fd..bff4606 (365141:365226)
Change log: 53970fd..bff4606
Full diff: 53970fd..bff4606

No dependencies changed.
No update to Clang.

TBR=

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

Cr-Commit-Position: refs/heads/master@{#11028}
2015-12-15 13:37:57 +00:00
377b5e622f enabled cpplint for the webrtc/modules/rtp_rtcp directory
BUG=webrtc:5277
R=kjellander@webrtc.org
NOTRY=True

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

Cr-Commit-Position: refs/heads/master@{#11027}
2015-12-15 12:33:51 +00:00
6eca7e3c37 Add a 'remote' property to MediaSourceInterface. Also adding an implementation to the relevant sources we have (audio/video) and an extra check where we're casting a source into a local audio source :(
Additionally:
* Moving all implementation inside RemoteAudioTrack into AudioTrack and remove RemoteAudioTrack.
* AddSink/RemoveSink are now on all audio sources (like they are for video sources).

While doing this I found that some of our tests are broken :) and fixed them.  They were broken because AudioTrack didn't previously do much such as updating its state.

BUG=chromium:569526

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

Cr-Commit-Position: refs/heads/master@{#11026}
2015-12-15 12:27:20 +00:00
6db6cdc604 [rtp_rtcp] fixed lint errors in rtp_rtcp module that are not fixed in other CLs
BUG=webrtc:5277
R=mflodman

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

Cr-Commit-Position: refs/heads/master@{#11025}
2015-12-15 10:54:50 +00:00
9638143033 Reland of Made EglBase an abstract class and cleaned up. (patchset #1 id:1 of https://codereview.webrtc.org/1522073002/ )
Reason for revert:
Clients have been updated.

Original issue's description:
> Revert of Made EglBase an abstract class and cleaned up. (patchset #4 id:60001 of https://codereview.webrtc.org/1526463002/ )
>
> Reason for revert:
> Revert due breaking other clients.
>
> Original issue's description:
> > Made EglBase an abstract class and cleaned up.
> > Adds EglBase10 that implemenents EglBase for EGL 1.0
> >
> > BUG=webrtc:4993
> > TBR=glaznew@webrtc.org
> >
> > Committed: https://crrev.com/3207916f35ded33f586774e2c98d4d0089fe3c6e
> > Cr-Commit-Position: refs/heads/master@{#11011}
>
> TBR=magjed@webrtc.org
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:4993
>
> Committed: https://crrev.com/e22e1cb399748112f308b488e7535754ef6b807d
> Cr-Commit-Position: refs/heads/master@{#11013}

TBR=magjed@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:4993

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

Cr-Commit-Position: refs/heads/master@{#11024}
2015-12-15 10:48:13 +00:00
e005cf2c93 [rtp_rtcp] SSRCDatabase class cleaned (including all lint errors)
BUG=webrtc:5277
R=mflodman

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

Cr-Commit-Position: refs/heads/master@{#11023}
2015-12-15 09:59:50 +00:00