Commit Graph

4031 Commits

Author SHA1 Message Date
07bf43c673 Replaced the _audio parameter with a strategy.
The purpose is to make _rtpReceiver mostly agnostic to if it processes audio or video, and make its delegates responsible for that. This patch makes the actual interfaces and interactions between the classes a lot clearer which will probably help straighten out the rather convoluted business logic in here. There are a number of rough edges I hope to address in coming patches.

In particular, I think there are a lot of audio-specific hacks, especially when it comes to telephone event handling. I think we will see a lot of benefit once that stuff moves out of rtp_receiver altogether. The new strategy I introduced doesn't quite pull its own weight yet, but I think I will be able to remove a lot of that interface later once the responsibilities of the classes becomes move cohesive (e.g. that audio specific stuff actually lives in the audio class, and so on). Also I think it should be possible to extract payload type management to a helper class later on.

BUG=
TEST=vie/voe_auto_test, trybots

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3306 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-12-18 15:40:53 +00:00
10abe25f6d Make audioproc output files be written to output dir by default.
This makes the following files be written into the output dir instead of
the current working dir:
* out.pcm
* vad_out.dat
* ns_prob.dat

TEST=out/Debug/audioproc -aecm -ns -agc --fixed_digital --perf -pb
resources/audioproc.aecdump
All trybots passing.
BUG=none

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3302 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-12-17 18:28:07 +00:00
3c37354b70 Initialize 3 variables which are preventing VS2012 from building.
BUG=1211
TESTED=ninja -C out\Release
Review URL: https://webrtc-codereview.appspot.com/992005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3301 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-12-15 01:09:18 +00:00
7659d914bb Decoupled video rtp receiver from rtp receiver.
BUG=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3292 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-12-14 09:57:37 +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
96dc6270d4 vpm unit test: Diasble frame dropping in tests
(follow up on r3284)

BUG=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3285 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-12-13 19:53:26 +00:00
4493db5a3e vpm: removing unnecessary memcpy
TEST=trybots

BUG=1128

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3284 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-12-13 18:25:36 +00:00
92bb417cb1 Decoupled RTP audio processor from RTP receiver.
BUG=
TEST=Ran vie_auto_test, rtp_rtcp_unittests, voe_auto_test

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3279 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-12-13 10:48:24 +00:00
86464eacb6 ISAC_main_inst initialized to NULL to avoid potentially garbage pointer passed to WebRtcIsacfix_EncoderInit
BUG=1211
TESTED=local build on Windows.  Failed previously with vs2012.  With this change kenny.cc builds.
Review URL: https://webrtc-codereview.appspot.com/984004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3277 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-12-13 07:47:54 +00:00
a8544eaf03 Vp8 tests: Removing legacy unused tests and reorganization of existing ones.
Review URL: https://webrtc-codereview.appspot.com/972013

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3276 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-12-13 00:37:22 +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
f222a00881 Use TRACE_EVENT to track time spent in VP8 encoding
Using the TRACE_EVENT macro to log VP8 encoding events.
Review URL: https://webrtc-codereview.appspot.com/968011

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3264 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-12-11 22:27:55 +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
72feb0b2e2 Not to enum NOTPRESENT audio devices with CoreAudio on Win
BUG = 
TEST = Manual test
Review URL: https://webrtc-codereview.appspot.com/939037

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3251 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-12-07 22:36:07 +00:00
451aa5dd9d Adding vp8 sequence coder: simple command line encode and decode.
Goal is to replace existing normal test and affiliates (will be done in follow up cl's)
BUG =1070

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3249 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-12-07 21:23:02 +00:00
3a5a8a8bcc Properly zero out unmixed frames.
BUG=6770157

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3248 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-12-07 19:37:16 +00:00
0e739508e0 Added buildbot benchmarking in iSAC and APM into Android platform build.
Review URL: https://webrtc-codereview.appspot.com/964022

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3247 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-12-07 15:26:28 +00:00
b968213f3c vp8 test: Updating creation of enc/dec
Review URL: https://webrtc-codereview.appspot.com/937036

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3246 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-12-06 19:14:26 +00:00
251f64e9e8 Updating vp8 test structure
Review URL: https://webrtc-codereview.appspot.com/935031

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3245 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-12-06 17:56:20 +00:00
60d25f90ff Updating Vp8 unit tests - Initiating the switch to gtest-based tests, and adding a stride test.
This is a follow up on r3227.

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3244 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-12-06 16:48:18 +00:00
75f8c78d08 Fixing path to ptypes.txt in NetEqRTPplay
The default path to the file ptypes.txt needed by NetEqRTPplay
had gone old. Updating to new repo layout.

Also purging old payload types from the file itself.

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3243 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-12-06 15:22:00 +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
f18de86db1 Revert 3227
> vp8 unittest: Adding qcif stride test
> 
> Review URL: https://webrtc-codereview.appspot.com/930030

TBR=mikhal@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/929037

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3228 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-12-03 20:08:57 +00:00
ab83bb39ad vp8 unittest: Adding qcif stride test
Review URL: https://webrtc-codereview.appspot.com/930030

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3227 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-12-03 19:12:29 +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
8d0cd07d0c Add test to verify that padding only frames are passing through the RTP module.
Review URL: https://webrtc-codereview.appspot.com/934023

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3224 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-12-03 14:01:46 +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
ad0f3baf90 Removing redundant codec unittest targets.
The following targets have been merged into audio_coding_unittests:
* cng_unittests
* g711_unittests
* g722_unittests
* isacfix_unittests
* pcm16b_unittests

Some of them were empty and were created with the assumption they were
needed in order to get code coverage (which was actually not needed).

The following test has been removed since it was empty:
* audio_conference_mixer_unittests

BUG=none
TEST=trybots passing (well, except for the unittests that are removed, they're failing until the try server configuration is updated)

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3222 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-12-03 10:52:29 +00:00
c94f8d4e8f Fix OOB read in padding tests.
BUG=1177

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3220 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-12-03 08:57:54 +00:00
fc4a7ee807 Fixes chromium build bots.
BUG=N/A

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3213 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-11-30 16:17:44 +00:00
bd941d3f4c Fixes two bugs related to padding in the jitter buffer.
- Pad packets (empty) were often NACKed even though they were received.
- Padding only frames (empty) were didn't properly update the decoding state,
  and would therefore be NACKed even though they were received.

This is a recommit of r3183. Extensive testing suggest that this may have been caused by virtual machine flakiness.

TBR=mflodman@webrtc.org

BUG=1150

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3200 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-11-29 14:37:18 +00:00
8552c71290 Fixing neteq_unittests for VS 2012
For Visual Studio versions older than 2012, we are using a
separate reference output file for windows. (All other platforms
share the same generic reference file.) In VS 2012, the output
matches the generic reference, and not the platform-specific one.

Since, the ResourcePath() method cannot change behavior depending
on compiler version, this fix will short-cut ResourcePath() for
VS 2012 or newer (_MSC_VER >= 1700).

Also made NetEqDecodingTest.TestBitExactnes stop on the first diff.
Once there is a difference, the output is no longer bit-exact, and
the test should be declared a failure.

BUG=
TEST=neteq_unittests on VS2012, try bots

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3199 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-11-29 12:03:18 +00:00
273ccad59d Fixed standard PSNR/SSIM test.
BUG=1103

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3197 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-11-29 10:08:16 +00:00
662651ac95 Disable denoise filter for Arm, as it is not optimized enough yet.
BUG=https://code.google.com/p/chrome-os-partner/issues/detail?id=16318
TEST=none
Review URL: https://webrtc-codereview.appspot.com/968008

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3195 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-11-29 09:01:21 +00:00
f826bb6fb2 Fixing a bug related to RCU in NetEQ
RCU was disabled due to that the RCU flag was overwritten with zero
in the packet buffer.

BUG=1156
TEST=trybots, neteq_unittests, audio_coding_module_test, audio_coding_unittests

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3193 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-11-29 07:32:38 +00:00
f3cefe1104 Added metrics test code for the FEC packet masks.
The test computes metrics (average residual loss) for each mask type and size, 
for a given set of loss models (random and bursty), and verifies various 
behaviour of the codes (including relation/comparison to RS code).

http://webrtc-codereview.appspot.com/748008
TBR=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/929034

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3189 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-11-28 23:27:34 +00:00
c09e779766 Allow for 1 layer case to be set in temporal_layers.
Review URL: https://webrtc-codereview.appspot.com/971007

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3188 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-11-28 22:06:21 +00:00
7d5dacc985 Revert 3183 - Fixes two bugs related to padding in the jitter buffer.
- Pad packets (empty) were often NACKed even though they were received.
- Padding only frames (empty) were didn't properly update the decoding state,
  and would therefore be NACKed even though they were received.

http://webrtc-cb-linux-master.cbf.corp.google.com:8010/builders/Win32Release/builds/1704/steps/video_coding_unittests/logs/stdio

TEST=trybots

BUG=1150

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

TBR=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/971010

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3187 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-11-28 22:04:45 +00:00
c244cefe1d Reverting r3185
TBR=marpan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/933029

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3186 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-11-28 21:00:36 +00:00
993494764d Added metrics test code for the FEC packet masks.
The test computes metrics (average residual loss) for each mask type and size, 
for a given set of loss models (random and bursty), and verifies various 
behaviour of the codes (including relation/comparison to RS code).
Review URL: https://webrtc-codereview.appspot.com/748008

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3185 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-11-28 19:43:58 +00:00
e4fb44c29d Fixes two bugs related to padding in the jitter buffer.
- Pad packets (empty) were often NACKed even though they were received.
- Padding only frames (empty) were didn't properly update the decoding state,
  and would therefore be NACKed even though they were received.

TEST=trybots

BUG=1150

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3183 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-11-28 19:36:20 +00:00
891d55eb35 Revert 3181 - Fixes two bugs related to padding in the jitter buffer.
- Pad packets (empty) were often NACKed even though they were received.
- Padding only frames (empty) didn't properly update the decoding state,
  and would therefore be NACKed even though they were received.

Broke [Builder Win32Debug] (http://webrtc-cb-linux-master.cbf.corp.google.com:8010/builders/Win32Debug/builds/1728)

TEST=trybots

BUG=1150

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

TBR=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/939031

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3182 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-11-28 17:45:01 +00:00
d42e51ce7c Fixes two bugs related to padding in the jitter buffer.
- Pad packets (empty) were often NACKed even though they were received.
- Padding only frames (empty) didn't properly update the decoding state,
  and would therefore be NACKed even though they were received.

TEST=trybots

BUG=1150

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3181 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-11-28 16:40:28 +00:00
c4590580e8 Opus mono/stereo on the same payloadtype, and fix of memory bug
During call setup Opus should always be signaled as a 48000 Hz stereo codec, not depending on what we plan to send, or how we plan to decode received packets.
The previous implementation had different payload types for mono and stereo, which breaks the proposed standard.

While working on this CL I ran in to the problem reported earlier, that we could get a crash related to deleting decoder memory. This should now be solved in Patch Set 3.

BUG=issue1013, issue1112

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3177 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-11-28 12:23:29 +00:00
81fb7bfd8b Adding video_coding_integrationtests test.
These changes makes it possible to run this tool with some gtest additions in an automated manner on the buildbots.

This test was previously known as video_coding_test, which is an
integration test that is mostly used as a development tool.

Parts of this test should be extracted and kept as a separate
development tool, but that's something for a future CL.

I also refactored the old command line parsing to use gflags instead.

Previous code from the following tests were merged into
video_coding_integrationtests and video_coding_unittests:
* video_codecs_test_framework_integrationtests
* video_codecs_test_framework_unittests
So these targets are now gone.

BUG=none
TEST=trybots passing + Executing video_coding_integrationtests on Linux, Mac and Windows since it's not currently added to the trybots. I ran with a couple of different combinations of settings.

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3176 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-11-28 08:40:16 +00:00
8049608226 VP8 wrapper: updating raw image allocation.
As we set the pointers to the data, there is no need to allocate that memory.

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3175 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-11-27 17:06:10 +00:00
b43502e388 Revert 3170 - Added performance benchmarking in APM and iSAC-fix for Buildbots.
Review URL: https://webrtc-codereview.appspot.com/929022

TBR=kma@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/969009

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3172 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-11-26 23:57:38 +00:00