Index: webrtc/modules/audio_device/android/audio_device_template.h |
diff --git a/webrtc/modules/audio_device/android/audio_device_template.h b/webrtc/modules/audio_device/android/audio_device_template.h |
index 719b4bdd360b4ba7ba896990781e1c6f29ba5267..79fa904c1a1bee55dc30a0896345e9a899543ab1 100644 |
--- a/webrtc/modules/audio_device/android/audio_device_template.h |
+++ b/webrtc/modules/audio_device/android/audio_device_template.h |
@@ -11,16 +11,11 @@ |
#ifndef WEBRTC_MODULES_AUDIO_DEVICE_ANDROID_AUDIO_DEVICE_TEMPLATE_H_ |
#define WEBRTC_MODULES_AUDIO_DEVICE_ANDROID_AUDIO_DEVICE_TEMPLATE_H_ |
-#include <android/log.h> |
- |
#include "webrtc/base/checks.h" |
+#include "webrtc/base/logging.h" |
#include "webrtc/base/thread_checker.h" |
#include "webrtc/modules/audio_device/android/audio_manager.h" |
#include "webrtc/modules/audio_device/audio_device_generic.h" |
-#include "webrtc/system_wrappers/include/trace.h" |
- |
-#define TAG "AudioDeviceTemplate" |
-#define ALOGW(...) __android_log_print(ANDROID_LOG_WARN, TAG, __VA_ARGS__) |
namespace webrtc { |
@@ -44,20 +39,22 @@ class AudioDeviceTemplate : public AudioDeviceGeneric { |
output_(audio_manager_), |
input_(audio_manager_), |
initialized_(false) { |
+ LOG(INFO) << __FUNCTION__; |
RTC_CHECK(audio_manager); |
audio_manager_->SetActiveAudioLayer(audio_layer); |
} |
- virtual ~AudioDeviceTemplate() { |
- } |
+ virtual ~AudioDeviceTemplate() { LOG(INFO) << __FUNCTION__; } |
henrika_webrtc
2016/06/27 07:42:53
Shouldn't LOG be on a separate line?
Max Morin WebRTC
2016/06/27 13:05:46
This is how the auto formatter does it, it doesn't
henrika_webrtc
2016/06/27 13:15:42
Acknowledged.
|
int32_t ActiveAudioLayer( |
AudioDeviceModule::AudioLayer& audioLayer) const override { |
+ LOG(INFO) << __FUNCTION__; |
audioLayer = audio_layer_; |
return 0; |
} |
int32_t Init() override { |
+ LOG(INFO) << __FUNCTION__; |
RTC_DCHECK(thread_checker_.CalledOnValidThread()); |
RTC_DCHECK(!initialized_); |
if (!audio_manager_->Init()) |
@@ -76,6 +73,7 @@ class AudioDeviceTemplate : public AudioDeviceGeneric { |
} |
int32_t Terminate() override { |
+ LOG(INFO) << __FUNCTION__; |
RTC_DCHECK(thread_checker_.CalledOnValidThread()); |
int32_t err = input_.Terminate(); |
err |= output_.Terminate(); |
@@ -86,15 +84,18 @@ class AudioDeviceTemplate : public AudioDeviceGeneric { |
} |
bool Initialized() const override { |
+ LOG(INFO) << __FUNCTION__; |
RTC_DCHECK(thread_checker_.CalledOnValidThread()); |
return initialized_; |
} |
int16_t PlayoutDevices() override { |
+ LOG(INFO) << __FUNCTION__; |
return 1; |
} |
int16_t RecordingDevices() override { |
+ LOG(INFO) << __FUNCTION__; |
return 1; |
} |
@@ -117,6 +118,7 @@ class AudioDeviceTemplate : public AudioDeviceGeneric { |
int32_t SetPlayoutDevice(uint16_t index) override { |
// OK to use but it has no effect currently since device selection is |
// done using Andoid APIs instead. |
+ LOG(INFO) << __FUNCTION__; |
return 0; |
} |
@@ -129,6 +131,7 @@ class AudioDeviceTemplate : public AudioDeviceGeneric { |
int32_t SetRecordingDevice(uint16_t index) override { |
// OK to use but it has no effect currently since device selection is |
// done using Andoid APIs instead. |
+ LOG(INFO) << __FUNCTION__; |
return 0; |
} |
@@ -139,40 +142,49 @@ class AudioDeviceTemplate : public AudioDeviceGeneric { |
} |
int32_t PlayoutIsAvailable(bool& available) override { |
+ LOG(INFO) << __FUNCTION__; |
available = true; |
return 0; |
} |
int32_t InitPlayout() override { |
+ LOG(INFO) << __FUNCTION__; |
return output_.InitPlayout(); |
} |
bool PlayoutIsInitialized() const override { |
+ LOG(INFO) << __FUNCTION__; |
return output_.PlayoutIsInitialized(); |
} |
int32_t RecordingIsAvailable(bool& available) override { |
+ LOG(INFO) << __FUNCTION__; |
available = true; |
return 0; |
} |
int32_t InitRecording() override { |
+ LOG(INFO) << __FUNCTION__; |
return input_.InitRecording(); |
} |
bool RecordingIsInitialized() const override { |
+ LOG(INFO) << __FUNCTION__; |
return input_.RecordingIsInitialized(); |
} |
int32_t StartPlayout() override { |
+ LOG(INFO) << __FUNCTION__; |
if (!audio_manager_->IsCommunicationModeEnabled()) { |
- ALOGW("The application should use MODE_IN_COMMUNICATION audio mode!"); |
+ LOG(WARNING) |
+ << "The application should use MODE_IN_COMMUNICATION audio mode!"; |
} |
return output_.StartPlayout(); |
} |
int32_t StopPlayout() override { |
// Avoid using audio manger (JNI/Java cost) if playout was inactive. |
+ LOG(INFO) << __FUNCTION__; |
if (!Playing()) |
return 0; |
int32_t err = output_.StopPlayout(); |
@@ -180,18 +192,22 @@ class AudioDeviceTemplate : public AudioDeviceGeneric { |
} |
bool Playing() const override { |
+ LOG(INFO) << __FUNCTION__; |
return output_.Playing(); |
} |
int32_t StartRecording() override { |
+ LOG(INFO) << __FUNCTION__; |
if (!audio_manager_->IsCommunicationModeEnabled()) { |
- ALOGW("The application should use MODE_IN_COMMUNICATION audio mode!"); |
+ LOG(WARNING) |
+ << "The application should use MODE_IN_COMMUNICATION audio mode!"; |
} |
return input_.StartRecording(); |
} |
int32_t StopRecording() override { |
// Avoid using audio manger (JNI/Java cost) if recording was inactive. |
+ LOG(INFO) << __FUNCTION__; |
if (!Recording()) |
return 0; |
int32_t err = input_.StopRecording(); |
@@ -199,6 +215,7 @@ class AudioDeviceTemplate : public AudioDeviceGeneric { |
} |
bool Recording() const override { |
+ LOG(INFO) << __FUNCTION__; |
return input_.Recording() ; |
} |
@@ -210,6 +227,7 @@ class AudioDeviceTemplate : public AudioDeviceGeneric { |
} |
bool AGC() const override { |
+ LOG(INFO) << __FUNCTION__; |
return false; |
} |
@@ -226,38 +244,47 @@ class AudioDeviceTemplate : public AudioDeviceGeneric { |
} |
int32_t InitSpeaker() override { |
+ LOG(INFO) << __FUNCTION__; |
return 0; |
} |
bool SpeakerIsInitialized() const override { |
+ LOG(INFO) << __FUNCTION__; |
return true; |
} |
int32_t InitMicrophone() override { |
+ LOG(INFO) << __FUNCTION__; |
return 0; |
} |
bool MicrophoneIsInitialized() const override { |
+ LOG(INFO) << __FUNCTION__; |
return true; |
} |
int32_t SpeakerVolumeIsAvailable(bool& available) override { |
+ LOG(INFO) << __FUNCTION__; |
return output_.SpeakerVolumeIsAvailable(available); |
} |
int32_t SetSpeakerVolume(uint32_t volume) override { |
+ LOG(INFO) << __FUNCTION__; |
return output_.SetSpeakerVolume(volume); |
} |
int32_t SpeakerVolume(uint32_t& volume) const override { |
+ LOG(INFO) << __FUNCTION__; |
return output_.SpeakerVolume(volume); |
} |
int32_t MaxSpeakerVolume(uint32_t& maxVolume) const override { |
+ LOG(INFO) << __FUNCTION__; |
return output_.MaxSpeakerVolume(maxVolume); |
} |
int32_t MinSpeakerVolume(uint32_t& minVolume) const override { |
+ LOG(INFO) << __FUNCTION__; |
return output_.MinSpeakerVolume(minVolume); |
} |
@@ -343,12 +370,14 @@ class AudioDeviceTemplate : public AudioDeviceGeneric { |
} |
int32_t StereoPlayoutIsAvailable(bool& available) override { |
+ LOG(INFO) << __FUNCTION__; |
available = false; |
return 0; |
} |
// TODO(henrika): add support. |
int32_t SetStereoPlayout(bool enable) override { |
+ LOG(INFO) << __FUNCTION__; |
return -1; |
} |
@@ -360,15 +389,18 @@ class AudioDeviceTemplate : public AudioDeviceGeneric { |
} |
int32_t StereoRecordingIsAvailable(bool& available) override { |
+ LOG(INFO) << __FUNCTION__; |
available = false; |
return 0; |
} |
int32_t SetStereoRecording(bool enable) override { |
+ LOG(INFO) << __FUNCTION__; |
return -1; |
} |
int32_t StereoRecording(bool& enabled) const override { |
+ LOG(INFO) << __FUNCTION__; |
enabled = false; |
return 0; |
} |
@@ -388,12 +420,14 @@ class AudioDeviceTemplate : public AudioDeviceGeneric { |
int32_t PlayoutDelay(uint16_t& delay_ms) const override { |
// Best guess we can do is to use half of the estimated total delay. |
delay_ms = audio_manager_->GetDelayEstimateInMilliseconds() / 2; |
+ LOG(LS_VERBOSE) << __FUNCTION__ << " delay = " << delay_ms; |
RTC_DCHECK_GT(delay_ms, 0); |
return 0; |
} |
int32_t RecordingDelay(uint16_t& delay_ms) const override { |
// Best guess we can do is to use half of the estimated total delay. |
+ LOG(INFO) << __FUNCTION__; |
delay_ms = audio_manager_->GetDelayEstimateInMilliseconds() / 2; |
RTC_DCHECK_GT(delay_ms, 0); |
return 0; |
@@ -405,30 +439,35 @@ class AudioDeviceTemplate : public AudioDeviceGeneric { |
} |
bool PlayoutWarning() const override { |
+ LOG(INFO) << __FUNCTION__; |
return false; |
} |
bool PlayoutError() const override { |
+ LOG(INFO) << __FUNCTION__; |
return false; |
} |
bool RecordingWarning() const override { |
+ LOG(INFO) << __FUNCTION__; |
return false; |
} |
bool RecordingError() const override { |
+ LOG(INFO) << __FUNCTION__; |
return false; |
} |
- void ClearPlayoutWarning() override {} |
+ void ClearPlayoutWarning() override { LOG(INFO) << __FUNCTION__; } |
- void ClearPlayoutError() override {} |
+ void ClearPlayoutError() override { LOG(INFO) << __FUNCTION__; } |
- void ClearRecordingWarning() override {} |
+ void ClearRecordingWarning() override { LOG(INFO) << __FUNCTION__; } |
- void ClearRecordingError() override {} |
+ void ClearRecordingError() override { LOG(INFO) << __FUNCTION__; } |
void AttachAudioBuffer(AudioDeviceBuffer* audioBuffer) override { |
+ LOG(INFO) << __FUNCTION__; |
output_.AttachAudioBuffer(audioBuffer); |
input_.AttachAudioBuffer(audioBuffer); |
} |
@@ -452,10 +491,12 @@ class AudioDeviceTemplate : public AudioDeviceGeneric { |
// Returns true if the device both supports built in AEC and the device |
// is not blacklisted. |
bool BuiltInAECIsAvailable() const override { |
+ LOG(INFO) << __FUNCTION__; |
return audio_manager_->IsAcousticEchoCancelerSupported(); |
} |
int32_t EnableBuiltInAEC(bool enable) override { |
+ LOG(INFO) << __FUNCTION__; |
henrika_webrtc
2016/06/27 07:42:53
We want to log the state as well. Don't think that
Max Morin WebRTC
2016/06/27 13:05:46
Done.
|
RTC_CHECK(BuiltInAECIsAvailable()) << "HW AEC is not available"; |
return input_.EnableBuiltInAEC(enable); |
} |
@@ -463,10 +504,12 @@ class AudioDeviceTemplate : public AudioDeviceGeneric { |
// Returns true if the device both supports built in AGC and the device |
// is not blacklisted. |
bool BuiltInAGCIsAvailable() const override { |
+ LOG(INFO) << __FUNCTION__; |
return audio_manager_->IsAutomaticGainControlSupported(); |
} |
int32_t EnableBuiltInAGC(bool enable) override { |
+ LOG(INFO) << __FUNCTION__; |
henrika_webrtc
2016/06/27 07:42:53
log state
Max Morin WebRTC
2016/06/27 13:05:46
Done.
|
RTC_CHECK(BuiltInAGCIsAvailable()) << "HW AGC is not available"; |
return input_.EnableBuiltInAGC(enable); |
} |
@@ -474,10 +517,12 @@ class AudioDeviceTemplate : public AudioDeviceGeneric { |
// Returns true if the device both supports built in NS and the device |
// is not blacklisted. |
bool BuiltInNSIsAvailable() const override { |
+ LOG(INFO) << __FUNCTION__; |
return audio_manager_->IsNoiseSuppressorSupported(); |
} |
int32_t EnableBuiltInNS(bool enable) override { |
+ LOG(INFO) << __FUNCTION__; |
henrika_webrtc
2016/06/27 07:42:53
log state
Max Morin WebRTC
2016/06/27 13:05:46
Done.
|
RTC_CHECK(BuiltInNSIsAvailable()) << "HW NS is not available"; |
return input_.EnableBuiltInNS(enable); |
} |