Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(163)

Unified Diff: voice_engine/transmit_mixer.cc

Issue 3019513002: Remove the VoiceEngineObserver callback interface. (Closed)
Patch Set: rebase + build error Created 3 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « voice_engine/transmit_mixer.h ('k') | voice_engine/voe_base_impl.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: voice_engine/transmit_mixer.cc
diff --git a/voice_engine/transmit_mixer.cc b/voice_engine/transmit_mixer.cc
index a888eb1887167e8da09496c6f70b0679f26b8f94..a90ad4892a7b9b1b9ff47d5a6dd7a89d301710d3 100644
--- a/voice_engine/transmit_mixer.cc
+++ b/voice_engine/transmit_mixer.cc
@@ -22,50 +22,11 @@
#include "voice_engine/channel_manager.h"
#include "voice_engine/statistics.h"
#include "voice_engine/utility.h"
-#include "voice_engine/voe_base_impl.h"
namespace webrtc {
namespace voe {
-#if WEBRTC_VOICE_ENGINE_TYPING_DETECTION
-// TODO(ajm): The thread safety of this is dubious...
-void TransmitMixer::OnPeriodicProcess()
-{
- WEBRTC_TRACE(kTraceStream, kTraceVoice, VoEId(_instanceId, -1),
- "TransmitMixer::OnPeriodicProcess()");
-
- bool send_typing_noise_warning = false;
- bool typing_noise_detected = false;
- {
- rtc::CritScope cs(&_critSect);
- if (_typingNoiseWarningPending) {
- send_typing_noise_warning = true;
- typing_noise_detected = _typingNoiseDetected;
- _typingNoiseWarningPending = false;
- }
- }
- if (send_typing_noise_warning) {
- rtc::CritScope cs(&_callbackCritSect);
- if (_voiceEngineObserverPtr) {
- if (typing_noise_detected) {
- WEBRTC_TRACE(kTraceInfo, kTraceVoice, VoEId(_instanceId, -1),
- "TransmitMixer::OnPeriodicProcess() => "
- "CallbackOnError(VE_TYPING_NOISE_WARNING)");
- _voiceEngineObserverPtr->CallbackOnError(
- -1,
- VE_TYPING_NOISE_WARNING);
- } else {
- WEBRTC_TRACE(kTraceInfo, kTraceVoice, VoEId(_instanceId, -1),
- "TransmitMixer::OnPeriodicProcess() => "
- "CallbackOnError(VE_TYPING_NOISE_OFF_WARNING)");
- _voiceEngineObserverPtr->CallbackOnError(
- -1,
- VE_TYPING_NOISE_OFF_WARNING);
- }
- }
- }
-}
-#endif // WEBRTC_VOICE_ENGINE_TYPING_DETECTION
+// TODO(solenberg): The thread safety in this class is dubious.
int32_t
TransmitMixer::Create(TransmitMixer*& mixer, uint32_t instanceId)
@@ -94,59 +55,16 @@ TransmitMixer::Destroy(TransmitMixer*& mixer)
}
TransmitMixer::TransmitMixer(uint32_t instanceId) :
-#if WEBRTC_VOICE_ENGINE_TYPING_DETECTION
- _monitorModule(this),
-#endif
_instanceId(instanceId)
{
WEBRTC_TRACE(kTraceMemory, kTraceVoice, VoEId(_instanceId, -1),
"TransmitMixer::TransmitMixer() - ctor");
}
-TransmitMixer::~TransmitMixer()
-{
- WEBRTC_TRACE(kTraceMemory, kTraceVoice, VoEId(_instanceId, -1),
- "TransmitMixer::~TransmitMixer() - dtor");
-#if WEBRTC_VOICE_ENGINE_TYPING_DETECTION
- if (_processThreadPtr)
- _processThreadPtr->DeRegisterModule(&_monitorModule);
-#endif
-}
-
-int32_t
-TransmitMixer::SetEngineInformation(ProcessThread& processThread,
- Statistics& engineStatistics,
- ChannelManager& channelManager)
-{
- WEBRTC_TRACE(kTraceInfo, kTraceVoice, VoEId(_instanceId, -1),
- "TransmitMixer::SetEngineInformation()");
+TransmitMixer::~TransmitMixer() = default;
- _processThreadPtr = &processThread;
- _engineStatisticsPtr = &engineStatistics;
- _channelManagerPtr = &channelManager;
-
-#if WEBRTC_VOICE_ENGINE_TYPING_DETECTION
- _processThreadPtr->RegisterModule(&_monitorModule, RTC_FROM_HERE);
-#endif
- return 0;
-}
-
-int32_t
-TransmitMixer::RegisterVoiceEngineObserver(VoiceEngineObserver& observer)
-{
- WEBRTC_TRACE(kTraceInfo, kTraceVoice, VoEId(_instanceId, -1),
- "TransmitMixer::RegisterVoiceEngineObserver()");
- rtc::CritScope cs(&_callbackCritSect);
-
- if (_voiceEngineObserverPtr)
- {
- _engineStatisticsPtr->SetLastError(
- VE_INVALID_OPERATION, kTraceError,
- "RegisterVoiceEngineObserver() observer already enabled");
- return -1;
- }
- _voiceEngineObserverPtr = &observer;
- return 0;
+void TransmitMixer::SetEngineInformation(ChannelManager* channelManager) {
+ _channelManagerPtr = channelManager;
}
int32_t
@@ -323,27 +241,18 @@ void TransmitMixer::ProcessAudio(int delay_ms, int clock_drift,
}
#if WEBRTC_VOICE_ENGINE_TYPING_DETECTION
-void TransmitMixer::TypingDetection(bool keyPressed)
+void TransmitMixer::TypingDetection(bool key_pressed)
{
// We let the VAD determine if we're using this feature or not.
if (_audioFrame.vad_activity_ == AudioFrame::kVadUnknown) {
return;
}
- bool vadActive = _audioFrame.vad_activity_ == AudioFrame::kVadActive;
- if (_typingDetection.Process(keyPressed, vadActive)) {
- rtc::CritScope cs(&_critSect);
- _typingNoiseWarningPending = true;
- _typingNoiseDetected = true;
- } else {
- rtc::CritScope cs(&_critSect);
- // If there is already a warning pending, do not change the state.
- // Otherwise set a warning pending if last callback was for noise detected.
- if (!_typingNoiseWarningPending && _typingNoiseDetected) {
- _typingNoiseWarningPending = true;
- _typingNoiseDetected = false;
- }
- }
+ bool vad_active = _audioFrame.vad_activity_ == AudioFrame::kVadActive;
+ bool typing_detected = typing_detection_.Process(key_pressed, vad_active);
+
+ rtc::CritScope cs(&lock_);
+ typing_noise_detected_ = typing_detected;
}
#endif
@@ -355,5 +264,10 @@ bool TransmitMixer::IsStereoChannelSwappingEnabled() {
return swap_stereo_channels_;
}
+bool TransmitMixer::typing_noise_detected() const {
+ rtc::CritScope cs(&lock_);
+ return typing_noise_detected_;
+}
+
} // namespace voe
} // namespace webrtc
« no previous file with comments | « voice_engine/transmit_mixer.h ('k') | voice_engine/voe_base_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698