From 796e17237b25d0e46ad89263eb09ab971b4d2074 Mon Sep 17 00:00:00 2001 From: henrika Date: Thu, 28 May 2015 14:18:33 +0200 Subject: [PATCH] Fixes crash in WebRtcAudioManager.setCommunicationMode BUG=b/21360598 R=tommi@webrtc.org Review URL: https://webrtc-codereview.appspot.com/53579004 Cr-Commit-Position: refs/heads/master@{#9311} --- .../audio_device/android/audio_manager.cc | 3 ++- .../audio_device/android/audio_manager.h | 18 +++++++++--------- .../audio_device/android/audio_record_jni.cc | 7 +++++-- 3 files changed, 16 insertions(+), 12 deletions(-) diff --git a/webrtc/modules/audio_device/android/audio_manager.cc b/webrtc/modules/audio_device/android/audio_manager.cc index b302cfe38a..2dc6e41700 100644 --- a/webrtc/modules/audio_device/android/audio_manager.cc +++ b/webrtc/modules/audio_device/android/audio_manager.cc @@ -51,7 +51,8 @@ void AudioManager::JavaAudioManager::Close() { } void AudioManager::JavaAudioManager::SetCommunicationMode(bool enable) { - audio_manager_->CallVoidMethod(set_communication_mode_, enable); + audio_manager_->CallVoidMethod(set_communication_mode_, + static_cast(enable)); } // AudioManager implementation diff --git a/webrtc/modules/audio_device/android/audio_manager.h b/webrtc/modules/audio_device/android/audio_manager.h index bc46f03cbc..5ec071625a 100644 --- a/webrtc/modules/audio_device/android/audio_manager.h +++ b/webrtc/modules/audio_device/android/audio_manager.h @@ -93,17 +93,17 @@ class AudioManager { public: JavaAudioManager(NativeRegistration* native_registration, rtc::scoped_ptr audio_manager); - ~JavaAudioManager(); + ~JavaAudioManager(); - bool Init(); - void Close(); - void SetCommunicationMode(bool enable); + bool Init(); + void Close(); + void SetCommunicationMode(bool enable); - private: - rtc::scoped_ptr audio_manager_; - jmethodID init_; - jmethodID dispose_; - jmethodID set_communication_mode_; + private: + rtc::scoped_ptr audio_manager_; + jmethodID init_; + jmethodID dispose_; + jmethodID set_communication_mode_; }; AudioManager(); diff --git a/webrtc/modules/audio_device/android/audio_record_jni.cc b/webrtc/modules/audio_device/android/audio_record_jni.cc index e829781bfd..637f5f827b 100644 --- a/webrtc/modules/audio_device/android/audio_record_jni.cc +++ b/webrtc/modules/audio_device/android/audio_record_jni.cc @@ -40,7 +40,9 @@ AudioRecordJni::JavaAudioRecord::~JavaAudioRecord() {} int AudioRecordJni::JavaAudioRecord::InitRecording( int sample_rate, int channels) { - return audio_record_->CallIntMethod(init_recording_, sample_rate, channels); + return audio_record_->CallIntMethod(init_recording_, + static_cast(sample_rate), + static_cast(channels)); } bool AudioRecordJni::JavaAudioRecord::StartRecording() { @@ -52,7 +54,8 @@ bool AudioRecordJni::JavaAudioRecord::StopRecording() { } bool AudioRecordJni::JavaAudioRecord::EnableBuiltInAEC(bool enable) { - return audio_record_->CallBooleanMethod(enable_built_in_aec_, enable); + return audio_record_->CallBooleanMethod(enable_built_in_aec_, + static_cast(enable)); } // AudioRecordJni implementation.