4673 Commits

Author SHA1 Message Date
henrik.lundin@webrtc.org
40d3fc65f5 NetEq4: Make some DSP operation classes member variables
This CL reduces the memory allocations by making the instances of
Accelerate, PreemptiveExpand, Normal and Merge member variables in
NetEqImpl.

This change reduced the allocation count by 20,000 in the bit-exactness
test.

BUG=Issue 1363
TEST=out/Debug/modules_unittests
--gtest_filter=NetEqDecodingTest.TestBitExactness

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4776 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-18 12:19:50 +00:00
stefan@webrtc.org
8db81c5112 Fix races in vcm::Process().
R=pbos@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4775 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-18 11:57:34 +00:00
sjlee@webrtc.org
fe84fda488 Changing 'frame' method to 'bounds' method.
BUG=2369
R=fischman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4773 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-18 01:37:31 +00:00
turaj@webrtc.org
367baa6eb3 Compile ACM1 and ACM2.
-Make ACM1 to depend on ACM2.
-Remove APIs to set and get background noise mode. There is no VoE call to these APIs.
-Remove APIs to set and get receive side VAD mode. There is no VoE call to these APIs, and NetEq 4, doesn't support them.
-Remove callback for in-band DTMF detection. ACM doesn't support in-band DTMF detection.
-Use acm_common_defs.h everywhere required.
-Complete ACM factory method.
-Update ACMCodecDatabase of ACM2. CNG full-band need to be define-guarded. Remove dynamic payload-type assignment.

BUG=
R=andrew@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4772 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-18 00:36:11 +00:00
henrike@webrtc.org
c8dea6a00f Use the native sample rate for OpenSL recording.
BUG=N/A
R=fischman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4771 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-17 18:44:51 +00:00
pbos@webrtc.org
32d640e03d Fix typo in r4765.
Fixes compile error on all platforms.

BUG=
TEST=compile on tryboys
R=stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4766 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-17 10:36:30 +00:00
pbos@webrtc.org
da2c4cede0 Fix dangling pointer _encoder in video_sender.cc.
When _codecDataBase.SetSendCodec() fails, the encoder may be deleted.
This is however not reflected in _encoder, which then becomes a dangling
pointer to the deleted object.

BUG=2384
R=stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4765 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-17 09:38:41 +00:00
pbos@webrtc.org
be63fd644f Initialize CodecInst structs in test_api_audio.cc.
Fixes errors detected by DrMemory on Windows.

BUG=2382
R=stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4764 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-17 09:33:17 +00:00
henrik.lundin@webrtc.org
d1fc5d4e17 Dedicated speed test for NetEq4
This CL implements a new speed test application for NetEq4.
The application runs a minimum of overhead in order to
highlight the performance of NetEq itself.

BUG=1363
R=minyue@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4763 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-17 08:38:02 +00:00
stefan@webrtc.org
28a331eede Add support for multiple report blocks.
Use a weighted average of fraction loss for bandwidth estimation.

TEST=trybots and vie_auto_test --automated
BUG=1811
R=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4762 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-17 07:49:56 +00:00
sjlee@webrtc.org
fc10c5c97f This is related to https://code.google.com/p/webrtc/issues/detail?id=1341
BUG=1341
R=mallinath@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4761 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-17 05:15:37 +00:00
sjlee@webrtc.org
e6ac163145 This is related to https://code.google.com/p/webrtc/issues/detail?id=846
BUG=846
R=mallinath@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4760 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-17 05:15:19 +00:00
andresp@webrtc.org
e401c2e391 Split video coding module unit tests into sender and receiver unit tests.
R=mflodman@webrtc.org, stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4753 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-16 20:29:13 +00:00
andresp@webrtc.org
8fa436bd65 Remove use of vcm->ResetDecoder from modules/utility.
R=asapersson@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4750 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-16 11:26:35 +00:00
andresp@webrtc.org
f7eb75be1a Split VideoCodingModuleImpl into VideoSender and VideoReceiver.
Only implmentation is changed the interface to the module is unchanged for now.

R=mikhal@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4746 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-14 00:25:28 +00:00
turaj@webrtc.org
48af652ea5 Prepare to compile ACM1 and ACM2.
ACM1 code is wrapped in namespace acm1. Inculde paths and define guards of ACM2 source codes are corrected. gypi file of ACM2 is changed so that ACM1 will later on depends on ACM2.

BUG=
R=andrew@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4743 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-13 23:06:59 +00:00
sergeyu@chromium.org
6ab45b9dab Implement DesktopRegion subtraction.
Region subtraction is used in chromoting client, so it's needed to
replace SkRegion.

R=wez@chromium.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4741 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-13 19:53:16 +00:00
andresp@webrtc.org
1f09dbe353 Moving test-only code (stream_generator) out of vcm implemention.
R=niklas.enbom@webrtc.org, stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4740 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-13 19:17:54 +00:00
andrew@webrtc.org
2553450959 Fix win trybot errors due to r4729.
The addition of logging.h in r4729 was causing the win trybot to fail
with "#pragma deprecated" errors in standard library headers. This
turned out to be due to including strsafe.h (via audio_device_config.h)
before sstream (via logging.h).

strsafe.h was only being included for the unused DEBUG_PRINT macro. I
removed all references to it.

This incidentally removes a bunch of other unneeded headers discovered
while trying to track the problem down.

This didn't show up in the commitbots; my guess is that the trybots are
using the VC10 toolchain and the commitbots the VC11 toolchain.

TBR=pbos

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4738 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-13 00:02:13 +00:00
sergeyu@chromium.org
6a5cc9d899 Fix crash in the window capturer on windows
BUG=crbug.com/289753
R=wez@chromium.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4737 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-12 19:17:26 +00:00
turaj@webrtc.org
7959e16cc2 ACM2 integration with NetEq 4.
nack{.cc, .h, _unittest.cc} are basically copies from main/source/ folder, with cpplint warning cleaned up.

BUG=
R=andrew@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4736 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-12 18:30:26 +00:00
mallinath@webrtc.org
82a846f0cb Adding Ami to the video renderer and capturer modules.
TBR=fischman@webrtc.org,wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4735 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-12 17:43:17 +00:00
fischman@webrtc.org
36cf4d2309 The video render module for iOS.
BUG=2105, 2028
R=fischman@webrtc.org, mallinath@webrtc.org

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

Patch from SeungJae Lee <sjlee@webrtc.org>.

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4734 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-12 17:39:53 +00:00
minyue@webrtc.org
e509f943ed This issue is related to
https://chromereviews.googleplex.com/9908014/

I was thinking about shipping ACM2 from the signal repository. There seems to be too many changes in one CL.

BUG=
R=andrew@webrtc.org, turaj@webrtc.org, xians@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4733 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-12 17:03:00 +00:00
andrew@webrtc.org
89df092807 Make the destructor of AudioCodingModule public.
This allows the type to be used with a scoped_ptr. Remove all calls to
the deprecated Destroy() from tests.

R=turaj@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4731 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-12 01:27:43 +00:00
andrew@webrtc.org
5eb997a2fd Fix unsigned/signed comparison error due to r4729.
Fix it for real by switching to ints rather than casting.

TBR=xians

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4730 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-12 01:01:42 +00:00
andrew@webrtc.org
8f94013651 Reduce frequency of high audio delay warning logs.
This will log the warning every 5 seconds instead of every 10 ms.

BUG=b/10674993
TESTED=Ran voe_cmd_test with hard-coded high delay. Observed a log
every 5 seconds.

R=noahric@chromium.org, xians@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4729 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-11 22:35:00 +00:00
henrike@webrtc.org
256b83146c Removes function that is not used anywhere but somehow still causing library load issues on Android Release build.
BUG=2364
R=andrew@webrtc.org, fischman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4728 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-11 20:43:13 +00:00
henrike@webrtc.org
6138c5cfa4 OpenSl: fixes crashes externally reported in issue 2361 and 2362.
BUG=2361,2362
R=fischman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4726 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-11 18:50:06 +00:00
turaj@webrtc.org
036b7436df Adding APIs. These APIs are not implemented yet, they are to help developement of ACM.
Un-implemented APIs.

TBR=henrik.lundin@webrtc.org
BUG=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4725 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-11 18:45:02 +00:00
mikhal@webrtc.org
d4d59ac871 Remove FrameForStorage:Follow up on r4688
R=stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4723 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-11 15:18:15 +00:00
stefan@webrtc.org
554d158ce6 Reset jitter buffer and timing if frames are getting too much delay.
BUG=chromium/263867
TEST=trybots
R=mikhal@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4721 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-11 08:45:26 +00:00
andrew@webrtc.org
835ef67d14 Remove repeated conditions key.
R=henrike@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4720 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-11 00:16:00 +00:00
henrike@webrtc.org
82f014aa0b OpenSL (not default): Enables low latency audio on Android.
BUG=1669
R=andrew@webrtc.org, fischman@webrtc.org, niklas.enbom@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4719 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-10 18:24:07 +00:00
pbos@webrtc.org
e07049f19f Lock RTPSender statistics.
Suppressing these errors in TSan has become tedious. It's better to just
lock them.

BUG=2349
R=stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4713 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-10 11:29:17 +00:00
andrew@webrtc.org
eda189be14 Remove redundant STR_CASE_CMP macro definitions.
R=minyue@webrtc.org, turaj@webrtc.org, xians@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4711 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-09 17:50:10 +00:00
pbos@webrtc.org
021c42bfa8 Lock use of _packetRequestCallback in VCM.
BUG=
R=stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4708 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-09 17:18:31 +00:00
pbos@webrtc.org
59f20bb735 Break out RTCPSender dependency on ModuleRtpRtcpImpl.
BUG=
R=stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4706 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-09 16:02:19 +00:00
solenberg@webrtc.org
86136a0e8f Re-enable tests for Remote Bitrate Estimator
BUG=
R=stefan@webrtc.org, tina.legrand@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4703 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-09 13:06:52 +00:00
pbos@webrtc.org
0181b5f8dd ExternalVideoDecoder for new VideoEngine API.
Implements the ExternalVideoDecoder interface for VideoReceiveStream.
Also adds a FakeDecoder used in tests, removing the overhead of running
the EngineTest tests with VP8 under Memcheck/TSan, allowing us to enable
them under Memcheck/TSan as well.

BUG=2346,2312
R=stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4702 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-09 08:26:30 +00:00
pbos@webrtc.org
30e055c4dd Handle empty RTP video packets agnostic to codec.
Sending empty RTP packets caused a crash when using a generic codec
instead of VP8. This fix moves handling of empty RTP packets out of
ReceiveVp8Codec and into ParseRtpPacket.

BUG=
R=stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4701 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-08 11:15:00 +00:00
stefan@webrtc.org
b2c8a952a7 Improving padding rules and breaking out bw allocation to ViEEncoder.
BUG=1837
TESTS=vie_auto_test --automated, trybots
R=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4693 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-06 13:58:01 +00:00
stefan@webrtc.org
7bb8f02274 Adds support for combining RTX and FEC/RED.
This is accomplished by breaking out RTX and FEC/RED functionality from the RTP module and keeping track of the base payload type, that is the payload type received when not receiving RTX.

Enables retransmissions over RTX by default in the loopback test.

BUG=1811
TESTS=voe/vie_auto_test --automated and trybots.
R=mflodman@webrtc.org, pbos@webrtc.org, xians@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4692 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-06 13:40:11 +00:00
andresp@webrtc.org
5500d93fe5 Add temporal layer factory.
R=marpan@google.com, stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4691 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-06 11:26:15 +00:00
mikhal@webrtc.org
f1e807c0e5 Removing FrameForStorage
R=pwestin@webrtc.org, stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4688 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-05 22:34:41 +00:00
alexeypa@chromium.org
bebf3995ce Pre-multiply images for MouseCursorShape.
BUG=chromium:267270
R=sergeyu@chromium.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4685 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-05 19:32:46 +00:00
fischman@webrtc.org
31b4a5ac82 Recognize armv7 target_arch for ios support in webrtc common.gyp
BUG=2343
R=andrew@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4684 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-05 16:46:36 +00:00
andrew@webrtc.org
9080518a39 Restore severity precondition to logging.h.
I mistakenly ommitted the checks when logging.h was ported from
libjingle to webrtc. This caused a significant CPU cost for logs which
were later filtered out anyway.

Verified with LS_VERBOSE logging in neteq4, running:
$ out/Release/modules_unittests \
--gtest_filter=NetEqDecodingTest.TestBitExactness \
--gtest_repeat=50 > time.txt
$ grep "case ran" time.txt | grep "[0-9]* ms" -o | sort

Results on a MacBook Retina, averaged over 5 runs:
Verbose logs disabled:                          666 ms
Exisiting implementation, verbose logs enabled: 944 ms (1.42x)
New implementation, verbose logs enabled:       673 ms (1.01x)

BUG=2314
R=henrik.lundin@webrtc.org, henrike@webrtc.org, kjellander@webrtc.org, turaj@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4682 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-05 16:40:43 +00:00
henrik.lundin@webrtc.org
164c4f71ba Add clockdrift to RtpGenerator
RtpGenerator is a help class for NetEq testing. This change
add the possibility to simulate clockdrift. If no clockdrift is
set, the default is 0 (i.e., no drift).

R=stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4680 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-05 12:16:38 +00:00
henrik.lundin@webrtc.org
36439bf906 NetEq4: Small change to reduce allocs in AudioMultiVector
This change reduced the allocation count by 20000 in the bit-exactness
test.

BUG=Issue 1363
TEST=out/Debug/modules_unittests --gtest_filter=NetEqDecodingTest.TestBitExactness
R=turaj@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4678 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-05 06:02:56 +00:00