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

Side by Side Diff: webrtc/modules/audio_device/android/audio_record_jni.cc

Issue 2402883003: Removes usage of hardware AGC and any related APIs on Android (Closed)
Patch Set: Created 4 years, 2 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 unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2013 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2013 The WebRTC project authors. All Rights Reserved.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license 4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source 5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found 6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may 7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree. 8 * be found in the AUTHORS file in the root of the source tree.
9 */ 9 */
10 10
(...skipping 19 matching lines...) Expand all
30 30
31 // AudioRecordJni::JavaAudioRecord implementation. 31 // AudioRecordJni::JavaAudioRecord implementation.
32 AudioRecordJni::JavaAudioRecord::JavaAudioRecord( 32 AudioRecordJni::JavaAudioRecord::JavaAudioRecord(
33 NativeRegistration* native_reg, 33 NativeRegistration* native_reg,
34 std::unique_ptr<GlobalRef> audio_record) 34 std::unique_ptr<GlobalRef> audio_record)
35 : audio_record_(std::move(audio_record)), 35 : audio_record_(std::move(audio_record)),
36 init_recording_(native_reg->GetMethodId("initRecording", "(II)I")), 36 init_recording_(native_reg->GetMethodId("initRecording", "(II)I")),
37 start_recording_(native_reg->GetMethodId("startRecording", "()Z")), 37 start_recording_(native_reg->GetMethodId("startRecording", "()Z")),
38 stop_recording_(native_reg->GetMethodId("stopRecording", "()Z")), 38 stop_recording_(native_reg->GetMethodId("stopRecording", "()Z")),
39 enable_built_in_aec_(native_reg->GetMethodId("enableBuiltInAEC", "(Z)Z")), 39 enable_built_in_aec_(native_reg->GetMethodId("enableBuiltInAEC", "(Z)Z")),
40 enable_built_in_agc_(native_reg->GetMethodId("enableBuiltInAGC", "(Z)Z")),
41 enable_built_in_ns_(native_reg->GetMethodId("enableBuiltInNS", "(Z)Z")) {} 40 enable_built_in_ns_(native_reg->GetMethodId("enableBuiltInNS", "(Z)Z")) {}
42 41
43 AudioRecordJni::JavaAudioRecord::~JavaAudioRecord() {} 42 AudioRecordJni::JavaAudioRecord::~JavaAudioRecord() {}
44 43
45 int AudioRecordJni::JavaAudioRecord::InitRecording( 44 int AudioRecordJni::JavaAudioRecord::InitRecording(
46 int sample_rate, size_t channels) { 45 int sample_rate, size_t channels) {
47 return audio_record_->CallIntMethod(init_recording_, 46 return audio_record_->CallIntMethod(init_recording_,
48 static_cast<jint>(sample_rate), 47 static_cast<jint>(sample_rate),
49 static_cast<jint>(channels)); 48 static_cast<jint>(channels));
50 } 49 }
51 50
52 bool AudioRecordJni::JavaAudioRecord::StartRecording() { 51 bool AudioRecordJni::JavaAudioRecord::StartRecording() {
53 return audio_record_->CallBooleanMethod(start_recording_); 52 return audio_record_->CallBooleanMethod(start_recording_);
54 } 53 }
55 54
56 bool AudioRecordJni::JavaAudioRecord::StopRecording() { 55 bool AudioRecordJni::JavaAudioRecord::StopRecording() {
57 return audio_record_->CallBooleanMethod(stop_recording_); 56 return audio_record_->CallBooleanMethod(stop_recording_);
58 } 57 }
59 58
60 bool AudioRecordJni::JavaAudioRecord::EnableBuiltInAEC(bool enable) { 59 bool AudioRecordJni::JavaAudioRecord::EnableBuiltInAEC(bool enable) {
61 return audio_record_->CallBooleanMethod(enable_built_in_aec_, 60 return audio_record_->CallBooleanMethod(enable_built_in_aec_,
62 static_cast<jboolean>(enable)); 61 static_cast<jboolean>(enable));
63 } 62 }
64 63
65 bool AudioRecordJni::JavaAudioRecord::EnableBuiltInAGC(bool enable) {
66 return audio_record_->CallBooleanMethod(enable_built_in_agc_,
67 static_cast<jboolean>(enable));
68 }
69
70 bool AudioRecordJni::JavaAudioRecord::EnableBuiltInNS(bool enable) { 64 bool AudioRecordJni::JavaAudioRecord::EnableBuiltInNS(bool enable) {
71 return audio_record_->CallBooleanMethod(enable_built_in_ns_, 65 return audio_record_->CallBooleanMethod(enable_built_in_ns_,
72 static_cast<jboolean>(enable)); 66 static_cast<jboolean>(enable));
73 } 67 }
74 68
75 // AudioRecordJni implementation. 69 // AudioRecordJni implementation.
76 AudioRecordJni::AudioRecordJni(AudioManager* audio_manager) 70 AudioRecordJni::AudioRecordJni(AudioManager* audio_manager)
77 : j_environment_(JVM::GetInstance()->environment()), 71 : j_environment_(JVM::GetInstance()->environment()),
78 audio_manager_(audio_manager), 72 audio_manager_(audio_manager),
79 audio_parameters_(audio_manager->GetRecordAudioParameters()), 73 audio_parameters_(audio_manager->GetRecordAudioParameters()),
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after
194 ALOGD("total_delay_in_milliseconds: %d", total_delay_in_milliseconds_); 188 ALOGD("total_delay_in_milliseconds: %d", total_delay_in_milliseconds_);
195 } 189 }
196 190
197 int32_t AudioRecordJni::EnableBuiltInAEC(bool enable) { 191 int32_t AudioRecordJni::EnableBuiltInAEC(bool enable) {
198 ALOGD("EnableBuiltInAEC%s", GetThreadInfo().c_str()); 192 ALOGD("EnableBuiltInAEC%s", GetThreadInfo().c_str());
199 RTC_DCHECK(thread_checker_.CalledOnValidThread()); 193 RTC_DCHECK(thread_checker_.CalledOnValidThread());
200 return j_audio_record_->EnableBuiltInAEC(enable) ? 0 : -1; 194 return j_audio_record_->EnableBuiltInAEC(enable) ? 0 : -1;
201 } 195 }
202 196
203 int32_t AudioRecordJni::EnableBuiltInAGC(bool enable) { 197 int32_t AudioRecordJni::EnableBuiltInAGC(bool enable) {
204 ALOGD("EnableBuiltInAGC%s", GetThreadInfo().c_str()); 198 // TODO(henrika): possibly remove when no longer used by any client.
205 RTC_DCHECK(thread_checker_.CalledOnValidThread()); 199 FATAL() << "Should never be called";
206 return j_audio_record_->EnableBuiltInAGC(enable) ? 0 : -1; 200 return -1;
207 } 201 }
208 202
209 int32_t AudioRecordJni::EnableBuiltInNS(bool enable) { 203 int32_t AudioRecordJni::EnableBuiltInNS(bool enable) {
210 ALOGD("EnableBuiltInNS%s", GetThreadInfo().c_str()); 204 ALOGD("EnableBuiltInNS%s", GetThreadInfo().c_str());
211 RTC_DCHECK(thread_checker_.CalledOnValidThread()); 205 RTC_DCHECK(thread_checker_.CalledOnValidThread());
212 return j_audio_record_->EnableBuiltInNS(enable) ? 0 : -1; 206 return j_audio_record_->EnableBuiltInNS(enable) ? 0 : -1;
213 } 207 }
214 208
215 void JNICALL AudioRecordJni::CacheDirectBufferAddress( 209 void JNICALL AudioRecordJni::CacheDirectBufferAddress(
216 JNIEnv* env, jobject obj, jobject byte_buffer, jlong nativeAudioRecord) { 210 JNIEnv* env, jobject obj, jobject byte_buffer, jlong nativeAudioRecord) {
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
253 // of |playDelayMs| and |recDelayMs|, hence the distributions does not matter. 247 // of |playDelayMs| and |recDelayMs|, hence the distributions does not matter.
254 audio_device_buffer_->SetVQEData(total_delay_in_milliseconds_, 248 audio_device_buffer_->SetVQEData(total_delay_in_milliseconds_,
255 0, // recDelayMs 249 0, // recDelayMs
256 0); // clockDrift 250 0); // clockDrift
257 if (audio_device_buffer_->DeliverRecordedData() == -1) { 251 if (audio_device_buffer_->DeliverRecordedData() == -1) {
258 ALOGE("AudioDeviceBuffer::DeliverRecordedData failed!"); 252 ALOGE("AudioDeviceBuffer::DeliverRecordedData failed!");
259 } 253 }
260 } 254 }
261 255
262 } // namespace webrtc 256 } // namespace webrtc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698