Commit Graph

56 Commits

Author SHA1 Message Date
12dc1a38ca Switch C++-style C headers with their C equivalents.
The C++ headers define the C functions within the std:: namespace, but
we mainly don't use the std:: namespace for C functions. Therefore we
should include the C headers.

BUG=1833
R=tommi@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4486 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-05 16:22:53 +00:00
2d1a55caed Add some virtual and OVERRIDEs in webrtc/modules/audio_coding/
BUG=163
TBR=turaj@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4447 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-31 15:54:00 +00:00
1a7b9b94be Cleanup WebRTC tracing
The goal of this change is to:
1. Remove unused tracing events.
2. Organize tracing events to facilitate measurement of end to end latency.

The major change in this CL is to use ASYNC_STEP such that operation
flow can be traced for the same frame.

R=marpan@webrtc.org, pwestin@webrtc.org, turaj@webrtc.org, wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4308 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-08 21:31:18 +00:00
d900e8bea8 Proper spacing for end-of-namespace comments.
BUG=
R=mflodman@webrtc.org, tina.legrand@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4293 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-03 15:12:26 +00:00
f6f033f8bd Possible divide by 0 in ACM.
BUG=https://code.google.com/p/webrtc/issues/detail?id=1551
R=turaj@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4291 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-03 12:00:14 +00:00
b1698ab827 Error in update of read index in ACM
Fixing a bug where we increase read index with too few samples when the input is stereo.

BUG=https://code.google.com/p/webrtc/issues/detail?id=714
R=andrew@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4290 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-03 09:25:34 +00:00
63e988856e Merge more tests into modules_{unit,integration}tests.
A new test target named 'modules_integrationtests' is created
and the following test targets were merged into it:
* audio_coding_module_test
* test_fec
* video_coding_integrationtests
* vp8_integrationtests

A couple of other targets were merged into modules_unittests:
* audio_coding_unittests
* audioproc_unittest
* common_unittests
* video_coding_unittests
* video_processing_unittests
* vp8_unittests

I wasn't able to merge audio_decoder_unittests and neteq_unittests due to
conflicts with different defines in these tests.

Some tests that have special requirements aren't merged into
modules_integrationtests yet. I took the opportunity to rename them
since the bot configs will need to be update anyway:
* audio_device_test_api -> audio_device_integrationtests
* video_capture_module_test -> video_capture_integrationtests
* video_render_module_test -> video_render_integrationtests

Exclude files were added for modules_integrationtests to make sure
the memcheck and tsan bots doesn't tests that are too slow
(audio_coding_module_test and vp8_integrationtests were previously
disabled on those bots).

Suppressions for AudioCodingModuleTest needed to be added to get
modules_integrationtests to pass memcheck (even if the test is
excluded from execution).

BUG=1843
TEST=local execution on Linux and trybots (passing except the merged tests of course)
R=andrew@webrtc.org, tina.legrand@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4228 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-06-14 20:09:44 +00:00
b097670264 G722_1/G722_1C codecs won't instantiate
BUG=issue1890
R=turaj@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4215 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-06-12 07:41:42 +00:00
a305e9612a Nack for audio.
R=stefan@webrtc.org, tina.legrand@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4188 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-06-06 19:00:09 +00:00
9238de9d49 resolve b9050210. Avoid pushing sync packet before any packet received. Do not turn on AV-sync if initial delay is zero.
Also solve DTMF playout with Opus. 

issue=b9050210
Test=Manual by QA Team.

R=tina.legrand@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4176 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-06-04 19:18:39 +00:00
c1eb560a5c Replace the old resampler with SincResampler in the voice engine signal path.
* The old resampler was found to have a wraparound bug.
* Remove support for the old resampler from PushResampler.
* Use PushResampler in AudioCodingModule.
* The old resampler must still be removed from the file utility.

BUG=webrtc:1867,webrtc:827
TESTED=unit tests, Chrome using apprtc and voe_cmd_test to verify wrap-around is corrected, voe_cmd_test running through all supported codec sample rates and channels to verify good quality audio
R=henrika@webrtc.org, turaj@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4156 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-06-03 19:00:29 +00:00
e46c8d3875 API to control target delay in NetEq jitter buffer. NetEq maintains the given delay unless channel conditions require a higher delay.
TEST=unit-test, manual, trybots.
R=henrik.lundin@webrtc.org, henrika@webrtc.org, mflodman@webrtc.org, mikhal@webrtc.org, stefan@webrtc.org, tina.legrand@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4087 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-22 20:39:43 +00:00
4ce838934c Address sanitizer out of bounds read in iSAC
BUG=issue1770
TBR=tlegrand@google.com

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4030 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-14 17:42:22 +00:00
03efc89151 Fix when SetMinimumPlayoutDelay is configured to 0
BUG=1720
R=turaj@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3942 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-02 21:19:12 +00:00
342353780d Consolidate common_audio into a single target.
In principle should reduce gyp processing time, but the difference was not measurable. In any case, it's a good simplification that aligns with having a single common_video target.

R=bjornv@webrtc.org, kma@webrtc.org, tina.legrand@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3928 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-30 23:43:26 +00:00
a942692725 Buf fix for r3883.
Review URL: https://webrtc-codereview.appspot.com/1319012

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3889 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-23 16:08:29 +00:00
28d54ab18f Improve AV-sync when initial delay is set and NetEq has long buffer.
Review URL: https://webrtc-codereview.appspot.com/1324006

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3883 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-22 18:53:35 +00:00
db11fab49e Adding Opus unit test
This CL adds a unit test for Opus, as well as new APIs for true stereo decoding (skipping master/slave approach).

BUG=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3860 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-17 10:39:41 +00:00
f1a3b4bc0c Issue 1647. Avoid unsequenced modification.
issue=1647
test=trybots,manual

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3858 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-16 17:01:35 +00:00
6e788df19e Remove vim/emacs modelines from .gypi files
BUG=1655

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3857 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-16 12:40:34 +00:00
92d1f07551 Elevate NetEq short-term activity statistics to ACM level for logging.
Review URL: https://webrtc-codereview.appspot.com/1313004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3850 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-15 16:52:04 +00:00
4b8de90dce Disable -Wunsequenced warning in audio_coding_module
BUG=1647
TEST=Compile locally on Linux with clang enabled.
TBR=andrew@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3848 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-15 06:38:56 +00:00
ab9202b673 Removing remaining WebRtc_Word32 not in typedefs.h
BUG=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3813 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-10 17:59:17 +00:00
806dc3b0e6 More trace events
The goal of this change is to unify tracing events styles
and add trace events for all RTP traffic.

BUG=1555
Review URL: https://webrtc-codereview.appspot.com/1290007

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3806 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-09 19:54:10 +00:00
0946a56023 WebRtc_Word32 => int32_t etc. in audio_coding/
BUG=314

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3789 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-09 00:28:06 +00:00
2e6b7e938f In streaming mode it is preferable to fade to silence when sender stops sending, or long period of packet loss.
test=try bots.
Review URL: https://webrtc-codereview.appspot.com/1272004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3771 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-06 00:08:11 +00:00
79b0289bfc Adds event traces and counters for WebRTC receive side.
Review URL: https://webrtc-codereview.appspot.com/1279005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3766 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-04 19:43:34 +00:00
bb8ada686e TSan v2 reports data races in WebRTCAudioDeviceTest.FullDuplexAudioWithAGC
BUG=226044
TEST=content_unittests in Chrome with TSan v2 enabled

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3760 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-04 08:39:09 +00:00
f81fad6267 Fix opus bitrate truncated to 16-bit int. This prevented setting bitrates higher
than 2^16kbps.
Review URL: https://webrtc-codereview.appspot.com/1275004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3748 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-01 22:25:11 +00:00
73222cff1a Adding Opus frame length test
BUG=issue1015

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3672 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-03-15 13:29:17 +00:00
7a7a008031 Changing non-const reference arguments to pointers, ACM
Part of refactoring of ACM, and recent lint-warnings.
This CL changes non-const references in the ACM API to pointers.

BUG=issue1372

Committed: https://code.google.com/p/webrtc/source/detail?r=3543

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3555 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-02-21 10:27:48 +00:00
eb7ebf20ed Revert 3543
> Changing non-const reference arguments to pointers, ACM
> 
> Part of refactoring of ACM, and recent lint-warnings.
> This CL changes non-const references in the ACM API to pointers.
> 
> BUG=issue1372
> 
> Review URL: https://webrtc-codereview.appspot.com/1103012

TBR=tina.legrand@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1116004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3544 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-02-20 15:57:31 +00:00
374aa49e1a Changing non-const reference arguments to pointers, ACM
Part of refactoring of ACM, and recent lint-warnings.
This CL changes non-const references in the ACM API to pointers.

BUG=issue1372

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3543 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-02-20 15:22:23 +00:00
a092cbf9b7 Fixing lint warnings from previous commit
In this CL I have removed (almost) all lint warnings I got for this commit:
https://code.google.com/p/webrtc/source/detail?r=3454.

The only warning not fixed is a warning about usage of  non-const reference. This will be fixed in a separate CL.

BUG=issue1372

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3510 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-02-14 09:28:10 +00:00
6388c3e2fd Implement initial delay. This CL allows clients of VoE to set an initial delay. Playout of audio is delayed and the extra playout delay is maintained during the call. While packets are buffered (in NetEq) to acheive the desired delay. ACM will playout silence (zeros). Initial delay has to be set before any packet is pushed into ACM.
TEST=ACM unit test is added, also a manual integration test is writen. 
Review URL: https://webrtc-codereview.appspot.com/1097009

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3506 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-02-12 21:42:18 +00:00
fa53d8717c Fixing/disabling Windows x64 warnings
Disabled MSVC #4267 warnings in common.gypi to enable x64 builds
for Windows.
Fixed MSVC #4267 warnings in test/testsupport.
Added third_party/directxsdk to .gitignore.

With http://review.webrtc.org/1070008 landed, this should make it possible
to build for x64 on Windows.

BUG=1348
TEST=Compiling with http://review.webrtc.org/1070008 applied:
set GYP_DEFINES="target_arch=x64"
set GYP_GENERATORS=ninja
gclient sync
ninja -C out\Debug_x64

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3464 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-02-04 10:07:17 +00:00
46d90dcd74 Adding three frame sizes to Opus
Adding support for 10, 40 and 60 ms packet sizes for Opus.

BUG=issue1015

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3454 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-02-01 14:20:06 +00:00
63464a9354 Enabling unit tests for NetEq4 in the bots
The unit tests for NetEq4 are made a part of audio_coding_unittests.

The bit-exactness tests are disabled due to problems in iLBC. See
https://code.google.com/p/webrtc/issues/detail?id=281.

A few smaller fixes for valgrind errors and bot failures are included.
Some of the fixes are adpted from
http://webrtc-codereview.appspot.com/1072008/.

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3432 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-01-30 09:41:56 +00:00
cd2f1356ee Revert 3405
TBR=turaj@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1074004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3407 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-01-24 22:05:30 +00:00
05e7bfeeea Mainly hlundin's patch.
Review URL: https://webrtc-codereview.appspot.com/1052004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3405 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-01-24 18:53:43 +00:00
a3c82bf667 Remove '<(library)' in gyp files.
This will remove all usage of '<(library)' in all webrtc gyp files. 
Review URL: https://webrtc-codereview.appspot.com/1049005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3392 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-01-18 23:42:21 +00:00
b8ba4d8109 Add number of inserted samples to NetEq statistics.
BUG=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3289 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-12-14 00:06:18 +00:00
c454fab03b Reformatting ACM. All changes are bit-exact in this CL.
TEST=VoE auto-test, audio_coding_module_test; 

only 15 ms of teststereo_out_1.pcm is not bit-exact with output file of the head revision
Review URL: https://webrtc-codereview.appspot.com/937035

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3287 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-12-13 22:46:43 +00:00
fa5b6bf4f4 Optimized WebRtcIsacfix_Spec2Time() for iSAC-Fix in ARM Neon processor. Speed doubled.
Review URL: https://webrtc-codereview.appspot.com/930033

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3274 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-12-12 23:00:52 +00:00
b718619f0a Expose NetEq playout mode off through VoiceEngine.
BUG=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3272 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-12-12 21:59:14 +00:00
36965b1803 Bug fix for iSAC fixed-point. The bug was the result of changes in iSAC floating-point to add 48 kHz extension.
TBR=tlegrand@google.com

TEST=voe_cmd_test, ACM unittest.
Review URL: https://webrtc-codereview.appspot.com/974011

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3256 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-12-10 23:52:43 +00:00
226db898f7 Dual-stream implementation, not including VoE APIs.
Review URL: https://webrtc-codereview.appspot.com/933015

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3230 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-12-03 22:13:31 +00:00
277ec8e3f5 Fix a bug when iSAC-48kHz was added.
I discovered this by running extended VoE test on "Codecs."

TBR=tina.legrand@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/973010

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3229 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-12-03 21:16:23 +00:00
b0dff12d2b 48 kHz extension to iSAC.
Test:
-manual test with voe_cmd_test.
-manual test with RTPEncode & NetEqRTPPlay.
-manual test with simpleKenny.
-Bit-exact test of iSAC-swb and iSAC-wb with head revision of trunk. The bit-exactness is confirmed on all files generated by running webrtc/modules/audio_coding/codecs/isac/main/test/QA/runiSACLongtest.txt
Review URL: https://webrtc-codereview.appspot.com/937025

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3226 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-12-03 17:43:52 +00:00
5b4fe494e7 Changing default bitrate to 64000 bps for Opus.
Default settings for Opus in WebRtc is stereo, but we had default rate to 32 kbps. This is too low for stereo, where we need to encode using 64 kbps to get the quality we like.

BUG=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3223 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-12-03 12:08:53 +00:00