35ead381f8
Adding a config struct to NetEq
...
With this change, the parameters sent to the NetEq::Create method are
collected in one NetEq::Config struct. The benefit is that it is easier
to set, change and override default values, and easier to expand with
more parameters in the future.
BUG=3083
R=turaj@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/11949004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5902 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-14 18:49:17 +00:00
8d1cdaa84e
NetEq changes.
...
BUG=
R=henrik.lundin@webrtc.org , minyue@webrtc.org , tina.legrand@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/9859005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5889 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-11 18:47:55 +00:00
b28bfa7efc
Adding FEC support in NetEq 4.
...
R=henrik.lundin@webrtc.org , turaj@webrtc.org
TEST=passes all trybots
BUG=
Review URL: https://webrtc-codereview.appspot.com/9999004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5748 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-21 12:07:40 +00:00
3ab57c514c
Changing the buffer size (slots) to 1.5 seconds @ 30 ms packets
...
This is a relanding of r5725, now with a fix for the failing tests.
BUG=2935
R=turaj@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/10339005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5738 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-20 15:09:38 +00:00
1e98a15adb
Revert "Changing the buffer size (in packets) to 1.5 seconds @ 30 ms packets"
...
Build bots turned red.
TBR=tina.legrand@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/10229004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5726 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-19 14:16:52 +00:00
e5be877476
Changing the buffer size (in packets) to 1.5 seconds @ 30 ms packets
...
BUG=2935
R=tina.legrand@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/9899004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5725 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-19 13:36:58 +00:00
fe5d36b6fe
Move RtcpStatistics to webrtc/common_types.h, to be used by vie as well.
...
We will do some refactoring of video engine and would like to use the
same rtcp stats struct there. Both video and audio seem to use 8bit
fraction lost, so that is changed in the struct as well.
BUG=
R=henrik.lundin@webrtc.org , kjellander@webrtc.org , mflodman@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2959004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5039 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-28 09:21:07 +00:00
a6101d76f4
Update sampling rate and number of channels of NetEq4 if decoder is changed.
...
We encounter a sample-underrun if NetEq is initialized with a sampling rate fs =16000 and receive Opus packets with frame-size less than 5 ms. The reason is as follows.
Let say NetEq buffer has 4 packets of Opus each of size 2.5ms this means that internally timestamp of packets incremented by 80 (internally Opus treated as 32 kHz codec). Given the initial sampling rate of NetEq, at the first time that it wants to fetch packets, it targets to fetch 160 samples. Therefore, it will only extracts 2 packets. Decoding these packets give us exactly 160 samples (5 ms at 32 kHz), however, upon decoding the first packet the internal sampling rate will be updated to 32 kHz. So it is expected that sync buffer to deliver 320 samples while it does only have 160 samples (or maybe few more as it starts with some zeros). And we encounter and under-run.
Even if we ignore the under-run "assert(sync_buffer_->FutureLength() >= expand_->overlap_length())" (neteq_impl.cc::811) is trigered. I'm not sure what happens if we remove this assert perhaps NetEq will work fine in subsequent calls. However the first under-run is blocking ACM2 test to pass.
Here I have a solution to update sample rate as soon as a packet is inserted, if required. It not a very efficient approach as we do the same reset in NetEqImpl::Decode().
It is a bit tricky to reproduce this because the TOT ACM tests do not run ACM2. In https://webrtc-codereview.appspot.com/2192005/ I have a patch to run both ACMs. To reproduce the problem, one can patch that CL and run
$ out/Debug/modules_tests --gtest_filter=AudioCodingModuleTest.TestOpus
Note that we would not encounter any problem if NetEq4 is initiated with 32000 Hz sampling rate. You can test this by setting |kNeteqInitSampleRateHz| to 32000 in webrtc/modules/audio_coding/main/acm2/acm_receiver.cc
BUG=
R=andrew@webrtc.org , henrik.lundin@webrtc.org , kjellander@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2306004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4896 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-01 22:01:09 +00:00
7b75ac6756
Sync-packet insertion into NetEq4. This is related to r3883 & r4052 for NetEq 3.
...
BUG=
R=henrik.lundin@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2099004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4850 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-26 00:27:56 +00:00
ff43c85ef1
API add to set background noise mode.
...
Background noise mode.
BUG=
R=henrik.lundin@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2194005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4835 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-25 00:07:27 +00:00
036b7436df
Adding APIs. These APIs are not implemented yet, they are to help developement of ACM.
...
Un-implemented APIs.
TBR=henrik.lundin@webrtc.org
BUG=
Review URL: https://webrtc-codereview.appspot.com/2191008
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4725 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-11 18:45:02 +00:00
d7301775f5
update neteq 4 to facilitate NACK
...
BUG=
R=turaj@webrtc.org , turajs@google.com
Review URL: https://webrtc-codereview.appspot.com/2008004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4637 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-29 00:58:14 +00:00
f1efc57139
Implementing APIs to set maximum and minimum for latency.
...
cpplint warnning fixed
Ready for review
BUG=
R=minyue@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1971004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4563 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-16 23:44:24 +00:00
ecbe0aa543
Added Opus stereo support
...
TESTED=git try
BUG=webrtc:1360
R=tina.legrand@webrtc.org , turaj@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1868004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4521 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-12 06:48:09 +00:00
7bb5436e5d
Better error treatment in NetEqImpl::InsertPacketInternal()
...
BUG=webrtc:1364
R=turaj@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1844004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4493 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-06 05:40:57 +00:00
9721db799c
removed NetEq::EnableDtmf()
...
BUG=webrtc:1373
R=turaj@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1822005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4492 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-06 05:36:26 +00:00
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
7df9706a01
Add one API for implementing Initial delay.
...
R=minyue@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1939004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4475 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-02 18:07:13 +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
ac59dba3f7
Adding iSAC-fb support
...
Adding tests, too.
Review URL: https://webrtc-codereview.appspot.com/1070011
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3440 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-01-31 09:55:24 +00:00
d94659dc27
Initial upload of NetEq4
...
This is the first public upload of the new NetEq, version 4.
It has been through extensive internal review during the course of
the project.
TEST=trybots
Review URL: https://webrtc-codereview.appspot.com/1073005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3425 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-01-29 12:09:21 +00:00