Commit Graph

3498 Commits

Author SHA1 Message Date
ef38b564ea Improves error handling for playout initialization on Android.
We no longer crash when initialization fails.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#12241}
2016-04-05 14:20:35 +00:00
9705bb81d6 Fixing an error in DebugDumpTest.
A recent change in DebugDumpTest introduced an error

https://codereview.webrtc.org/1810463002/

The file was not fully scanned.

This CL fixes it.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#12236}
2016-04-05 11:39:20 +00:00
c54aad6ae0 Revert of Moved ring-buffer related files from common_audio to audio_processing (patchset #8 id:150001 of https://codereview.webrtc.org/1846903004/ )
Reason for revert:
This CL caused a google3 breakage due to dependencies in Google3.

I will fix that, and reland.

Original issue's description:
> Moved ring-buffer related files from common_audio to audio_processing
>
> BUG=webrtc:5724
> NOPRESUBMIT=true
>
> Committed: https://crrev.com/711ccc8d96490f58cc3d7fd9207c19d4d881d4dc
> Cr-Commit-Position: refs/heads/master@{#12227}

TBR=ivoc@webrtc.org,henrik.lundin@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:5724

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

Cr-Commit-Position: refs/heads/master@{#12232}
2016-04-05 07:02:35 +00:00
6c393244b0 Revert of Moved the ringbuffer to be built using C++ (patchset #2 id:20001 of https://codereview.webrtc.org/1851873003/ )
Reason for revert:
This CL is dependent on the  CL https://codereview.webrtc.org/1846903004/ which caused a google3 breakage due to dependencies in Google3.

I will fix that, and reland this CL.

Original issue's description:
> Moved the ringbuffer to be built using C++
>
> BUG=webrtc:5724
>
> Committed: https://crrev.com/677e5774eaf287fa02f75fd5c8ad3f9ded9ed9c4
> Cr-Commit-Position: refs/heads/master@{#12230}

TBR=ivoc@webrtc.org,henrik.lundin@webrtc.org,kwiberg@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:5724

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

Cr-Commit-Position: refs/heads/master@{#12231}
2016-04-05 07:00:50 +00:00
677e5774ea Moved the ringbuffer to be built using C++
BUG=webrtc:5724

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

Cr-Commit-Position: refs/heads/master@{#12230}
2016-04-05 06:58:21 +00:00
de81ea8524 Keep reads within buffer in AnalysisUpdateNeon().
BUG=webrtc:5631

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

Cr-Commit-Position: refs/heads/master@{#12228}
2016-04-05 06:15:44 +00:00
711ccc8d96 Moved ring-buffer related files from common_audio to audio_processing
BUG=webrtc:5724
NOPRESUBMIT=true

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

Cr-Commit-Position: refs/heads/master@{#12227}
2016-04-05 05:57:48 +00:00
bfedbf9eae Make naming of APM perf test consistent
BUG=599953

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

Cr-Commit-Position: refs/heads/master@{#12225}
2016-04-04 23:53:42 +00:00
7d06a8cfe4 Add CoreVideoFrameBuffer.
- Makes vt h264 decoder output CoreVideoFrameBuffer
- Makes iOS renderer convert frame buffer if it is not i420

BUG=

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

Cr-Commit-Position: refs/heads/master@{#12224}
2016-04-04 21:10:47 +00:00
bc37fc8418 Add mock AudioDeviceModule.
BUG=webrtc:4690

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

Cr-Commit-Position: refs/heads/master@{#12220}
2016-04-04 16:54:52 +00:00
85829fd90c Make QualityScaler more responsive to downgrades.
Permits going from HD to QVGA in 6 seconds instead of 10. Also adds
windows for going up quickly in the beginning of a call (before any
downscaling happens due to bad quality).

BUG=webrtc:5678
R=glaznev@webrtc.org, stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12219}
2016-04-04 16:11:18 +00:00
1c392cc5cf Avoid rescheduling the next RTCP packet if the RTCP sender status doesn't change.
The change made in https://codereview.webrtc.org/1757683002 introduced an extra call to RTCPSender::SetRTCPStatus after the video receive stream is created. The SetRTCPStatus call results in no state change, as the RTCP sender is already enabled, however, it reschedules the next RTCP packet to be RTCP_INTERVAL_VIDEO_MS/2 (500) ms in the future.
Before the change, the next packet time was only set by the previous call to RTCPSender::SetSSRC, which placed it 100 ms in the future. The change, therefore, changed the timing of multiple performance tests - as it now takes a different length of time to ramp up to the same bandwidth.

BUG=chromium:597332

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

Cr-Commit-Position: refs/heads/master@{#12203}
2016-04-01 21:46:54 +00:00
2d66cf9d8d Tweak kDecayRate in the IntelligibilityEnhancer
This makes the addaptation of the IntelligibilityEnhancer slower, which makes it take more time to kick in or when the background noise changes drastically. But on the other hand, it reduces the risk of clipping and makes the changing in coloring less noticeable.

R=henrik.lundin@webrtc.org, peah@webrtc.org, turaj@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12202}
2016-04-01 20:59:44 +00:00
3b14996046 Fix normalization of noise estimate in NoiseSuppressor
R=henrik.lundin@webrtc.org, peah@webrtc.org, turaj@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12201}
2016-04-01 20:54:47 +00:00
d81dc49c5b Fix C4434 warning about 32-bit shift assigned to 64-bits
VS 2015 has a new or louder warning about 32-bit shifts that are then
assigned to a 64-bit target. This type of code triggers it:

int64_t size = 1 << shift_amount;

Because the '1' being shifted is a 32-bit int the result of the shift
will be a 32-bit result, so assigning it to a 64-bit variable is just
misleading.

In this case the code that triggers it is this:

  size_t window_size = static_cast<size_t>(1 << shift_amount);

The destination is a size_t so the warning only shows up on 64-bit
builds and doesn't indicate a real bug. It's curious that the code
had a cast already - presumably to suppress some other warning - but
the cast is not in the ideal place and doesn't avoid this new warning.
Moving the cast allows shift_amount to be log2(size_t) and allows
enabling C4334 in Chromium.

BUG=593448

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

Cr-Commit-Position: refs/heads/master@{#12199}
2016-04-01 17:16:21 +00:00
fa0befe13b External denoiser based on noise estimation and moving object detection.
Improved the existing external denoiser in WebRTC: the filter strength
is adaptive based on the noise level of the whole frame and the moving
object detection result. The adaptive filter effectively removes the
artifacts in previous version, such as trailing and blockiness on moving
objects.
The external denoiser is off by default for now.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#12198}
2016-04-01 14:47:06 +00:00
cfebcca51b Disable VideoCaptureExternalTest.FrameRate on Mac
The test is flaky.

BUG=webrtc:3270
TBR=mflodman@webrtc.org
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#12196}
2016-04-01 10:23:19 +00:00
c707ab7cb0 Packet buffer for the new jitter buffer.
BUG=webrtc:5514
R=stefan@webrtc.org, mflodman@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12194}
2016-04-01 09:02:00 +00:00
86101e9c08 Remove deprecated RtpReceiver::CreateAudioReceiver() function.
BUG=webrtc:4690

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

Cr-Commit-Position: refs/heads/master@{#12192}
2016-04-01 08:01:33 +00:00
63a2c13d6d Only split into bands when the reverse stream is analyzed in the APM
BUG=596079
R=henrik.lundin@webrtc.org, peah@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12187}
2016-04-01 01:04:47 +00:00
fecb7c3c50 Use mobile platform settings for VP8 and VP9 decoders on all Android builds.
BUG=b/27877683
R=jackychen@webrtc.org, marpan@google.com, marpan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12185}
2016-03-31 21:23:33 +00:00
4a206a96c1 Remove webrtc::ScopedVector
We can (and should) use std::vector<std::unique_ptr<T>> instead.
Because it's standard, and because it's safer since callers have to
manually wrap elements in std::unique_ptr before inserting them and
manually unwrap them after inserting them.

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

Cr-Commit-Position: refs/heads/master@{#12182}
2016-03-31 17:24:31 +00:00
118ef00594 Add histogram stats for average QP per frame for VP8 (for sent video streams):
- "WebRTC.Video.Encoded.Qp.Vp8"
- "WebRTC.Video.Encoded.Qp.Vp8.S0"
- "WebRTC.Video.Encoded.Qp.Vp8.S1"
- "WebRTC.Video.Encoded.Qp.Vp8.S2"

BUG=

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

Cr-Commit-Position: refs/heads/master@{#12174}
2016-03-31 07:00:25 +00:00
9846651cc4 Changed the names of some of the bitexactness unittests to
be similar to the other file names of the tests.

(Also removed a redundant blank line in the highpass filter unittest
file).

BUG=

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

Cr-Commit-Position: refs/heads/master@{#12171}
2016-03-30 22:34:01 +00:00
51fbdd6ada Changed tests to be DISABLED on non-supported platforms rather than not to build at all.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#12170}
2016-03-30 21:58:42 +00:00
4b9cad86ce [rtcp] Sdes::Parse updated not to use RTCPUtility
BUG=webrtc:5260
R=åsapersson

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

Cr-Commit-Position: refs/heads/master@{#12169}
2016-03-30 20:34:38 +00:00
41befcee7d Make rtcp sender use max transfer unit.
Remove packet overhead from rtp sender as unused.

R=philipel, åsapersson

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

Cr-Commit-Position: refs/heads/master@{#12165}
2016-03-30 18:11:55 +00:00
367bbbf76d [rtcp] ReceiverReport::Parse updated not to use RTCPUtility
BUG=webrtc:5260
R=åsapersson

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

Cr-Commit-Position: refs/heads/master@{#12164}
2016-03-30 16:43:09 +00:00
fc737e5442 Fix division by zero in NonlinearBeamformer
BUG=webrtc:5703

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

Cr-Commit-Position: refs/heads/master@{#12163}
2016-03-30 16:37:47 +00:00
7ea928e8e2 Renamed the test::BitExactFrame method to test::VectorDifferenceBounded.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#12162}
2016-03-30 15:14:02 +00:00
d53c389550 Shorten single-stream VP8 HW implementation names.
Removes "SimulcastEncoderAdapter" from single-stream HW VP8 even though
they are wrapped in a SimulcastEncoderAdapter.

BUG=
R=stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12161}
2016-03-30 15:04:04 +00:00
f1f87203d7 Split ByteBuffer into writer/reader objects.
This allows the reader to reference data, thus avoiding unnecessary
allocations and memory copies.

BUG=webrtc:5155,webrtc:5670

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

Cr-Commit-Position: refs/heads/master@{#12160}
2016-03-30 13:43:44 +00:00
0d05da7ee6 Rent-A-Codec: Reference count the shared iSAC bandwidth estimation state
Now that the Rent-A-Codec no longer owns the encoders and decoders it
produces, they may outlive it. It's thus no longer correct for the
Rent-A-Codec to own the bandwidth estimation state; all of the
involved objects need to share ownership.

BUG=webrtc:5028

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

Cr-Commit-Position: refs/heads/master@{#12159}
2016-03-30 11:10:18 +00:00
4cdbd57fe3 AudioCodingModule: Add methods for injecting external encoder stacks
BUG=webrtc:5028

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

Cr-Commit-Position: refs/heads/master@{#12158}
2016-03-30 10:10:15 +00:00
1d0313916b Reland https://codereview.webrtc.org/1802993002/
Clean away use of RtpAudioFeedback interface from RTP/RTCP receiver code.

BUG=webrtc:4690

Committed: https://crrev.com/69a81999ace08e40e2b2ec526b0e111aa11b9538
Cr-Commit-Position: refs/heads/master@{#12015}

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

Cr-Commit-Position: refs/heads/master@{#12157}
2016-03-30 09:42:37 +00:00
0d343fa39d Remove unused stuff from AudioFrame:
- The interleaved_ field. Never set to anything but 'true'. AudioFrame data appears to always be treated as interleaved.
- The Append() method.
- operator-=().

BUG=

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

Cr-Commit-Position: refs/heads/master@{#12152}
2016-03-29 23:42:12 +00:00
059dadf0c4 Added missing TODOs in the beamformer unit test code.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#12151}
2016-03-29 22:15:14 +00:00
af2f3dd206 Reland: Add IntelligibilityEnhancer support to audioproc_float
Landed originally here: https://codereview.webrtc.org/1800413002/

TBR=peah@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12150}
2016-03-29 21:54:44 +00:00
dd56fa8642 Revert "Add IntelligibilityEnhancer support to audioproc_float"
Revert reason: I unintentionally added a patch when rebasing that is breaking the bots.

This reverts commit 98c69a0ee785adeb9d95fffeb55cdb6cedbe82c6.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#12148}
2016-03-29 20:05:46 +00:00
98c69a0ee7 Add IntelligibilityEnhancer support to audioproc_float
R=peah@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12147}
2016-03-29 19:43:42 +00:00
57d5a2e4df Reland of Added a bitexactness test for the gain controller in the audio processing module.
This is a reland of the CL https://codereview.webrtc.org/1812433002/ which
was reverted due to incorrect bitexactness on Android bots.

The changes done in the relanding CL is to Deactivate the test for Android and reduce the number of interations.

TBR=henrik.lundin@webrtc.org
BUG=webrtc:5339

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

Cr-Commit-Position: refs/heads/master@{#12143}
2016-03-29 16:48:44 +00:00
b252856d10 Remove all uses of the HAVE_CONFIG_H define.
BUG=
R=henrik.lundin@webrtc.org, pthatcher@google.com, stefan@webrtc.org, tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12141}
2016-03-29 15:47:28 +00:00
2f36c2399e [rtcp] SenderReport::Parse updated not to use RTCPUtility
BUG=webrtc:5260
R=åsapersson

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

Cr-Commit-Position: refs/heads/master@{#12140}
2016-03-29 15:02:33 +00:00
ceef04613b Added a bitexactness test for the beamformer in the audio processing module
BUG=webrtc:5341

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

Cr-Commit-Position: refs/heads/master@{#12137}
2016-03-29 12:35:56 +00:00
58d992e025 Add macros for ability to log samples that are added to histograms (RTC_LOGGED_*).
Adds logging of:
- video stats that are recorded when a stream is removed
- bitrate stats that are recorded at the end of a call
- initial bwe rampup stats

BUG=

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

Cr-Commit-Position: refs/heads/master@{#12133}
2016-03-29 09:15:11 +00:00
d4f6ea70b5 Re-reland of Added a bitexactness test for the echo canceller in the audio processing module.
This is a reland of the CL https://codereview.webrtc.org/1827833006/ that was reverted due to problems of the bitexactness of the Chromium Android64 and Android32 bots.

The reverting CL was https://codereview.webrtc.org/1827863003/

This new action taken in this CL is to disable the test for all Android, ARM and ARM64 platforms

TBR=henrik.lundin@webrtc.org
BUG=webrtc:5337

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

Cr-Commit-Position: refs/heads/master@{#12131}
2016-03-29 07:37:51 +00:00
4b0c74172e Added a bitexactness test for the intelligibility enhancer in the audio processing module
BUG=webrtc:5242

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

Cr-Commit-Position: refs/heads/master@{#12129}
2016-03-29 06:43:57 +00:00
918d015737 Revert of Added a bitexactness test for the gain controller in the audio processing module. (patchset #3 id:60001 of https://codereview.webrtc.org/1812433002/ )
Reason for revert:
This CL are breaking some of the Android buildbots in Chromium.

The CL will need be be revised to exclude the Android platform.

Original issue's description:
> Added a bitexactness test for the gain controller in the audio processing module.
>
> BUG=webrtc:5339
>
> Committed: https://crrev.com/a49dc36976da44f3d6d75aed2dcab93fe14fc3a0
> Cr-Commit-Position: refs/heads/master@{#12124}

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

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

Cr-Commit-Position: refs/heads/master@{#12127}
2016-03-25 07:50:47 +00:00
a49dc36976 Added a bitexactness test for the gain controller in the audio processing module.
BUG=webrtc:5339

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

Cr-Commit-Position: refs/heads/master@{#12124}
2016-03-25 00:59:29 +00:00
84db6fa7f5 Adding BlockMeanCalculator for AEC.
This will improve the readability of AEC code.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#12123}
2016-03-24 21:36:33 +00:00