| Index: webrtc/modules/audio_device/android/java/src/org/webrtc/voiceengine/WebRtcAudioRecord.java
|
| diff --git a/webrtc/modules/audio_device/android/java/src/org/webrtc/voiceengine/WebRtcAudioRecord.java b/webrtc/modules/audio_device/android/java/src/org/webrtc/voiceengine/WebRtcAudioRecord.java
|
| index f81bab3e93b3e4676e9c8959e3e310b7a3199002..990c3d46b17f5886697bf39c16fe344df8944b92 100644
|
| --- a/webrtc/modules/audio_device/android/java/src/org/webrtc/voiceengine/WebRtcAudioRecord.java
|
| +++ b/webrtc/modules/audio_device/android/java/src/org/webrtc/voiceengine/WebRtcAudioRecord.java
|
| @@ -145,6 +145,10 @@ class WebRtcAudioRecord {
|
| Loge("RECORD_AUDIO permission is missing");
|
| return -1;
|
| }
|
| + if (audioRecord != null) {
|
| + Loge("InitRecording() called twice without StopRecording()");
|
| + return -1;
|
| + }
|
| final int bytesPerFrame = channels * (BITS_PER_SAMPLE / 8);
|
| final int framesPerBuffer = sampleRate / BUFFERS_PER_SECOND;
|
| byteBuffer = ByteBuffer.allocateDirect(bytesPerFrame * framesPerBuffer);
|
| @@ -164,11 +168,6 @@ class WebRtcAudioRecord {
|
| AudioFormat.ENCODING_PCM_16BIT);
|
| Logd("AudioRecord.getMinBufferSize: " + minBufferSize);
|
|
|
| - if (aec != null) {
|
| - aec.release();
|
| - aec = null;
|
| - }
|
| - assertTrue(audioRecord == null);
|
|
|
| int bufferSizeInBytes = Math.max(byteBuffer.capacity(), minBufferSize);
|
| Logd("bufferSizeInBytes: " + bufferSizeInBytes);
|
| @@ -180,10 +179,14 @@ class WebRtcAudioRecord {
|
| bufferSizeInBytes);
|
|
|
| } catch (IllegalArgumentException e) {
|
| - Logd(e.getMessage());
|
| + Loge(e.getMessage());
|
| + return -1;
|
| + }
|
| + if (audioRecord == null ||
|
| + audioRecord.getState() != AudioRecord.STATE_INITIALIZED) {
|
| + Loge("Failed to create a new AudioRecord instance");
|
| return -1;
|
| }
|
| - assertTrue(audioRecord.getState() == AudioRecord.STATE_INITIALIZED);
|
|
|
| Logd("AudioRecord " +
|
| "session ID: " + audioRecord.getAudioSessionId() + ", " +
|
|
|