Commit Graph

962 Commits

Author SHA1 Message Date
tommi@webrtc.org
a990e122c4 * Change the reference counting implementation for VoE to be per object and
not per interface. This simplifies things a bit, reduces code and makes it
  possible to implement reference counting (if we ever want) without the
  static Delete() method.  (Reference counted objects are traditionally
  implicitly deleted via the last Release())

* Since the reference counting code is now simpler, there's no need for the
  RefCount class so I'm removing it.

* Also removing the optional |ignoreRefCounters| variable from the VoiceEngine::Delete
  method.  The justification is that it's no longer used and the reason it was there
  in the first place was to avoid bugs in third party code, so it's an indication that
  something is wrong elsewhere.

* Fix a crash in voe_network_impl and voe_extended_test that would happen on machines with IPv6 support.

* Fix an assert (handle the case) in the extended audio tests when SetCNAME is called with a NULL pointer.

* As a side effect of this change, hopefully the footprint of VoE will be slightly smaller :)

BUG=10445 (Coverity)
Review URL: https://webrtc-codereview.appspot.com/521003

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2127 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-04-26 15:28:22 +00:00
tina.legrand@webrtc.org
bc1b43b297 Refactoring of audio_coding_module_impl
First patch set: pure formatting.

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2125 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-04-26 08:53:45 +00:00
tina.legrand@webrtc.org
a6ecd1ebb5 Refactoring one of the ACM tests: TestStereo, to follow the style guide.
(First patch: formatting the test file)

TEST=audio_coding_module_test

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2124 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-04-26 07:54:30 +00:00
mflodman@webrtc.org
1868780c81 Disabled UnremovedSocketsGetCollectedAtManagerDeletion in UdpSocketManager unittest.
TBR= hta@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2122 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-04-26 06:40:00 +00:00
hta@webrtc.org
ad929899c7 Tests for udp_socket_manager.
These tests basically check that socket allocation does not leak memory.

BUG=
TEST=unittested, ran under valgrind.

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2118 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-04-25 14:06:50 +00:00
asapersson@webrtc.org
d18dd6dc7e Made OnPacketLossStatisticsUpdate function virtual (needed for ViCE).
Review URL: https://webrtc-codereview.appspot.com/520002

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2115 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-04-25 07:19:02 +00:00
andrew@webrtc.org
369166a179 Add API for disabling the high pass filter.
BUG=issue419
TEST=manually with voe_cmd_test

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2105 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-04-24 18:38:03 +00:00
elham@webrtc.org
5f49dba1a1 Hi Magnus, I added some of the changes that you suggested before. Let me know what you think.
Review URL: https://webrtc-codereview.appspot.com/507004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2101 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-04-23 21:24:02 +00:00
andrew@webrtc.org
4e423b3b1e Handle master/slave timestamp wrap.
BUG=issue410
TEST=neteq_unittests, audio_coding_module_test

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2098 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-04-23 18:59:00 +00:00
vikasmarwaha@webrtc.org
99ac3f7be5 Fixed trunacated trace problem in WebRTC. http://b.corp.google.com/issue?id=5607856
Review URL: https://webrtc-codereview.appspot.com/508004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2096 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-04-23 17:04:35 +00:00
pwestin@webrtc.org
ddab60be56 Wire up pading.
Review URL: https://webrtc-codereview.appspot.com/509002

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2094 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-04-23 14:52:15 +00:00
hta@webrtc.org
bf9f469a13 Lifetime management for UdpSocketManager
Make tests use Create/Destroy *or* new/delete for UdpSocketManager.
Move responsibility for calling Destroy on UdpSocketManager from transport
destructor to transport Destroy function.

This all ends up in not leaking memory in InitializeSourcePorts test.

BUG=
TEST=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2091 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-04-23 13:19:30 +00:00
asapersson@webrtc.org
92591adc67 Fixes link issues in google3 (change by tomasl).
Review URL: https://webrtc-codereview.appspot.com/509001

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2090 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-04-23 13:10:55 +00:00
asapersson@webrtc.org
83ed0a4359 Try to resend next packet in nack list even if previous packet is not found.
Review URL: https://webrtc-codereview.appspot.com/515001

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2089 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-04-23 12:43:05 +00:00
pwestin@webrtc.org
fcbbe1f341 Removed unused callback code from video coding test.
Review URL: https://webrtc-codereview.appspot.com/504003

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2086 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-04-23 08:33:18 +00:00
pwestin@webrtc.org
a2cd732139 Fix for calling OnNetworkChanged too often.
Review URL: https://webrtc-codereview.appspot.com/508006

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2085 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-04-23 08:32:47 +00:00
marpan@webrtc.org
88ad06b999 VCM: Added condition(s) for setting FEC protection factor to zero at low bitrates.
Review URL: https://webrtc-codereview.appspot.com/494001

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2084 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-04-20 16:05:24 +00:00
asapersson@webrtc.org
63a34f4f29 Fix in SendPadData. Do not increase sequence number if packet is "empty" and not sent.
Review URL: https://webrtc-codereview.appspot.com/508001

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2083 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-04-20 13:20:27 +00:00
phoglund@webrtc.org
bb77000123 Added a virtual destructor to get the test to compile on all platforms.
BUG=
TEST=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2082 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-04-20 13:03:12 +00:00
hta@webrtc.org
bbd6b561cf Memory leak fix: Deleting a factory
Also expanded some documentation.
Bug found by Valgrind bot.

BUG=
TEST=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2080 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-04-20 09:51:26 +00:00
bjornv@webrtc.org
bcde776340 Changed Delay Estimator create call
Unit tests updated and runs.
Change made w.r.t. issue 441.

BUG=Issue441
TEST=None

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2079 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-04-20 09:35:20 +00:00
hta@webrtc.org
0abe535e16 Refactored udp_transport to take socket manager as dependency injection
This avoids having to deal with the socket manager in the unittest.

Extended tests to cover one case where sockets got allocated.

BUG=
TEST=unittest

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2078 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-04-20 08:23:16 +00:00
andrew@webrtc.org
b61f1fa675 Reset slave when switching to a stereo codec.
BUG=
TEST=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2073 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-04-20 01:10:14 +00:00
tommi@webrtc.org
e84373c38f Atomic32Wrapper -> Atomic32
This change does the following:

* Remove the Atomic32Wrapper and AtomicImpl classes and provide the Atomic32
  implementation directly via platform specific source files.
* Move/rename/delete all source files accordingly
* The atomic value itself is now volatile. Previously it was only the pointer to
  the memory that was volatile, but not the actual value.
* No additional heap allocations are now done for the atomic value.

In a follow up cl I plan to start using Atomic32 in the RefCount class in order
to fix issues reported by Coverity.
Review URL: https://webrtc-codereview.appspot.com/490004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2065 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-04-19 14:28:45 +00:00
pwestin@webrtc.org
1cd1162c7a Break out of send side bandwidth estimation and controll.
Review URL: https://webrtc-codereview.appspot.com/490010

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2064 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-04-19 12:13:52 +00:00
asapersson@webrtc.org
a768970bac Parse out ssrcs in REMB message (needed for ViCE) .
Review URL: https://webrtc-codereview.appspot.com/486003

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2061 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-04-19 07:01:29 +00:00
tina.legrand@webrtc.org
faa0ab85d7 NetEQ stereo sync
This CL allows NetEQ to do expand at startup, to make master and slave always go in sync. Before it could happen that master did merge, while slave performed an expand, leading to sync-problems between the channels.

Updating DEPS for new reference files for unittest.

BUG=410
TEST=neteq_unittests

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2055 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-04-18 17:59:53 +00:00
leozwang@webrtc.org
16f6bb35b6 Fix a minor compilation error on android
BUG=
TEST=
Review URL: https://webrtc-codereview.appspot.com/479014

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2053 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-04-18 16:49:06 +00:00
bjornv@webrtc.org
4ade5506eb Delay Estimator Unit tests
This CL includes unit tests to verify correct behavior of the delay estimator used in AEC and AECM.

Tested with audioproc_unittest

BUG=
TEST=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2049 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-04-18 09:42:16 +00:00
bjornv@webrtc.org
2e729762c7 New _CreateBinaryDelayEstimator() and removed _history_size()
Changed create function to match malloc() in functionality.
Removed unused function.

Tested with audioproc_unittest

BUG=
TEST=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2048 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-04-18 08:30:29 +00:00
bjornv@webrtc.org
180f83f8e2 File name change to follow style
A unit test should end with *_unittest.* Otherwise the test itself will be evaluated for line coverage.

Tested with audioproc_unittest

BUG=
TEST=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2045 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-04-18 07:01:10 +00:00
andrew@webrtc.org
1bc98bc873 Remove erroneous error trace.
It appears this trace is informational, not an error.
Discovered in a plugin log from a ChromeOS device. Just
decided to remove it.

BUG=http://code.google.com/p/chromium-os/issues/detail?id=29356
TEST=build on Linux

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2043 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-04-17 20:10:47 +00:00
tommi@webrtc.org
7ab51497a7 Remove usage of Atomic32Wrapper from a few places.
In these places, it doesn't make much sense to use an atomic variable we were using
Atomic32Wrapper::operator= anyway (which does not use atomic operations).
Review URL: https://webrtc-codereview.appspot.com/492005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2042 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-04-17 13:33:28 +00:00
hta@webrtc.org
52c0fec34c Added UDP socket factory function to UdpTransportImpl constructor
This is a refactoring in preparation for creating small unit tests for the
udp_transport module.

BUG=
TEST=unittest

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2041 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-04-17 12:39:04 +00:00
marpan@webrtc.org
3e2e7038e6 VPM: Allow for option to compute the content metrics every nth frame.
Review URL: https://webrtc-codereview.appspot.com/492006

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2034 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-04-16 15:58:14 +00:00
mflodman@webrtc.org
b1fbf016b5 Added timestamp logs, i.e. only tracing.
BUG=
TEST=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2030 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-04-16 12:58:49 +00:00
mflodman@webrtc.org
3c611fd4fd Removed NetEQ Test compile error.
BUG=443
TEST=Compiles using clang version 3.1 (trunk 153589)

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2029 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-04-16 10:57:27 +00:00
xians@webrtc.org
aef0a61117 webrtc: OTHER_CPLUSPLUSFLAGS should be a list, not a string.
Review URL: https://webrtc-codereview.appspot.com/492007

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2028 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-04-16 09:57:16 +00:00
bjornv@webrtc.org
bfda85f2ee Safe handling of invalid inputs in delay_estimator.
The delay_estimator crash on invalid create inputs when running new unit tests. This can't occur on a higher level unless corresponding enum and defines are incorrectly changed.

The create and free functions are now more like malloc() and free() in design. The complete change to that will be done in a seperate CL.

BUG=
TEST=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2027 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-04-16 07:28:29 +00:00
mflodman@webrtc.org
a014ecc049 Changed CriticalSectionScoped constructor usage for ADM.
Only search and replace for the input to the constructor, no other changes.

BUG=184
TEST=Compiles on all platforms.

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2015 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-04-12 12:15:51 +00:00
bjornv@webrtc.org
7056908774 System delay unit tests
Added a system delay test class. Noticed I don't need the ApmTest class at all, which simplified the implementation.

Start at patch set 3. The others are not complete.

BUG=None
TEST=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2014 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-04-12 12:13:50 +00:00
tina.legrand@webrtc.org
16b6b90a82 Split of stereo packets moved
In this CL I have rewritten the way we handle stereo packets in VoE.
Before this change we split the packets in the RTP module and added two packets to ACM, one for the left channel and one for the right. This lead to timing problems caused when a different thread called RecOut in between the two calls to add stereo packet to ACM. (RecOut is called to pull audio data, decode packets, on the receiving side).

While doing the change I also took the opportunity to changed some functions so that the data stream is uint8 everywhere.

The list of files in this CL is long, but should be fairly easy to review. It is difficult to see what has been changed  in some of the tests, but I can explain offline.

Reviewers:
Björn - /src/modules/audio_coding
Patrik - /src/modules/rtp_rtcp
Patrik -/src/modules/utility
Henrik A - /src/voice_engine

BUG=410
TEST=voe_cmd_test

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2012 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-04-12 11:02:38 +00:00
pwestin@webrtc.org
ce33035dee Cleanup encode call.
Review URL: https://webrtc-codereview.appspot.com/491003

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2011 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-04-12 06:59:14 +00:00
stefan@webrtc.org
c35f5ced92 Enable multi-frame FEC by default for temporal layers <= 2. For two temporal layers we currently only protect the base layer.
This also introduces zero column insertion into packet masks when some sequence numbers deliberately haven't been given to the FEC generator.

BUG=
TEST=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2005 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-04-11 07:42:25 +00:00
cd@webrtc.org
85b4a1b715 Special version of 'bitrv2' when len is 128:
* 5.5% AEC overall speedup for the straight C path.
* 8.6% AEC overall speedup for the SSE2 path.
Review URL: https://webrtc-codereview.appspot.com/480001

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2004 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-04-10 21:25:17 +00:00
leozwang@webrtc.org
91ed80e5c3 Correct wrong trace level
Review URL: https://webrtc-codereview.appspot.com/487002

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2002 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-04-10 14:42:20 +00:00
tommi@webrtc.org
98ad0ff1b0 Move the COMPILE_ASSERT macro to its own header file.
TEST=n/a
BUG=none
Review URL: https://webrtc-codereview.appspot.com/492002

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2001 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-04-10 11:53:07 +00:00
andrew@webrtc.org
e713fd0eee Enable the "unused variable" warning on Windows.
- Break out direct_show_base_classes to its own gyp file to have it
  treated as third party code.
- Fix the resulting warnings (courtesy of Tommi).

BUG=
TEST=build on Windows (vie_auto_test currently failing at HEAD)

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2000 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-04-10 07:13:46 +00:00
pwestin@webrtc.org
cac787842c New attempt to cleanup TMMBR.
Review URL: https://webrtc-codereview.appspot.com/472007

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1990 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-04-05 08:30:10 +00:00
cd@webrtc.org
70ed0a6f91 No casting and call lower precision trigonometric functions:
* 2.2% AEC overall speedup for the straight C path.
* 2.4% AEC overall speedup for the SSE2 path.
Review URL: https://webrtc-codereview.appspot.com/477002

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1989 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-04-05 00:38:55 +00:00