Commit Graph

10698 Commits

Author SHA1 Message Date
c490e01bd1 Implement NativeToI420Buffer in C++, calling java SurfaceTextureHelper, new method .textureToYUV, to
do the conversion using an opengl fragment shader.

BUG=webrtc:4993

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

Cr-Commit-Position: refs/heads/master@{#10972}
2015-12-10 14:23:42 +00:00
b8b6fbb7a5 lint build/include errors fixed in rtp_rtcp module
BUG=webrtc:5277
R=mflodman

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

Cr-Commit-Position: refs/heads/master@{#10971}
2015-12-10 13:05:35 +00:00
90b9fc9214 Roll chromium_revision a02d286..2e451bf (364268:364330)
Change log: a02d286..2e451bf
Full diff: a02d286..2e451bf

No dependencies changed.
No update to Clang.

TBR=

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

Cr-Commit-Position: refs/heads/master@{#10970}
2015-12-10 12:30:37 +00:00
866df6602c Typo fix: Enable a bunch of tests that were accidentally disabled
They were meant to be run if we have either iSAC float or fix, but the
typo made them run for just float.

BUG=webrtc:4198, webrtc:4199

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

Cr-Commit-Position: refs/heads/master@{#10969}
2015-12-10 12:20:06 +00:00
5811a39f14 Replace EventWrapper in video/, test/ and call/.
Makes use of rtc::Event which is simpler and can be used without
allocating additional objects on the heap.

Does not modify test/channel_transport/.

BUG=
R=mflodman@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10968}
2015-12-10 12:03:00 +00:00
0f2e939a92 Enable cpplint for more webrtc subfolders and fix all uncovered cpplint errors.
This CL enableds cpplint for webrtc/common_video, webrtc/sound and webrtc/tools.

BUG=webrtc:5273

TESTED=Fixed issues reported by:
find webrtc/common_video webrtc/sound webrtc/tools -type f -name *.cc -o -name *.h | xargs cpplint.py
followed by 'git cl presubmit'.

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

Cr-Commit-Position: refs/heads/master@{#10967}
2015-12-10 11:11:48 +00:00
162abd3562 lint whitespace warning removed from most rtp_rtcp/source/ files
rtcp_utility, rtp_utility, tmmbr_help, rtcp_receiver, rtcp_receiver_help are explicetly excluded from the cleanup becaues there are short plans (or cls) to do a deeper cleaning there.

BUG=webrtc:5277
R=pbos@webrtc.org, mflodman@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10966}
2015-12-10 10:39:45 +00:00
84e78f9102 Rewrote the PRNG using an xorshift* algorithm and moved the files from test/ to base/.
Created a simple unit test for the new random number generator. (It mostly tests
that the generated numbers are consistent with the intended distribution, e.g. uniform.
It is not a comprehensive test of the quality of the random numbers.)

Several assertions in OveruseDetectorTest seem to depend on the exact sequence of random numbers. I updated those numbers to work with the new PRNG.

Compute the standard deviation of the expected result in TestReorderFilter instead of passing an uncertainty parameter.

BUG=webrtc:5177

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

Cr-Commit-Position: refs/heads/master@{#10965}
2015-12-10 09:51:02 +00:00
0b3d7eec07 Prevent RTCP SR to be sent with bogus timestamp.
This CL makes sure no RTCP SR is sent before there is a valid timestamp
to set in the SR, based on the first sent media packet.

BUG=webrtc:1600
R=stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10964}
2015-12-10 09:10:54 +00:00
48bf2382d9 Some further minor bitexact APM echo suppressor refactoring
-Moved memsets to where their variables are used.
-Removed redundant.
-Changed a pointer scalar to be accessed in pointer notation rather than
 in array notation.

The change has been tested for bitexactness.

BUG=webrtc:5201

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

Cr-Commit-Position: refs/heads/master@{#10963}
2015-12-10 05:24:56 +00:00
5ba58c6735 Roll chromium_revision dad6346..a02d286 (363782:364268)
Change log: dad6346..a02d286
Full diff: dad6346..a02d286

No dependencies changed.
No update to Clang.

TBR=

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

Cr-Commit-Position: refs/heads/master@{#10962}
2015-12-10 05:23:10 +00:00
a6e4328680 Remove unnecessary test code on Windows.
BUG=chromium:568266,chromium:567264
R=niklas.enbom@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10961}
2015-12-09 22:28:08 +00:00
70625e5bf3 Enable cpplint for webrtc/examples and fix all uncovered cpplint errors.
BUG=webrtc:5273
TESTED=Fixed issues reported by:
find webrtc/examples/ -type f -name *.cc -o -name *.h | grep -v objc | xargs cpplint.py
followed by 'git cl presubmit'.

NOTRY=True

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

Cr-Commit-Position: refs/heads/master@{#10960}
2015-12-09 22:18:20 +00:00
2e5fe31cf6 Remove myself from root_files watchlist.
TBR=kjellander@webrtc.org
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#10959}
2015-12-09 20:45:36 +00:00
1387149ad1 Adding reduced size RTCP configuration down to the video stream level.
Still waiting to turn on negotiation (in mediasession.cc)
until we verify it's working as expected.

BUG=webrtc:4868

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

Cr-Commit-Position: refs/heads/master@{#10958}
2015-12-09 20:37:59 +00:00
ee4082137b WebRTC: Update set of known root certificates
Also included the script which generates this file.

TBR=juberti@webrtc.org
BUG=526258

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

Cr-Commit-Position: refs/heads/master@{#10957}
2015-12-09 19:25:44 +00:00
b14f00113e Some minor (bitexact) AEC echo suppressor refactoring
-Moved filter reset from the echo suppression
 into the echo subtraction code where it belongs
 (the echo subtractor should own its filter reset).
-Moved the selection between using the microphone sinal and
 the echo subtractor output down to the lowest level in the
 EchoSuppression function. This makes sense as that selection
 was very hidden in an unrelated sub-sub-function call and
 as the selection is critical for what the AEC outputs.

The changes have been tested for bitexactness.

BUG=webrtc:5201

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

Cr-Commit-Position: refs/heads/master@{#10956}
2015-12-09 19:07:27 +00:00
434aca8d86 Add empty placeholder files for remote audio tracks.
This is needed for Chromium so that we can roll, update libjingle.gyp and then continue.

BUG=chromium:121673

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

Cr-Commit-Position: refs/heads/master@{#10955}
2015-12-09 17:42:03 +00:00
afeb43897a Moved code into the lowest level of EchoSuppression
to simplify future refactoring and development.

In more detail:
1) Moved the updating of eBuf from the EchoSubtraction method
   to the EchoSuppression method as it is only used in the latter.
2) Moved the computation of efw and dfw from the SubbandCoherence method
   as those are actually the analysis filterbank computation that is not
   directly related to the coherence.
3) As a consequence of 2) 3 functions needed to be replaced by the
   generic function pointer scheme used in WebRTCAec as they have
   optimized versions for SSE2 and NEON (which before were local to each
   of the aec_core*.c files.

Motivation:
Apart from making sense from a logical point of view, the changes will
a) Allow eBuf stored in half the size on the state.
b) Allow simpler switching between using the the microphone signal
   and echo subtractor output in the echo suppressor.
c) Allow further refactoring that move all the changes to eBuf to one method
   (currently those are happening in at least 4 different methods.

Drawbacks:
i) dfw is moved to EchoSuppression which increases the stack usage for that
 method. This will, however, be improved once further refactoring can be done.

The changes have been tested for bitexactness on Linux using a quite extensive dataset.

BUG=webrtc:5201

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

Cr-Commit-Position: refs/heads/master@{#10954}
2015-12-09 16:50:29 +00:00
d1590b2571 Lint clean video/ and add lint presubmit check.
BUG=webrtc:5316

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

Cr-Commit-Position: refs/heads/master@{#10953}
2015-12-09 15:08:05 +00:00
4cf61dd116 NetEq: Add codec name and RTP timestamp rate to DecoderInfo
The new fields are default-populated for built-in decoders, but for
external decoders, the name can now be given when registering the
decoder.

BUG=webrtc:3520

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

Cr-Commit-Position: refs/heads/master@{#10952}
2015-12-09 14:21:02 +00:00
3980d46960 RTCCertificate::Expires() and ::HasExpired() implemented using SSLCertificate::CertificateExpirationTime().
This is a re-upload of https://codereview.webrtc.org/1494103003 which was reverted and now re-landing.

BUG=chromium:544894

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

Cr-Commit-Position: refs/heads/master@{#10951}
2015-12-09 13:26:54 +00:00
af3b9cb4d3 Removing DrMemory suppresssion on PushResampler.
BUG=webrtc:2321
R=kjellander@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10950}
2015-12-09 12:52:09 +00:00
5eb4988c0a [rtp_rtcp] Lint build/header_guard errors fixed
BUG=webrtc:5277
R=mflodman

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

Cr-Commit-Position: refs/heads/master@{#10949}
2015-12-09 11:32:45 +00:00
7623ce4aeb Reland of Merge webrtc/video_engine/ into webrtc/video/ (patchset #2 id:300001 of https://codereview.webrtc.org/1507903005/ )
Reason for revert:
Bot breakage caused by TickTime::UseFakeClock has been removed.

Original issue's description:
> Revert of Merge webrtc/video_engine/ into webrtc/video/ (patchset #2 id:20001 of https://codereview.webrtc.org/1506773002/ )
>
> Reason for revert:
> Breaks Dr Memory Light https://build.chromium.org/p/client.webrtc/builders/Win%20DrMemory%20Light/builds/4643 and all the Android Tests bots.
>
> Original issue's description:
> > Merge webrtc/video_engine/ into webrtc/video/
> >
> > BUG=webrtc:1695
> > R=mflodman@webrtc.org
> >
> > Committed: https://crrev.com/03ef053202bc5d5ab43460eebf5403232f157646
> > Cr-Commit-Position: refs/heads/master@{#10926}
>
> TBR=mflodman@webrtc.org,pbos@webrtc.org
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:1695
>
> Committed: https://crrev.com/8237abf563bf4782ee104408b53cc8e55ce44518
> Cr-Commit-Position: refs/heads/master@{#10937}

BUG=webrtc:1695
TBR=mflodman@webrtc.org,kjellander@webrtc.org
NOPRESUBMIT=true

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

Cr-Commit-Position: refs/heads/master@{#10948}
2015-12-09 11:13:40 +00:00
d3c944755e Nuke TickTime::UseFakeClock.
Removes the global simulated time that affects (or breaks) following
tests in the same binary and replaces it with SimulatedClock.

BUG=webrtc:5318
R=mflodman@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10947}
2015-12-09 10:21:09 +00:00
bda7e0b932 Fixing issue with default stream upon setting 2nd remote description.
If a description is set that requires making a default stream, and one
already exists, we'll now keep the existing default audio/video tracks,
rather than destroying them and recreating them. Destroying them caused
the blink MediaStream to go to an "ended" state, which is the root cause
of the bug.

BUG=webrtc:5250

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

Cr-Commit-Position: refs/heads/master@{#10946}
2015-12-09 01:13:53 +00:00
d02b0fab76 Add oldest rotation type option to RTCFileLogger
BUG=

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

Cr-Commit-Position: refs/heads/master@{#10945}
2015-12-08 21:59:11 +00:00
5e465c33ca Make NoiseSuppression not a processing component (bit exact).
BUG=webrtc:5298

patch from issue 1490333004 at patchset 1 (http://crrev.com/1490333004#ps1)

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

Cr-Commit-Position: refs/heads/master@{#10944}
2015-12-08 21:22:35 +00:00
1a9d615cbf Add tracing to public PeerConnection methods.
Adds tracing specifically to Close, for creating streams and also moves
tracing for SetLocal/RemoteDescription from WebRtcSession. Also adding
some tracing in ChannelManager to see what's taking time inside Close.

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

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

Cr-Commit-Position: refs/heads/master@{#10943}
2015-12-08 21:15:26 +00:00
2d63680d3e Roll chromium_revision 9dfb3a1..dad6346 (363718:363782)
Change log: 9dfb3a1..dad6346
Full diff: 9dfb3a1..dad6346

No dependencies changed.
No update to Clang.

TBR=

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

Cr-Commit-Position: refs/heads/master@{#10942}
2015-12-08 21:06:46 +00:00
7b2f7627e4 Don't call SetPreviewFormat if capturing to textures.
This fix an issue seen on Huawei Y300 where the camera feed is black and white if we capture to textures and setpreviewformat is called.

BUG=webrtc:4993

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

Cr-Commit-Position: refs/heads/master@{#10941}
2015-12-08 20:03:07 +00:00
edd8fefa9b Add new view that renders local video using AVCaptureLayerPreview.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#10940}
2015-12-08 19:08:44 +00:00
70f9903e57 Make HighPassFilter not a ProcessingComponent anymore (bit exact).
BUG=webrtc:5298

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

Cr-Commit-Position: refs/heads/master@{#10939}
2015-12-08 19:07:38 +00:00
246b8171a6 Refactor handling of AudioOptions.
- Remove MediaEngineInterface::GetAudioOptions(), SetAudioOptions() and SetSoundDevices().
- Remove the WebRtcVoiceEngine infrastructure for those calls.

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

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

Cr-Commit-Position: refs/heads/master@{#10938}
2015-12-08 17:50:33 +00:00
8237abf563 Revert of Merge webrtc/video_engine/ into webrtc/video/ (patchset #2 id:20001 of https://codereview.webrtc.org/1506773002/ )
Reason for revert:
Breaks Dr Memory Light https://build.chromium.org/p/client.webrtc/builders/Win%20DrMemory%20Light/builds/4643 and all the Android Tests bots.

Original issue's description:
> Merge webrtc/video_engine/ into webrtc/video/
>
> BUG=webrtc:1695
> R=mflodman@webrtc.org
>
> Committed: https://crrev.com/03ef053202bc5d5ab43460eebf5403232f157646
> Cr-Commit-Position: refs/heads/master@{#10926}

TBR=mflodman@webrtc.org,pbos@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:1695

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

Cr-Commit-Position: refs/heads/master@{#10937}
2015-12-08 15:12:11 +00:00
e10c82dc12 Deletes temporary files that are generated in several ACM unittests.
This applies to AcmSwitchingOutputFrequencyOldApi.*,
AcmReceiverBitExactnessOldApi.* and AcmSenderBitExactnessOldApi.*.

BUG=webrtc:4647
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#10936}
2015-12-08 13:03:32 +00:00
d7b7ae8bda Add encode/decode time tracing to audio_coding.
Also removes virtual from VideoDecoder::Decode and updated mocks and
tests accordingly to use VideoDecoder::DecodeInternal instead.

BUG=webrtc:5167
R=henrik.lundin@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10935}
2015-12-08 12:41:44 +00:00
9f45a45a62 Add tracing to upper-level WebRTC calls.
Adds tracing to WebRtcSession and corresponding BaseChannel calls to see
where time is spent better.

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

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

Cr-Commit-Position: refs/heads/master@{#10934}
2015-12-08 12:26:11 +00:00
cd6f539a08 Revert of RTCCertificate::Expires() and ::HasExpired() implemented (patchset #5 id:140001 of https://codereview.webrtc.org/1494103003/ )
Reason for revert:
RTCCertificate's expires_timestamp_ns was renamed to Expires but the old function is still used in one place in Chromium...
https://uberchromegw.corp.google.com/i/chromium.webrtc.fyi/builders/Mac%20Builder/builds/7405

Original issue's description:
> RTCCertificate::Expires() and ::HasExpired() implemented using SSLCertificate::CertificateExpirationTime().
>
> NOPRESUBMIT=true
> BUG=chromium:544894
>
> Committed: https://crrev.com/20ef654174e245b3a06c9e9045bb97be9acd90cf
> Cr-Commit-Position: refs/heads/master@{#10930}

TBR=torbjorng@webrtc.org,hta@webrtc.org,kjellander@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:544894

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

Cr-Commit-Position: refs/heads/master@{#10933}
2015-12-08 10:32:19 +00:00
fe32a76d60 Create fuzzer tests for audio decoders
This change adds fuzzer tests for iLBC, iSAC fix and float, and
Opus. The fuzzer function takes a random input vector and splits it
into a number of payloads. The lengths of the payloads is also
determined by the random vector. The payloads are decoded with the
decoders.

BUG=webrtc:5306
R=kjellander@webrtc.org, pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10932}
2015-12-08 10:27:34 +00:00
ffea13c42c PRESUBMIT: change native API check from warning to information.
NOTRY=True

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

Cr-Commit-Position: refs/heads/master@{#10931}
2015-12-08 09:57:24 +00:00
20ef654174 RTCCertificate::Expires() and ::HasExpired() implemented using SSLCertificate::CertificateExpirationTime().
NOPRESUBMIT=true
BUG=chromium:544894

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

Cr-Commit-Position: refs/heads/master@{#10930}
2015-12-08 09:42:46 +00:00
325b34542d There was an old scaling for CNG 48 kHz in the code, from the time where Audio Coding Module didn't have full 48 kHz support. This CL removes the scaling.
The bug hasn't caused us any problems, since we don't run CNG together with Opus (our only real 48 kHz codec), but would cause problems if used with PCB16b @ 48 kHz.

BUG=webrtc:5303
R=henrik.lundin@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10929}
2015-12-08 09:13:08 +00:00
88eeac4aa7 Adding video_processing to presubmit lint check
BUG=webrtc:5259
R=pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10928}
2015-12-08 08:21:39 +00:00
4654d204e4 Add test which verifies that the RTP header extensions are set correctly for FEC packets.
Also taking the opportunity to do a little bit of clean up.

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

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

Cr-Commit-Position: refs/heads/master@{#10927}
2015-12-08 08:10:58 +00:00
03ef053202 Merge webrtc/video_engine/ into webrtc/video/
BUG=webrtc:1695
R=mflodman@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10926}
2015-12-08 08:09:07 +00:00
99ab9447d1 Clang format of video_processing folder.
BUG=webrtc:5259

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

Cr-Commit-Position: refs/heads/master@{#10925}
2015-12-08 06:54:59 +00:00
a440c6fa80 Roll chromium_revision 3b8be21..9dfb3a1 (363445:363718)
Change log: 3b8be21..9dfb3a1
Full diff: 3b8be21..9dfb3a1

Changed dependencies:
* src/tools/gyp: e2313c0..70ee80e
DEPS diff: 3b8be21..9dfb3a1/DEPS

No update to Clang.

TBR=

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

Cr-Commit-Position: refs/heads/master@{#10924}
2015-12-08 06:26:33 +00:00
386869247f Free SCTP data channels asynchronously in PeerConnection.
This is needed so that the data channel isn't deleted while one of its
own methods is on the call stack.

BUG=565048

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

Cr-Commit-Position: refs/heads/master@{#10923}
2015-12-07 23:32:31 +00:00