Commit Graph

1092 Commits

Author SHA1 Message Date
d7696c4ed1 Compile-out functions only used by the bit-exact test.
Causes errors on platforms where the test is unused.

TBR=bjornv

Review URL: https://webrtc-codereview.appspot.com/4869004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5207 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-03 23:39:16 +00:00
d3865e9124 Don't HANDLE_EINTR(close). Use IGNORE_EINTR(close).
It is incorrect to wrap close in HANDLE_EINTR on Linux.

BUG=chromium:269623
R=fischman@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/4759004

Patch from Mark Mentovai <mark@chromium.org>.

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5206 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-03 19:10:20 +00:00
812dd11f8c Add baseline generation/verification to BWE test framework.
Updating resource file separately, once LGTM. Generates ~628k of files for current tests, highly compressable, once/if we need that.

BUG=
R=mflodman@webrtc.org, stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/4639004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5204 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-03 15:11:14 +00:00
499631c1e4 Utility class for reading/writing network-byte-ordered integers.
BUG=
R=holmer@google.com, mflodman@webrtc.org, stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/2151008

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5203 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-03 13:22:48 +00:00
37968a9be7 Change BitrateStats to more generalized RateStatistics
BUG=2656
R=holmer@google.com, mflodman@webrtc.org, stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/4559004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5202 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-03 10:31:59 +00:00
5ecdef11cc Do not use recursive calling in NetEq test tools
This CL removes recursive calling in:
- NETEQTEST_DummyRTPpacket::readFromFile,
- NETEQTEST_RTPpacket::readFromFile.

The files currently exist for both NetEq3 and NetEq4, and all are
changed with this CL.

R=turaj@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/4699004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5200 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-03 08:26:49 +00:00
8418e9696b Fixing NetEq tests for new Opus version
The new version of Opus doesn't generate the same number of bytes encoding the test vectors in audio_decoder_unittest. Therefore the test was updated not to check the length of the encoded packet, to prepare for the coming roll of Opus. Same change was applied to iSAC, which can also generate different number of bytes on different platforms.

BUG=1459
R=henrik.lundin@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/4609004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5195 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-29 09:30:43 +00:00
bd41a84694 This CL adds an API to enable robust validation of delay estimates.
Added is
- a member variable for turning robust validation on and off.
- API to enable/disable feature.
- API to check if enabled.
- unit tests for these APIs.

Not added is
- the actual functionality (separate CL), hence turning feature on/off has no impact currently.
- calls in AEC and AEC, where the delay estimator is used. This is also done in a separate CL when we know if it should be turned on in both components.

TESTED=trybots, module_unittest
BUG=
R=aluebs@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/4609005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5191 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-28 14:58:35 +00:00
b627f676b3 Fixes a crash in the pacer where it fails to find a normal prio packet if there are no high prio packets, given that the queue has grown too large.
BUG=2682
R=mflodman@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/4599005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5190 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-28 14:00:09 +00:00
d1a1c353ac Recommit CL5184
TBR=aluebs@webrtc.org
BUG=

Review URL: https://webrtc-codereview.appspot.com/4599004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5187 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-28 11:45:05 +00:00
c8f76ddc19 Refactor Remote Estimators Test into a more reusable form.
BUG=
R=andresp@webrtc.org, mflodman@webrtc.org, stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/4359004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5186 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-28 10:11:35 +00:00
82eb3a690e Revert 5184 "Small refactoring change in delay_estimator."
> Small refactoring change in delay_estimator.
> 
> This CL produce the bit exact output and is a preparing step for an upcoming robust validation scheme.
> 
> TESTED=trybots, module_unittest
> BUG=None
> R=aluebs@webrtc.org
> 
> Review URL: https://webrtc-codereview.appspot.com/4549004

TBR=bjornv@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/4589004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5185 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-28 09:44:47 +00:00
eea079a376 Small refactoring change in delay_estimator.
This CL produce the bit exact output and is a preparing step for an upcoming robust validation scheme.

TESTED=trybots, module_unittest
BUG=None
R=aluebs@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/4549004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5184 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-28 07:59:04 +00:00
19a40ff05b Ensure that no packet stays in the pacer queue for longer than 2 seconds.
BUG=2682
TEST=trybots
R=mflodman@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/4519004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5182 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-27 14:16:20 +00:00
4070935f4f Implement and test EncodedImageCallback in new ViE API.
R=mflodman@webrtc.org, pbos@webrtc.org, stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/4059004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5179 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-26 11:41:59 +00:00
d89b52af80 Faster implementation of BitRateStats.
Landing cl for hguihot.

At high bitrate, EraseOld() could account for a significant part of
the total CPU usage on certain platforms. The new implementation
eliminates per-packet memory allocations and records the number of
bytes in buckets (one bucket per millisecond in window).

R=stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/4269004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5175 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-25 17:49:28 +00:00
47fadba750 Add include stdlib.h to files using abs.
abs function is declared in stdlib.h

Committing for alextaran@chromium.org.
Reviewed here: http://review.webrtc.org/4239004/

TBR=mflodman@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/4349004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5170 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-25 12:03:56 +00:00
b5bc098e20 Clear empty video frames in unittest so DrMemory will allow them to be read without an uninitialized read error.
BUG=libyuv:263
TESTED=drmemory out\Debug\modules_unittests.exe --gtest_filter=*PreprocessorLogic
R=kjellander@webrtc.org, mflodman@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/4319004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5168 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-25 09:06:33 +00:00
5272eb8d83 Don't register iSAC-swb and iSAC-fb in NetEqDecodingTest.
Android bots break due to r5164. This CL patches that issue.

BUG=
TEST=modules_unittests on local device.
R=andrew@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/4309004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5166 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-23 00:11:32 +00:00
e839da02c1 Fix MouseCursor to MouseCursorShape conversion in ScreenCapturerWin.
BUG=crbug.com/322596
R=dcaiafa@chromium.org, wez@chromium.org

Review URL: https://webrtc-codereview.appspot.com/4279005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5165 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-22 20:39:16 +00:00
78b41a09bd Fix issues with sequence number wrap-around in jitter statistics.
Related CL for NetEq 3 is https://code.google.com/p/webrtc/source/detail?r=5150

Jitter statistics was not very sensitive to timestamp warp-around, and NetEqDecodingTest.TimestampWrap *DID NOT* fail before fixes applied. However, we still keep the test.

The criteria for the tests are not satisfied for first few packets, before any wrap-around happens. We could either relax the bound or ignore the first few packets. We chose the latter.

BUG=2662
TEST=modules_unittests,trybots
R=tina.legrand@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/4219004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5164 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-22 20:27:07 +00:00
1e8c93c953 Distinguish instances of ACM1 from ACM2 by a version string. This is fpr testing purposes and will be removed when the experiment is done and ACM1 is fade out.
BUG=
R=andrew@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/4069006

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5161 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-22 17:04:49 +00:00
2ffb149c2c Replace VideoFrameI420 with I420VideoFrame.
Gives one less struct/class for I420 video frames.

BUG=2657
R=mflodman@webrtc.org, wu@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/4149004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5160 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-22 13:10:13 +00:00
b0ed8f8a08 Don't reset the AEC filter in extended mode.
I don't believe I've witnessed this "feature" ever provide a benefit,
and have now collected some evidence of its harm when using the
extended filter mode. It can cause erroneous resets in two cases:

1. Some preprocessing noise suppression is enabled in the system (i.e.
"audio enhancements") that push the noise floor very low, possibly to
zero. If the filter is non-zero this condition can be triggered very
easily, and erroneously.

2. Non-zero energy in the filter before the peak impulse response can
cause a slight (and harmless) "pre-echo" in the error signal. This
becomes more significant as the peak is set further back in the filter.
This effect can cause needless resets during echo onsets.

In short, this isn't a great criterion for filter reset and has the
potential to cause serious harm. Ideally we would remove it entirely,
but in the interests of safety, can start with the extended mode.

BUG=1261
R=aluebs@webrtc.org, bjornv@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/3959004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5159 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-22 06:39:42 +00:00
ef2d55461b Increase size of pacer window to 500 ms as that better matches the encoder.
BUG=1812
R=andresp@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/4129006

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5154 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-21 14:37:11 +00:00
ffe1b17b57 Lock access to ModuleRtpRtcpImpl::simulcast_.
Fixes race between RegisterSendPayload and SendOutgoingData.

BUG=
R=stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/4099006

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5152 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-21 13:53:13 +00:00
6f6ba6edee Fix issues with sequence number wrap-around in jitter statistics
Wrap-arounds in sequence numbers (and in timestamps) were not always
treated correctly. This is fixed by introducing two helper functions
for correct comparisons, and by casting to the right word size.

Also added a new member variable to AutomodeInst_t. The new member keeps
track of when the first packet has been registered in the automode code.
This was previously done implicitly (and not very good) using the fact
that the lastSeqNo and lastTimestamp members were initialized to zero.

Two new unit tests were added as part of this CL.
NetEqDecodingTest.SequenceNumberWrap was failing before the fixes were
made; now it is ok.

BUG=2654
R=tina.legrand@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/4139004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5150 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-21 13:17:29 +00:00
8d02f5dc71 Added API for enabling/disabling RTCP Receiver Reference Time extension.
R=mflodman@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/3419005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5147 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-21 08:57:04 +00:00
a750044396 Fixes a crash in VoE when unregistering JNI hooks.
BUG=11695087
R=andrew@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/3939004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5144 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-20 22:32:12 +00:00
1ae1d0c471 Add possibility to get the last processed RTT from the call stats class (to be used by RTP/RTCP module).
R=mflodman@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/2383004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5139 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-20 12:46:11 +00:00
0b72f5863b Add experimental noise suppression dummy API.
Add this flag to the voe_cmd_test.

R=andrew@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/3879004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5134 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-19 15:17:51 +00:00
5d85819dd2 Fix DesktopAndCursorComposer to restore frames to the original state.
Screen capturers may reuse frame buffers and they expect that the
frame content isn't changed by the frame consumer.
DesktopAndCursorComposer draws mouse cursor on generated frames and
it was releasing the frames with the mouse cursor on them. Fixed
it to restore frame content erasing mouse cursor before returning
desktop frames.

BUG=crbug.com/316297
R=wez@chromium.org

Review URL: https://webrtc-codereview.appspot.com/3899004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5133 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-19 02:15:47 +00:00
7a05ae5c69 Adding back main() to the test. Now it is possible to choose between ACM1 and ACM2, furthermore, the test can simulate a channel with packet loss and FEC can be activated. Packet loss pattern is based on channel implementation in Channel{.cc,.h}, which currently is a determenistic pattern with 1 every 3rd packet is discarded.
The main() was deleted in r4731.

BUG=
R=andrew@webrtc.org, minyue@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/2370004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5132 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-18 18:16:53 +00:00
ce8e0936d9 Rename AutoMute to SuspendBelowMinBitrate
Changes all instances throughout the WebRTC stack.

BUG=2436
R=mflodman@webrtc.org, stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/3919004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5130 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-18 12:18:43 +00:00
b082ade3db Hook up audio/video sync to Call.
Adds an end-to-end audio/video sync test.

BUG=2530, 2608
TEST=trybots
R=henrika@webrtc.org, mflodman@webrtc.org, pbos@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/3699004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5128 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-18 11:45:11 +00:00
6e95d7afab Increment RTP timestamps for padding packets
This CL makes the padding packets get their own RTP timestamps,
rather than having the same timestamp as the last sent video
packet. The purpose is to solve Issue 2611, where the overuse-
detector does not react to padding packets.

A test was implemented to verify that the padding packets do
get their own timestamps.

BUG=2611
R=stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/3869004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5125 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-15 08:59:19 +00:00
9b82f5a6ed Fix for RTX in combination with pacing.
Retransmissions didn't get sent over RTX when pacing was enabled since
the pacer didn't keep track of whether a packet was a retransmit or not.

BUG=1811
TEST=trybots
R=pbos@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/3779004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5117 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-13 15:29:21 +00:00
e8433eb115 Reimplementing NetEq4's AudioVector
The current implementation using std::vector is too slow.
This CL introduces a new implementation, using a regular
array as data container.

In AudioMultiVector::ReadInterleavedFromIndex, a special case for
1 channel was implemented, to further reduce runtime. Finally,
AudioMultiVector::Channels was reimplemented.

The changes in this CL reduces the runtime of neteq4_speed_test
by 33%.

BUG=1363
R=turaj@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/3509004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5115 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-12 13:15:02 +00:00
38599510df Parse next RTCP XR report block after an unsupported block type.
R=stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/2649004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5114 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-12 08:08:26 +00:00
3e427263ee Reducing opus_test runtime to pass Android test
BUG=2609
R=solenberg@webrtc.org, tina.legrand@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/3639004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5111 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-11 22:03:52 +00:00
e03cafaebc MIPS optimizations for AECM audio processing module
R=andrew@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/2279005

Patch from Ljubomir Papuga <lpapuga@mips.com>.

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5110 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-11 20:10:01 +00:00
b0730108a2 Move audio_processing dependencies to a variable.
R=aluebs@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/3679004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5108 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-11 17:20:27 +00:00
57eb858698 Remove ".." from include_dirs in build/common.
BUG=1662
TEST=compile on trybots
R=tina.legrand@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/2332004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5107 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-11 10:20:27 +00:00
6e908b3adf Remove unnecessary include_dirs from audio_processing.
TBR=aluebs
TESTED=trybots

Review URL: https://webrtc-codereview.appspot.com/3659004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5106 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-08 19:52:05 +00:00
48df38114d Fix for making sure that the packet in order checks are done prior to updating the last received packet state.
Without this fix all packets are considered out-of-order by the rtp receiver, causing the last received state
in the rtp receiver to never get valid.

Also makes sure that only valid timestamps and receive times are used for audio/video sync.

BUG=2608
R=mflodman@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/3609004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5102 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-08 15:18:52 +00:00
bde3056567 Fix for video_processor_intergration_tests to run in parallel.
BUG=2601.
R=pbos@webrtc.org, stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/3519004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5091 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-06 20:59:29 +00:00
7a36cb408b Add missing dependencies to .isolate files
Also fix invalid paths in video_engine_tests.isolate.

TEST=trybots passing compile step (no .isolate use is deployed on them yet)
BUG=chromium:300017
R=pbos@webrtc.org
TBR=mflodman@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/3399005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5084 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-05 14:28:57 +00:00
b8cb85b348 Fix broken build on x86 Android
BUG=2545
R=fischman@webrtc.org, henrike@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/3019004

Patch from Lu Quiang <qiang.lu@intel.com>.

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5081 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-04 19:06:08 +00:00
766154aa1d Removed unused code.
R=stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/3219004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5073 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-04 08:35:50 +00:00
5dd2ecb32d Revert "Remove extra copy in VideoCaptureImpl::IncomingFrameI420"
This reverts commit f4ca3808bd9ec2293ec205f2f4a7d9739ce1f2df.

TBR=niklas.emblom@webrtc.org
BUG=

Review URL: https://webrtc-codereview.appspot.com/3269004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5071 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-31 23:41:04 +00:00