This change does the following:
* Remove the Atomic32Wrapper and AtomicImpl classes and provide the Atomic32
implementation directly via platform specific source files.
* Move/rename/delete all source files accordingly
* The atomic value itself is now volatile. Previously it was only the pointer to
the memory that was volatile, but not the actual value.
* No additional heap allocations are now done for the atomic value.
In a follow up cl I plan to start using Atomic32 in the RefCount class in order
to fix issues reported by Coverity.
Review URL: https://webrtc-codereview.appspot.com/490004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@2065 4adac7df-926f-26a2-2b94-8c16560cd09d
When _amountOfMixableParticipants == 1, we skip mixing and saturation
protection. Without this fix, an anonymous participant would only be
properly counted if it was the last added.
For example, if an anonymous participant was added first, followed by
a regular participant, _amoutOfMixableParticipants would == 1 and the
regular participant would not be mixed.
BUG=issue209
TEST=New test added to voe_auto_test to verify, and used voe_cmd_test.
Review URL: https://webrtc-codereview.appspot.com/367006
git-svn-id: http://webrtc.googlecode.com/svn/trunk@1551 4adac7df-926f-26a2-2b94-8c16560cd09d
In addition to our naming guidelines, this will cause these files to get parsed by Sonar, and to make searching/grepping the source using file extensions easier in the future.
BUG=
TEST=Compiling on Linux.
Review URL: http://webrtc-codereview.appspot.com/348005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@1405 4adac7df-926f-26a2-2b94-8c16560cd09d
- Compute RMS over a packet's worth of audio to be sent in Channel, rather than the captured audio in TransmitMixer.
- We now use the entire packet rather than the last 10 ms frame.
- Restore functionality to LevelEstimator.
- Fix a bug in the splitting filter.
- Fix a number of bugs in process_test related to a poorly named
AudioFrame member.
- Update the unittest protobuf and float reference output.
- Add audioproc unittests.
- Reenable voe_extended_tests, and add a real function test.
- Use correct minimum level of 127.
TEST=audioproc_unittest, audioproc, voe_extended_test, voe_auto_test
Review URL: http://webrtc-codereview.appspot.com/279003
git-svn-id: http://webrtc.googlecode.com/svn/trunk@950 4adac7df-926f-26a2-2b94-8c16560cd09d
A single participant is not processed at all. With multiple
participants, we divide-by-2 as before when mixing. Afterwards,
the mixed signal is limited by the AGC to -7 dBFS and then doubled to
restore the original level.
This preserves the level while guaranteeing good saturation protection.
Add a test to voe_auto_test. Hijack and improve the existing mixing test
for this.
TEST=voe_auto_test, voe_cmd_test
Review URL: http://webrtc-codereview.appspot.com/241013
git-svn-id: http://webrtc.googlecode.com/svn/trunk@920 4adac7df-926f-26a2-2b94-8c16560cd09d
Details:
The mixer looks at all the participants desired frequency and concludes the highest desired mixing frequency. This is the frequency that the mixer will mix at. Participants that are always mixed are in a separate list and the function concluding the highest desired mixing frequency did not look at that list and therefore always conclude that the lowest mixing frequency is sufficient.
Review URL: http://webrtc-codereview.appspot.com/277003
git-svn-id: http://webrtc.googlecode.com/svn/trunk@915 4adac7df-926f-26a2-2b94-8c16560cd09d