The complexity of the last ChannelManager and potentially usage of it as well caused race conditions and deadlocks in loopback voe_auto_test. This ref-counted solution takes no long-term locks, uses less locks overall and is significantly easier to understand.
ScopedChannel has been split up into a ChannelOwner with a reference to a channel and an Iterator over ChannelManager. Previous code was really used for both things. ChannelOwner is used as a shared pointer to a channel object, while an Iterator should work as expected.
BUG=2081
R=tommi@webrtc.org, xians@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1802004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4502 4adac7df-926f-26a2-2b94-8c16560cd09d
class VoEAudioProcessing
int RegisterRxVadObserver();
int DeRegisterRxVadObserver();
int SetEcMetricsStatus();
int GetEcMetricsStatus()
int GetEchoMetrics();
int GetEcDelayMetrics();
class VoENetEqStats
int GetNetworkStatistics();
class VoEVolumeControl
int SetChannelOutputVolumeScaling();
int GetChannelOutputVolumeScaling();
Review URL: https://webrtc-codereview.appspot.com/1159004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3719 4adac7df-926f-26a2-2b94-8c16560cd09d
This associates the two types instead of incorrectly reinterpret casting
VoiceEngineImpl* to VoiceEngine* (since these types were previously unrelated).
Please see more details in the bug for how this is currently causing problems
with security tools.
BUG=38612
Review URL: https://webrtc-codereview.appspot.com/1099013
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3520 4adac7df-926f-26a2-2b94-8c16560cd09d
Add a highly stripped-down version of libjingle's base/logging.h. It is
a thin wrapper around WEBRTC_TRACE, maintaining the libjingle log
semantics to ease a transition to that format.
Also add some helper macros for easy API and function failure logging.
Review URL: https://webrtc-codereview.appspot.com/931010
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3099 4adac7df-926f-26a2-2b94-8c16560cd09d
The number of channels must be set correctly before calling ProcessStream. This
was preventing stereo frames from being processed.
Also fix voe_cmd_test, which wasn't enabling rx NS properly.
BUG=issue713, 7375579
Review URL: https://webrtc-codereview.appspot.com/929013
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3047 4adac7df-926f-26a2-2b94-8c16560cd09d