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
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
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
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
- 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
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
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
- 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
- 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
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
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