Commit Graph

25 Commits

Author SHA1 Message Date
4591fbd09f Use size_t more consistently for packet/payload lengths.
See design doc at https://docs.google.com/a/chromium.org/document/d/1I6nmE9D_BmCY-IoV6MDPY2V6WYpEI-dg2apWXTfZyUI/edit?usp=sharing for more information.

This CL was reviewed and approved in pieces in the following CLs:
https://webrtc-codereview.appspot.com/24209004/
https://webrtc-codereview.appspot.com/24229004/
https://webrtc-codereview.appspot.com/24259004/
https://webrtc-codereview.appspot.com/25109004/
https://webrtc-codereview.appspot.com/26099004/
https://webrtc-codereview.appspot.com/27069004/
https://webrtc-codereview.appspot.com/27969004/
https://webrtc-codereview.appspot.com/27989004/
https://webrtc-codereview.appspot.com/29009004/
https://webrtc-codereview.appspot.com/30929004/
https://webrtc-codereview.appspot.com/30939004/
https://webrtc-codereview.appspot.com/31999004/
Committing as TBR to the original reviewers.

BUG=chromium:81439
TEST=none
TBR=pthatcher,henrik.lundin,tina.legrand,stefan,tkchin,glaznev,kjellander,perkj,mflodman,henrika,asapersson,niklas.enbom

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7726 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-20 22:28:14 +00:00
966a708b93 Use RtpFileSource in NetEqDecodingTest
This CL removes the dependency on the old NETEQTEST_RTPpacket class
from the NetEqDecodingTest code, and also removes the dependency
from the modules_unittests target to neteq_test_tools.

BUG=2692
R=tina.legrand@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7709 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-17 09:08:38 +00:00
b0f4b3da05 Improving error message from neteq_rtpplay
If a packet with unknown RTP payload type is inserted, this CL
will make sure that the error message is a little more detailed
and gives a better understadning of what to do.

BUG=2692
R=tina.legrand@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7603 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-04 08:53:10 +00:00
f9471807a2 Add Opus support to neteq_rtpplay
BUG=2416
R=tina.legrand@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7595 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-03 15:19:58 +00:00
a37f1dd6b8 Cleaning up audio_decoder_test.cc and adding ResampleInputAudioFile
This CL contains some cleaning up and refactoring of
audio_decoder_test.cc. A new class ResampleInputAudioFile is created
and used in the tests.

BUG=3926
R=kwiberg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7528 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-27 12:58:18 +00:00
81a78930ee New ACM test to trigger audio glitch when switching output sample rate
This CL implements a new unit test. The test is designed to trigger
a problem in ACM where switching the desired output frequency creates
a short discontinuity in the output audio. The problem itself is not
solved in this CL, but the failing test is disabled for now.

BUG=3919
R=kwiberg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7443 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-14 10:49:58 +00:00
9103953b58 Fix neteq_rtpplay so that empty SSRC is valid
In r7380, the command line flag --ssrc was added to neteq_rtpplay.
However, it was not possible to omit that flag, since the validation
did not accept an empty string. This CL fixes that.

TBR=kwiberg@webrtc.org
BUG=2692

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7382 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-07 07:18:36 +00:00
8b65d511a0 Add an SSRC filter to neteq_rtpplay
This allows the user to set the desired SSRC if the input file
contains multiple streams.

BUG=2692
R=kwiberg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7380 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-07 05:30:04 +00:00
4b133da5fd Let RtpFileSource use RtpFileReader
RtpFileSource used to implement it's own RTP dump file reader, but
with this change it simply uses RtpFileReader. One benefit is that
pcap files are now also supported.

All NetEq test tools that use RtpFileSource are updated.

BUG=2692
R=kwiberg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7367 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-02 08:19:38 +00:00
5ca6008236 Creating a test helper class TimestampJumpRtpGenerator
This class provides a way to test with an RTP sequence that make an
arbitrary jump in the timestamp series.

R=tina.legrand@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7236 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-19 07:14:31 +00:00
3c0aae17f0 Change gflags and gmock includes to be full paths.
This will fix PRESUBMIT warnings developers will get due to
r7014 and r7020.

Also some minor style cleanup in:
webrtc/modules/audio_coding/main/test/RTPFile.cc
webrtc/modules/audio_coding/neteq/test/RTPjitter.cc

BUG=
R=henrik.lundin@webrtc.org, niklas.enbom@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7058 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-04 09:55:40 +00:00
f554d75288 Allow same src and dst in InputAudioFile::DuplicateInterleaved
This change allows the input and output to the static method
InputAudioFile::DuplicateInterleaved to be the same array. That is,
in-place manipulation is now possible. A unit test is also added.

R=tina.legrand@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7008 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-08-29 07:26:40 +00:00
1c8391205e Use test::Packet test::PacketSource classes in neteq_rtpplay
This change replaces the old NETEQTEST_RTPpacket and
NETEQTEST_DummyRTPpacket with the new test::Packet class. Note that the
Packet class automatically handles "dummy" packets (i.e., packets for
which only the header and a length field was stored to file)
automatically. There is no need to explicitly signal this to the
application any longer. The RTP input file is now handled as a
test::PacketSource object.

Also adding a new ConvertHeader method to the Packet class. This is
needed to extract the header information as an alternative data type.

Finally, some dead code was deleted from rtp_analyze.cc (unrelated to
the reset of this change).

BUG=2692
R=minyue@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6862 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-08-11 12:29:38 +00:00
194fea7640 The lastest commit on this file was in
https://webrtc-codereview.appspot.com/15529004/

The final patch set should have included this, but was missed.

R=turaj@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6755 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-22 09:55:51 +00:00
c8e98187d1 Receiver bit-exactness test for AudioCoding Module
This CL introduces a bit-exactness test for the receive-side of the
AudioCoding Module. The main part of the test is done in the helper
class AcmReceiveTest. The test is executed from the test fixture
AcmReceiverBitExactness.

The test inserts packets from a pre-encoded RTP file. The output is
summed up into a checksum, which is verified versus a reference at the
end of the test. Alternatively, if the flag --generate_output is given,
the output is written to a file for subjective verification.

R=kwiberg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6549 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-26 19:07:04 +00:00
6568e97d10 This is to compare NetEq with various codecs under a shared packet loss pattern.
TEST=passed_all_trybots
R=henrik.lundin@webrtc.org, tina.legrand@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6536 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-25 12:17:41 +00:00
27ab19d9b4 Roll chromium_revision 272489:277350 + fix sanitizer options
Rolling to this new Chromium revision required us to introduce
a sanitizer_options similar to the one in Chromium's base
(see https://code.google.com/p/chromium/codesearch#chromium/src/base/base.gyp&l=977
and https://codereview.chromium.org/238123003) in order
to get the same defaults for ASan and LSan. Without it
compilation will break since LeakSanitizer (LSan) is enabled by
default in Clang r209387 that is pulled with this roll.

I setup so that we pull in the sanitizer_options.cc and
tsan_suppressions.cc files using DEPS, so we don't have to maintain
them separately for now. We can still use our own TSan suppressions.txt
file as we do today with no changes needed.

This roll also brings in http://crrev.com/276676 so we can enable
GN build for WebRTC.

Overview of changes in Chrome DEPS:
$ svn diff http://src.chromium.org/chrome/trunk/src/DEPS -r 272489:277350

which can be compared with the output of:
$ svn cat http://webrtc.googlecode.com/svn/trunk/DEPS | grep chromium_deps | sed 's/^ *//' | sort | uniq

in a WebRTC checkout, gives the following relevant changes:
* third_party/android_tools 6fc0e1:c6e658
* third_party/libjpeg_turbo 263594:272637
* third_party/libyuv 1000:1007
* third_party/nss 271760:277057
* tools/gyp 1921:1927
* tools/swarming_client ae8085:aea506

The following also shows that Clang is upgraded from r206824 to r209387:
$ svn diff http://src.chromium.org/chrome/trunk/src/tools/clang/scripts/update.sh -r 272489:277350

BUG=3441
TEST=Trybots are not passing since after the recipe switch, SVN-based try jobs doesn't seem to support auto-detecting that a sync is needed if there's a DEPS change.
R=andrew@webrtc.org, pbos@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6516 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-21 19:30:29 +00:00
9158df2aa4 Adding an empty constructor implementation to the AudioSink class
Turns out it was needed.

TBR=kwiberg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6493 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-19 12:34:31 +00:00
496a98463b Adding test::AudioSink interface and derived classes
The AudioSink interface is supposed to be used by tests that produce
audio output. Two implementation classes are also provided:

OutputAudioFile: Writes the audio to a pcm file.
AudioChecksum: Calculates the MD5 checksum of the audio.

These will both be used in future changes.

R=kwiberg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6490 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-19 10:02:11 +00:00
12396aba42 Update PacketSource and RtpFileSource
The NextPacket method should now return NULL when the end of the
source was reached. In the RtpFileSource, this means that when
the end of file is reached, NULL is returned. Also, when an RTCP
packet is encountered, the next packet will be read from file
immediately.

R=kwiberg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6479 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-18 12:20:31 +00:00
9c55f0f957 Rename neteq4 folder to neteq
Keep the old neteq4/audio_decoder_unittests.isolate while waiting for
a hard-coded reference to change.

This CL effectively reverts r6257 "Rename neteq4 folder to neteq".

BUG=2996
TBR=tina.legrand@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6367 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-09 08:10:28 +00:00
1b9df05c85 Revert 6257 "Rename neteq4 folder to neteq"
> Rename neteq4 folder to neteq
> 
> BUG=2996
> R=turaj@webrtc.org
> 
> Review URL: https://webrtc-codereview.appspot.com/12569005

TBR=henrik.lundin@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6259 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-28 07:33:39 +00:00
a90f6d67f7 Rename neteq4 folder to neteq
BUG=2996
R=turaj@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6257 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-28 06:23:34 +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