Peter Kasting
dce40cf804
Update a ton of audio code to use size_t more correctly and in general reduce
...
use of int16_t/uint16_t.
This is the upshot of a recommendation by henrik.lundin and kwiberg on an original small change ( https://webrtc-codereview.appspot.com/42569004/#ps1 ) to stop using int16_t just because values could fit in it, and is similar in nature to a previous "mass change to use size_t more" ( https://webrtc-codereview.appspot.com/23129004/ ) which also needed to be split up for review but to land all at once, since, like adding "const", such changes tend to cause a lot of transitive effects.
This was be reviewed and approved in pieces:
https://codereview.webrtc.org/1224093003
https://codereview.webrtc.org/1224123002
https://codereview.webrtc.org/1224163002
https://codereview.webrtc.org/1225133003
https://codereview.webrtc.org/1225173002
https://codereview.webrtc.org/1227163003
https://codereview.webrtc.org/1227203003
https://codereview.webrtc.org/1227213002
https://codereview.webrtc.org/1227893002
https://codereview.webrtc.org/1228793004
https://codereview.webrtc.org/1228803003
https://codereview.webrtc.org/1228823002
https://codereview.webrtc.org/1228823003
https://codereview.webrtc.org/1228843002
https://codereview.webrtc.org/1230693002
https://codereview.webrtc.org/1231713002
The change is being landed as TBR to all the folks who reviewed the above.
BUG=chromium:81439
TEST=none
R=andrew@webrtc.org , pbos@webrtc.org
TBR=aluebs, andrew, asapersson, henrika, hlundin, jan.skoglund, kwiberg, minyue, pbos, pthatcher
Review URL: https://codereview.webrtc.org/1230503003 .
Cr-Commit-Position: refs/heads/master@{#9768}
2015-08-24 21:52:45 +00:00
Henrik Lundin
5abd3e1f98
Revert r9359 "Implement NetEq's CurrentDelay function"
...
This reverts commit d8a03facf6986a011c8f889c63d87f9216a1e912, since it
broke the Chrome build. Will have to swap to using base/logging.h in
neteq_impl.cc before re-landing this change.
TBR=kwiberg@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/50219004
Cr-Commit-Position: refs/heads/master@{#9360}
2015-06-03 10:58:52 +00:00
Henrik Lundin
d8a03facf6
Implement NetEq's CurrentDelay function
...
This was not implemented before. It returns the current total delay (packet buffer and sync buffer) of NetEq. This is the same information that was already available in NetEqNetworkStatistics::current_buffer_size_ms, that can be obtained through NetEq::NetworkStatistics(). But, since the current delay is a key metric of NetEq, it is convenient to have it available in a simpler way.
R=kwiberg@webrtc.org , minyue@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/51149004
Cr-Commit-Position: refs/heads/master@{#9359}
2015-06-03 09:55:53 +00:00
Henrik Lundin
cf808d2366
Add new fast mode for NetEq's Accelerate operation
...
This change instroduces a mode where the Accelerate operation will be
more aggressive. When enabled, it will allow acceleration at lower
correlation levels, and possibly remove multiple pitch periods at
once.
The feature is enabled through NetEq::Config, and is off by
default. This means that bit-exactness tests are currently not
affected.
A unit test was added for the Accelerate class, with and without fast
mode enabled.
BUG=4691
R=minyue@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/50039004
Cr-Commit-Position: refs/heads/master@{#9295}
2015-05-27 12:33:39 +00:00
Henrik Lundin
905495cfaa
Introduce NetEq::Config::ToString and use it in NetEq's constructor
...
R=minyue@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/54559004
Cr-Commit-Position: refs/heads/master@{#9279}
2015-05-25 14:58:46 +00:00
Karl Wiberg
d8399e630f
Also provide sample rate when registering decoders
...
This replaces the old practice of looking up the sample rate in a
table, which won't work when we add support for external decoders.
COAUTHOR=henrik.lundin@webrtc.org
BUG=4474
R=jmarusic@webrtc.org , minyue@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/54469004
Cr-Commit-Position: refs/heads/master@{#9276}
2015-05-25 12:40:05 +00:00
Henrik Lundin
83b5c053b9
Modify NetEqQualityTest
...
- Take input sample rate as parameter - provides resampling when needed.
- Add support for wav output.
BUG=2692
R=minyue@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/49699004
Cr-Commit-Position: refs/heads/master@{#9158}
2015-05-08 08:34:00 +00:00
minyue@webrtc.org
7d721eea14
Adding speech_expand_rate to NetEQ Network Statistics.
...
There have been requests for separating rate of expanded speech samples from noise samples.
BUG=
R=henrik.lundin@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/37309004
Cr-Commit-Position: refs/heads/master@{#8404}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8404 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-18 10:02:20 +00:00
minyue@webrtc.org
2c1bcf2cb4
Adding decoded_fec_rate to NetEQ Network Statistics.
...
A statistic is introduced to reflect the actual benefits of Opus FEC. It shows what percentage of samples in the rendered audio come from FEC data.
BUG=3867
R=henrik.lundin@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/34969004
Cr-Commit-Position: refs/heads/master@{#8384}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8384 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-17 10:17:48 +00:00
kwiberg@webrtc.org
e04a93bcf5
Move the AudioDecoder interface out of NetEq
...
It belongs with the codecs, next to the AudioEncoder interface.
R=andrew@webrtc.org , henrik.lundin@webrtc.org , kjellander@webrtc.org
Previously committed here: https://code.google.com/p/webrtc/source/detail?r=7798
and reverted here: https://code.google.com/p/webrtc/source/detail?r=7799
Review URL: https://webrtc-codereview.appspot.com/27309004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7839 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-09 10:12:53 +00:00
kwiberg@webrtc.org
3800e13a3a
Revert r7798 ("Move the AudioDecoder interface out of NetEq")
...
Apparently, it caused all sorts of problems I don't have time to
straighten out right now.
TBR=henrika@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/25289004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7799 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-03 16:28:17 +00:00
kwiberg@webrtc.org
00ba1a7dfd
Move the AudioDecoder interface out of NetEq
...
It belongs with the codecs, next to the AudioEncoder interface.
R=henrik.lundin@webrtc.org , kjellander@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/27309004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7798 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-03 14:23:23 +00:00
pkasting@chromium.org
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
henrik.lundin@webrtc.org
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
henrik.lundin@webrtc.org
7cbc4f969a
Set NetEq playout mode through the Config struct
...
This change opens up the possibility to set the playout mode when
creating the NetEq object. The old methods SetPlayoutMode and
PlayoutMode are still available, but are deprecated.
BUG=3520
R=turaj@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/23869004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7381 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-07 06:37:39 +00:00
henrik.lundin@webrtc.org
023f12fb6e
NetEq background noise generation off by default
...
This CL turns the background noise generation in NetEq off by default. The noise generation used to kick in during long-duration packet losses, when there was no point in extrapolating the latest audio any longer. However, this sometimes produces annoying noise in situations where silence would have been preferable.
With this change, a long packet-loss concealment will be faded out to zeros instead of a low noise.
Reference files are updated where needed.
BUG=3519
R=tina.legrand@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/20109004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6882 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-08-13 09:45:40 +00:00
henrik.lundin@webrtc.org
ea25784107
Change how background noise mode in NetEq is set
...
This change prepares for switching default background noise (bgn) mode
from on to off. The actual switch will be done later.
In this change, the bgn mode is included as a setting in NetEq's config
struct. We're also removing the connection between playout modes and
bgn modes in ACM. In practice this means that bgn mode will change from
off to on for streaming mode, but since the playout modes are not used
it does not matter.
BUG=3519
R=tina.legrand@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/21749004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6843 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-08-07 12:27:37 +00:00
henrik.lundin@webrtc.org
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
henrik.lundin@webrtc.org
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
henrik.lundin@webrtc.org
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