df3efa8c07
Introduced the new locking scheme
...
BUG=webrtc:5099
Review URL: https://codereview.webrtc.org/1424663003
Cr-Commit-Position: refs/heads/master@{#10836}
2015-11-28 20:35:18 +00:00
2446e5a2de
Fixed the render queue item size preallocation and verification, moved constant declarations, removed redundant queue allocation
...
BUG=
Review URL: https://codereview.webrtc.org/1454683002
Cr-Commit-Position: refs/heads/master@{#10689}
2015-11-18 14:11:18 +00:00
4d291f7d5e
Applied the render queueing to the agc.
...
BUG=webrtc:5099
Review URL: https://codereview.webrtc.org/1416583003
Cr-Commit-Position: refs/heads/master@{#10667}
2015-11-17 07:52:32 +00:00
cd19faffa8
Attempt to isolate a bug by adding a new CHECK
...
Review URL: https://codereview.webrtc.org/1426953005
Cr-Commit-Position: refs/heads/master@{#10520}
2015-11-05 13:11:26 +00:00
98f53510b2
system_wrappers: rename interface -> include
...
BUG=webrtc:5095
R=tommi@webrtc.org
Review URL: https://codereview.webrtc.org/1413333002 .
Cr-Commit-Position: refs/heads/master@{#10438}
2015-10-28 17:17:50 +00:00
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
9345e86551
audio_processing: Create now returns a pointer to the object
...
Affects
* NS
* AGC
* AEC
BUG=441
TESTED=locally on Linux and trybots
R=kwiberg@webrtc.org
Review URL: https://codereview.webrtc.org/1175903002 .
Cr-Commit-Position: refs/heads/master@{#9411}
2015-06-10 19:43:46 +00:00
1a07a1e825
Solve data race in Pulse audio implementation.
...
BUG=3056, 1320
TEST=AutoTest
Mainly add threadchecker and remove unnecessary lock.
And some more styling working.
- audio_device_pulse_linux.cc: wrap lines longer than 80 chars. And add '.' to some comments around. Not do it to all places.
- audio_mixer_manager_pulse_linux.cc: Here I adopt some chromium practice. We use to do many things to the failure of pulse operation, which causes most of the data race issue. In chromium, if we failed to call any pulse function, we just fail it w/o use the previous results. Here I did same. Please check if it's good.
R=bjornv@webrtc.org , henrika@webrtc.org , tommi@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/52479004
Cr-Commit-Position: refs/heads/master@{#9243}
2015-05-21 04:42:24 +00:00
d35a5c3506
Make ChannelBuffer aware of frequency bands
...
Now the ChannelBuffer has 2 separate arrays, one for the full-band data and one for the splitted one. The corresponding accessors are added to the ChannelBuffer.
This is done to avoid having to refresh the bands pointers in AudioBuffer. It will also allow us to have a general accessor like data()[band][channel][sample].
All the files using the ChannelBuffer needed to be re-factored.
Tested with modules_unittests, common_audio_unittests, audioproc, audioproc_f, voe_cmd_test.
R=andrew@webrtc.org , kwiberg@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/36999004
Cr-Commit-Position: refs/heads/master@{#8318}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8318 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-10 22:52:43 +00:00
e468bc9e60
Rename _t struct types in audio_processing.
...
_t names are reserved in POSIX.
R=bjornv@webrtc.org
BUG=162
Review URL: https://webrtc-codereview.appspot.com/34509005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7943 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-18 09:11:33 +00:00
cf6d0b64ef
Add 48kHz support to AGC
...
Doing the same for the 16-24kHz band than was done in the 8-16kHz.
Results look and sound as nice.
Originally reviewed here:
https://webrtc-codereview.appspot.com/26339004/
BUG=webrtc:3146
R=andrew@webrtc.org , kwiberg@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/28299004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7917 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-16 20:56:09 +00:00
b395a5ea65
audio_processing: Moved legacy AGC code to webrtc/modules/audio_processing/agc/legacy/
...
include/ is renamed to legacy/ and analog_agc.* and digital_agc.* moved into the directory.
BUG=
R=andrew@webrtc.org , pbos@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/36479004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7909 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-16 10:38:10 +00:00
c5ebbd98f5
Support 48kHz in Noise Suppression
...
Doing the same for the 16-24kHz band than was done in the 8-16kHz.
Results look and sound as nice.
BUG=webrtc:3146
R=andrew@webrtc.org , bjornv@webrtc.org , kwiberg@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/29139004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7865 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-10 19:30:57 +00:00
a7384a1126
Simplify audio_buffer APIs
...
Now there is only one API to get the data or the channels (one const and one no const) merged or by band.
The band is passed in as a parameter, instead of calling different methods.
BUG=webrtc:3146
R=andrew@webrtc.org , bjornv@webrtc.org , kwiberg@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/27249004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7790 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-03 01:06:35 +00:00
2561d52460
Simplify AudioBuffer::mixed_low_pass_data API
...
R=andrew@webrtc.org , kwiberg@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/21869004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6715 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-17 08:27:39 +00:00
65f933899b
Fix constness of AudioBuffer accessors.
...
Don't return non-const pointers from const accessors and deal with the
spillover. Provide overloaded versions as needed.
Inspired by kwiberg:
https://webrtc-codereview.appspot.com/12379005/
R=bjornv@webrtc.org , kwiberg@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/15379004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6030 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-30 16:44:13 +00:00
ddbb8a2c24
Support arbitrary input/output rates and downmixing in AudioProcessing.
...
Select "processing" rates based on the input and output sampling rates.
Resample the input streams to those rates, and if necessary to the
output rate.
- Remove deprecated stream format APIs.
- Remove deprecated device sample rate APIs.
- Add a ChannelBuffer class to help manage deinterleaved channels.
- Clean up the splitting filter state.
- Add a unit test which verifies the output against known-working
native format output.
BUG=2894
R=aluebs@webrtc.org , bjornv@webrtc.org , xians@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/9919004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5959 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-22 21:00:04 +00:00
5964fe0f86
audio_processing: DestroyHandle() now returns void
...
The return value was not used anyhow and there is no proper action to be taken if we would have received an error. Hence, in line with issue441 we should return void upon free.
BUG=441
TESTED=trybots,modules_unittest
R=andrew@webrtc.org , aluebs@webrtc.org , kwiberg@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/12269004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5949 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-22 06:52:28 +00:00
56e4a05053
Remove ProcessingComponent's dependence on AudioProcessingImpl.
...
- Move needed accessors to AudioProcessing.
- Inject the crit directly as a dependency.
- Remove the now unneeded EchoCancellationImplWrapper.
BUG=2894
R=aluebs@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/9199004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5620 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-02-27 22:23:17 +00:00
b6541ca3a1
Ensure capture_levels_ is sized correctly at init time.
...
Fixes failing voe_auto_test and audioproc_perf.
TBR=bjornv
Review URL: https://webrtc-codereview.appspot.com/6699004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5348 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-01-07 18:36:10 +00:00
60730cfe3c
Remove the requirement to call set_sample_rate_hz and friends.
...
Instead have ProcessStream transparently handle changes to the stream
audio parameters (sample rate and channels). This removes two locks
per 10 ms ProcessStream call taken by VoiceEngine (four total with the
audio level indicator.)
Also, prepare future improvements by having the splitting filter take
a length parameter. This will allow it to work at different sample
rates. Remove the useless splitting_filter wrapper.
TESTED=voe_cmd_test with audio processing enabled and switching between
codecs; unit tests.
R=aluebs@webrtc.org , bjornv@webrtc.org , turaj@webrtc.org , xians@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/3949004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5346 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-01-07 17:45:09 +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
7fad4b8c9f
Include files from webrtc/.. paths in audio_processing/
...
BUG=1662
R=andrew@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1559004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4116 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-28 08:11:59 +00:00
b7192b8247
WebRtc_Word32 -> int32_t in audio_processing/
...
BUG=314
Review URL: https://webrtc-codereview.appspot.com/1307004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3809 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-10 07:50:54 +00:00
14b43beb7c
Move src/ -> webrtc/
...
TBR=niklas.enbom@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/915006
git-svn-id: http://webrtc.googlecode.com/svn/trunk@2963 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-10-22 18:19:23 +00:00