Commit Graph

4162 Commits

Author SHA1 Message Date
6bf62f7ac5 Avoids java.lang.NullPointerException in WebRtcAudioRecord
BUG=NONE

Review-Url: https://codereview.webrtc.org/2276973003
Cr-Commit-Position: refs/heads/master@{#13922}
2016-08-25 12:16:34 +00:00
4805231613 Moved format_macros.h from rtc_base to rtc_base_approved.
BUG=webrtc:3806
NOTRY=True

Review-Url: https://codereview.webrtc.org/2272003002
Cr-Commit-Position: refs/heads/master@{#13921}
2016-08-25 11:43:52 +00:00
4bc4d2747b GN: Fix Windows Clang errors
BUG=webrtc:6255
NOTRY=True

Review-Url: https://codereview.webrtc.org/2274713005
Cr-Commit-Position: refs/heads/master@{#13919}
2016-08-25 11:15:46 +00:00
3f746ea26a Fix error when accumulating floats in an int.
I saw this when browsing the code, I think the intended behavior is accumulating to a float.

BUG=none

Review-Url: https://codereview.webrtc.org/2268163004
Cr-Commit-Position: refs/heads/master@{#13918}
2016-08-25 11:00:27 +00:00
19319a3a2e Add missing "//build/config/sanitizers:deps" to executable targets.
BUG=webrtc:6215
NOTRY=True

Review-Url: https://codereview.webrtc.org/2278723004
Cr-Commit-Position: refs/heads/master@{#13915}
2016-08-25 09:44:11 +00:00
00e45bb09d Move InsertZeroColumns and CopyColumn to ::internal.
These functions operate directly on the packet masks, and are thus not directly
involved in the FEC encoding/decoding operation. The ::internal namespace is used
for packet mask-related functions, and will be renamed later on.

This CL should have no impact on functionality or performance.

BUG=webrtc:5654

Review-Url: https://codereview.webrtc.org/2269893002
Cr-Commit-Position: refs/heads/master@{#13914}
2016-08-25 09:36:09 +00:00
7a770e0a61 GN build rules for four audio processing test executables
click_annotate, intelligibility_proc, nonlinear_beamformer_test, and
transient_suppression_test.

This is a re-land of https://codereview.webrtc.org/2267403003

BUG=webrtc:5949

Review-Url: https://codereview.webrtc.org/2273783004
Cr-Commit-Position: refs/heads/master@{#13913}
2016-08-25 09:33:36 +00:00
8a6a600c16 Make neteq_rtpplay parse RTP header extensions
This removes the warning printouts about unknown header extensions.

BUG=webrtc:2692

Review-Url: https://codereview.webrtc.org/2266403005
Cr-Commit-Position: refs/heads/master@{#13912}
2016-08-25 07:46:41 +00:00
5f09980bb5 Removed inline definitions and added destructors to fix chromium-style.
BUG=webrtc:163

Review-Url: https://codereview.webrtc.org/2272563004
Cr-Commit-Position: refs/heads/master@{#13911}
2016-08-25 07:45:40 +00:00
549d80b979 NetEq: only update current_rtp_payload_type_ when validated
The current_rtp_payload_type_ should only be updated when the packet is
actually inserted into the packet buffer, since then the payload type
has been validated. This CL removes an unvalidated setting of this value
that happened after SSRC change or upon first packet.

BUG=webrtc:5447

Review-Url: https://codereview.webrtc.org/2270793003
Cr-Commit-Position: refs/heads/master@{#13910}
2016-08-25 07:44:32 +00:00
fcada90485 Fixing timestamp comparison assert.
Wasn't handling wrap-around properly. Noticed this because a test
failed.

TBR=henrik.lundin@webrtc.org

Review-Url: https://codereview.webrtc.org/2271203003
Cr-Commit-Position: refs/heads/master@{#13905}
2016-08-24 19:45:18 +00:00
36a06a94fb Increase QP threshold for H.264 encoder QP based scaling.
BUG=b/30743634

Review-Url: https://codereview.webrtc.org/2272893002
Cr-Commit-Position: refs/heads/master@{#13904}
2016-08-24 19:09:22 +00:00
5fac3f0892 NetEq: Don't check sample rate and frame size upon error
If an error happens in the GetAudio call, for instance when corrupt
payloads are inserted, GetAudio wil return an error. In this case, the
audio frame is not always correctly populated, which is to be expected.

BUG=webrtc:5447

Review-Url: https://codereview.webrtc.org/2272963002
Cr-Commit-Position: refs/heads/master@{#13902}
2016-08-24 18:18:54 +00:00
d1a10a0f77 Make FakeDecodeFromFile handle codec-internal CNG
This implementation interprets payloads of size 1 as codec-internal SID
frames, marking the start of a CNG period. Changes were made to other
parts of the test payload chain, since it had to make use of the virtual
payload size in the case of header-only RTP files.

BUG=webrtc:2692

Review-Url: https://codereview.webrtc.org/2275903002
Cr-Commit-Position: refs/heads/master@{#13901}
2016-08-24 17:59:00 +00:00
28a0ffdd52 GN: Synchronize resources between Android and iOS.
iOS tests packaged into an .app uses the same way of
defining resources (the data attribute). Some iOS
simulator tests are failing due to missing resources, so
let's sync them all.

BUG=webrtc:5949
NOTRY=True

Review-Url: https://codereview.webrtc.org/2277753003
Cr-Commit-Position: refs/heads/master@{#13898}
2016-08-24 14:48:48 +00:00
2ec45b9ffa Make dependency of audio_device of ApplicationServices explicit.
Tested in https://codereview.webrtc.org/2276903002.

BUG=webrtc:6170
NOTRY=true

Review-Url: https://codereview.webrtc.org/2273713003
Cr-Commit-Position: refs/heads/master@{#13895}
2016-08-24 13:51:11 +00:00
4e7e8d7300 Now probe for x3 and x6 of the initial start bitrate and allow for faster receive bitrates when calculating probing estimates.
BUG=webrtc:5859

Review-Url: https://codereview.webrtc.org/2269993002
Cr-Commit-Position: refs/heads/master@{#13894}
2016-08-24 13:27:02 +00:00
2c670dbf13 Added GN target for webrtc_opus_fec_test.
BUG=webrtc:6191
NOTRY=True
NOPRESUBMIT=True

Review-Url: https://codereview.webrtc.org/2268213002
Cr-Commit-Position: refs/heads/master@{#13893}
2016-08-24 13:11:27 +00:00
98468bb456 Revert of GN build rules for four audio processing test executables (patchset #3 id:40001 of https://codereview.webrtc.org/2267403003/ )
Reason for revert:
Breaks most of chromium.webrtc.fyi bots.

Original issue's description:
> GN build rules for four audio processing test executables
>
> click_annotate, intelligibility_proc, nonlinear_beamformer_test, and
> transient_suppression_test.
>
> BUG=webrtc:5949
>
> Committed: https://crrev.com/538b5606a3fb6310aab7a7e747aee16eac885f02
> Cr-Commit-Position: refs/heads/master@{#13890}

TBR=kjellander@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:5949

Review-Url: https://codereview.webrtc.org/2274813004
Cr-Commit-Position: refs/heads/master@{#13891}
2016-08-24 12:04:31 +00:00
538b5606a3 GN build rules for four audio processing test executables
click_annotate, intelligibility_proc, nonlinear_beamformer_test, and
transient_suppression_test.

BUG=webrtc:5949

Review-Url: https://codereview.webrtc.org/2267403003
Cr-Commit-Position: refs/heads/master@{#13890}
2016-08-24 11:38:54 +00:00
0561bdf833 Only use payload size within the know send/receive interval for probing calculations.
BUG=webrtc:5859

Review-Url: https://codereview.webrtc.org/2254733005
Cr-Commit-Position: refs/heads/master@{#13889}
2016-08-24 10:44:01 +00:00
619a211562 iLBC: Handle a case of bad input data
We detect an unreasonable state (caused by a bad encoded stream)
before it can lead to problems, and handle it by resetting the
decoder.

NOPRESUBMIT=true
BUG=chromium:617124

Review-Url: https://codereview.webrtc.org/2255203002
Cr-Commit-Position: refs/heads/master@{#13888}
2016-08-24 09:46:48 +00:00
0aa9d1808b Set send side bitrate estimate on successful probing attempt.
BUG=webrtc:5859

Review-Url: https://codereview.webrtc.org/2263973004
Cr-Commit-Position: refs/heads/master@{#13887}
2016-08-24 09:45:42 +00:00
e51b41ae44 Added GN target for isac_test.
BUG=webrtc:6191
NOTRY=True
NOPRESUBMIT=True

Review-Url: https://codereview.webrtc.org/2267423002
Cr-Commit-Position: refs/heads/master@{#13884}
2016-08-24 09:26:04 +00:00
5d167d6829 Removals and renamings in the new audio mixer.
Removed the OutputMixer part of the new mixer and renamed the new
mixer from NewAudioConferenceMixer to AudioMixer.

NOTRY=True

Review-Url: https://codereview.webrtc.org/2249213005
Cr-Commit-Position: refs/heads/master@{#13883}
2016-08-24 09:21:00 +00:00
30be5d7cf4 Updated mixer unittests and fixed a related bug in the new mixer.
Changes to the mixer unittests:

Removed the tests related to the former 'OutputMixer', as it's going
to be removed. Removed incorrect comparison tests with the old mixer
because doing identical mixing decisions with the old mixer proved
unviable.

When the new mixer went from kMaximumAmountOfMixedAudioSources in the
last iteration to kMaximumAmountOfMixedAudioSources+1, it could hit an
RTC_NOTREACHED(); Added fix to mixer and test
AudioMixer.RampedOutSourcesShouldNotBeMarkedMixed that covers that
case.

NOTRY=True

Review-Url: https://codereview.webrtc.org/2253153004
Cr-Commit-Position: refs/heads/master@{#13880}
2016-08-24 08:38:50 +00:00
616df1e95c Added a level indicator to new mixer.
Added a level indicator to the new mixer. The level indicator is
webrtc::voe::AudioLevel. It computes the current audio level, which is
used all the way up to peerconnection.

This is part of the project to rewrite the old conference mixer and
output mixer.

NOTRY=True

Review-Url: https://codereview.webrtc.org/2230823004
Cr-Commit-Position: refs/heads/master@{#13878}
2016-08-24 08:17:20 +00:00
f99a9de069 ProbingEstimator: Erase history based on time threshold
Erases history based on time threshold instead of retaining really old cluster data. Also does a bunch of clean up.

BUG=
R=danilchap@webrtc.org, philipel@webrtc.org, stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13870}
2016-08-23 21:23:12 +00:00
a246cfb8b5 Don't include RTP headers in send-side BWE.
When they are included there will be a mismatch between what the BWE says and
what the encoder is allowed to use, causing us to send more than the network
can handle.

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

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

Cr-Commit-Position: refs/heads/master@{#13866}
2016-08-23 15:51:57 +00:00
9a11784a7f Migrated GN target :g722_test
Migrated GN target :g722_test from
webrtc/modules/audio_coding/codecs/g722/g722.gypi

NOTRY=True

BUG=webrtc:6191

Review-Url: https://codereview.webrtc.org/2275463002
Cr-Commit-Position: refs/heads/master@{#13865}
2016-08-23 15:36:15 +00:00
16f55a10c4 Migrated GN target :g711_test
Migrated GN target :g711_test from
webrtc/modules/audio_coding/codecs/g711/g711.gypi

NOTRY=True

BUG=webrtc:6191

Review-Url: https://codereview.webrtc.org/2273623002
Cr-Commit-Position: refs/heads/master@{#13864}
2016-08-23 15:08:30 +00:00
2e486462e0 RTC_CHECK and RTC_DCHECK macros for C
So that we don't have to use assert(). Includes one sample call site.

NOTRY=true
BUG=chromium:617124

Review-Url: https://codereview.webrtc.org/2262173002
Cr-Commit-Position: refs/heads/master@{#13862}
2016-08-23 12:54:31 +00:00
d8dd190a08 GN: Fix test_support_unittests and MIPS compile issue.
Move the webrtc/test/test_support/metrics sources into
test_support[_unittests] targets.
This is essentially reverting https://webrtc-codereview.appspot.com/5789004
and moving these sources back to the right target.

Add missing foreman_cif.yuv resource needed for these tests.

For MIPS, a compile error was surfacing for logcat_trace_context.h when
flipping bot to GN, which was fixed.

BUG=webrtc:5949
NOTRY=True

Review-Url: https://codereview.webrtc.org/2267113002
Cr-Commit-Position: refs/heads/master@{#13860}
2016-08-23 11:52:19 +00:00
b3f1c5d2fe Add NetEq::FilteredCurrentDelayMs() and use it in VoiceEngine
The new method returns the current total delay (packet buffer and sync
buffer) in ms, with smoothing applied to even out short-time
fluctuations due to jitter. The packet buffer part of the delay is not
updated during DTX/CNG periods.

This CL also pipes the new metric through ACM and uses it in
VoiceEngine. It replaces the previous method of estimating the buffer
delay (where an inserted packet's RTP timestamp was compared with the
last played timestamp from NetEq). The new method works better under
periods of DTX/CNG.

Review-Url: https://codereview.webrtc.org/2262203002
Cr-Commit-Position: refs/heads/master@{#13855}
2016-08-22 22:40:00 +00:00
6c46eaa544 Add gtest as a dependency for neteq_quality_test_support.
Was removed in Patch Set 5 of https://codereview.webrtc.org/2252413002
but shouldn't have been, since it's actually required.

https://cs.chromium.org/chromium/src/third_party/webrtc/modules/audio_coding/neteq/tools/neteq_quality_test.h?l=17

BUG=webrtc:6228
NOTRY=True

Review-Url: https://codereview.webrtc.org/2262173003
Cr-Commit-Position: refs/heads/master@{#13851}
2016-08-22 16:48:11 +00:00
d48717b455 Fix issue where the number of packets reported in tests/simulations sometimes are negative.
BUG=webrtc:6159

Review-Url: https://codereview.webrtc.org/2223033002
Cr-Commit-Position: refs/heads/master@{#13850}
2016-08-22 15:50:36 +00:00
4ec01d9c9d Fix trivial lint errors in FileRecorder and FilePlayer
Mostly, it's about replacing mutable reference arguments with pointer
arguments, and replacing C style casts with C++ style casts.

Review-Url: https://codereview.webrtc.org/2056653002
Cr-Commit-Position: refs/heads/master@{#13849}
2016-08-22 15:43:58 +00:00
853ecb21f7 Style cleanup in UpdateTmmbr:
function names style updated,
unused return type removed.
Comment style fixed, redundant comments removed.
pass-by-pointer parameter changed to pass-by-value because can't be nullptr any more.

NOTRY=true
BUG=webrtc:5565

Review-Url: https://codereview.webrtc.org/2258523005
Cr-Commit-Position: refs/heads/master@{#13848}
2016-08-22 15:26:22 +00:00
7f82fc988d WebRtcIlbcfix_Smooth: Fix UBSan fuzzer bug (left shift of 1 by 31 overflows)
scale1 == 31 if and only if w10 == 0. So even though 1 << scale1
overflows, we know that the result of the multiplication should be 0.
Handle that case.

BUG=chromium:615818

Review-Url: https://codereview.webrtc.org/2258543002
Cr-Commit-Position: refs/heads/master@{#13847}
2016-08-22 14:43:50 +00:00
642e3bc75b [rtcp] TransportFeedback adjusted to match other rtcp packets:
Derived from rtcp::Rtpfb instead of directly from RtcpPacket
Does not depend on RTCPUtility.
Parse function takes CommonHeader.
TransportFeedback::BlockLength fixed to match size used by Create

BUG=webrtc:5260

Review-Url: https://codereview.webrtc.org/1847973003
Cr-Commit-Position: refs/heads/master@{#13846}
2016-08-22 14:37:00 +00:00
49810511c9 [Reland] Cleanup of the AudioDeviceBuffer class.
See https://codereview.webrtc.org/2256833003/

Contains a minor change to ensure that an external client builds.

TBR=magjed
BUG=NONE

Review-Url: https://codereview.webrtc.org/2269553004
Cr-Commit-Position: refs/heads/master@{#13845}
2016-08-22 12:56:17 +00:00
83d79cd4a2 Revert of Add pps id and sps id parsing to the h.264 depacketizer. (patchset #5 id:80001 of https://codereview.webrtc.org/2238253002/ )
Reason for revert:
Breaks some h264 bitstream tests downstream. Reverting for now.

Original issue's description:
> Add pps id and sps id parsing to the h.264 depacketizer.
>
> BUG=webrtc:6208
>
> Committed: https://crrev.com/abcc3de169d8896ad60e920e5677600fb3d40180
> Cr-Commit-Position: refs/heads/master@{#13838}

TBR=sprang@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:6208

Review-Url: https://codereview.webrtc.org/2265023002
Cr-Commit-Position: refs/heads/master@{#13844}
2016-08-22 12:34:43 +00:00
e5b4141746 Move RTP timestamp calculation from BuildRTPheader to SendOutgoingData
BUG=webrtc:5565

Review-Url: https://codereview.webrtc.org/2249223005
Cr-Commit-Position: refs/heads/master@{#13842}
2016-08-22 10:39:31 +00:00
abcc3de169 Add pps id and sps id parsing to the h.264 depacketizer.
BUG=webrtc:6208

Review-Url: https://codereview.webrtc.org/2238253002
Cr-Commit-Position: refs/heads/master@{#13838}
2016-08-22 08:20:43 +00:00
8177452698 iOS H264VideoToolBoxEncoder: Stop scaling native CVPixelBuffers
If the input to H264VideoToolBoxEncoder is a native CVPixelBuffer and
the quality scaler requests scaling, we fall back to a slow path where
the buffer is converted from NV12 to I420 on the CPU and then uploaded
to a native CVPixelBuffer again. It turns out this scaling is not needed
and that the H264VideoToolBoxEncoder can handle the scaling internally.

BUG=b/30939444

Review-Url: https://codereview.webrtc.org/2258103003
Cr-Commit-Position: refs/heads/master@{#13835}
2016-08-20 17:53:32 +00:00
d7a89dbe8b Revert of Cleanup of the AudioDeviceBuffer class (patchset #6 id:100001 of https://codereview.webrtc.org/2256833003/ )
Reason for revert:
Seems to break an external client.

Original issue's description:
> Cleanup of the AudioDeviceBuffer class.
>
> WebRTC works on 10ms buffer sizes in both directions but this class has contained
> support for any size (with some limits) and for changes on the fly. It makes no sense to maintain such code and we have no tests to test it. This CL ensures that only 10ms audio buffers are supported and that nothing can be changed on the fly.
>
> It also updates the style to follow the Google C++ style guide.
>
> Finally, I remove very old (not tested and not maintained) support for file
> handling since the code is never used. It was more or less dead code.
>
> BUG=NONE
> R=magjed@webrtc.org
>
> Committed: https://crrev.com/cf327b45b9f5738950d4fca2b6a7b6030d508cdf
> Cr-Commit-Position: refs/heads/master@{#13833}

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

Review-Url: https://codereview.webrtc.org/2260183002
Cr-Commit-Position: refs/heads/master@{#13834}
2016-08-19 15:09:29 +00:00
cf327b45b9 Cleanup of the AudioDeviceBuffer class.
WebRTC works on 10ms buffer sizes in both directions but this class has contained
support for any size (with some limits) and for changes on the fly. It makes no sense to maintain such code and we have no tests to test it. This CL ensures that only 10ms audio buffers are supported and that nothing can be changed on the fly.

It also updates the style to follow the Google C++ style guide.

Finally, I remove very old (not tested and not maintained) support for file
handling since the code is never used. It was more or less dead code.

BUG=NONE
R=magjed@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13833}
2016-08-19 14:38:07 +00:00
da161d795c Reformat rtcp_receiver
git cl format --full

BUG=webrtc:5565
NOTRY=true

Review-Url: https://codereview.webrtc.org/2259213002
Cr-Commit-Position: refs/heads/master@{#13832}
2016-08-19 14:29:51 +00:00
861da3c662 Refactor neteq_test_support.
Take 'tools/neteq_quality_test.cc' and 'tools/neteq_quality_test.h' outside of neteq_test_support into their own target, neteq_quality_test_support.

BUG=webrtc:6228
NOTRY=True

Review-Url: https://codereview.webrtc.org/2252413002
Cr-Commit-Position: refs/heads/master@{#13831}
2016-08-19 14:02:31 +00:00
bcba64a0fa GN: Add "//build/config/sanitizers:deps" as a dependency to executable targets.
When the sanitizer bots are switched to GN, this needs to be included as a dependency so that the executables can be compiled.

BUG=webrtc:6215
NOTRY=True

Review-Url: https://codereview.webrtc.org/2250893003
Cr-Commit-Position: refs/heads/master@{#13829}
2016-08-19 09:11:15 +00:00