Merge "Check for bad attributes in StreamRecorder." into oreo-cts-dev
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/audio/USBAudioPeripheralRecordActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/audio/USBAudioPeripheralRecordActivity.java
index 428c475..9a01b35 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/audio/USBAudioPeripheralRecordActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/audio/USBAudioPeripheralRecordActivity.java
@@ -146,9 +146,10 @@
case R.id.uap_recordRecordBtn:
Log.i(TAG, "Record Button Pressed");
if (!isPlaying()) {
- startRecording(false);
- mRecordBtn.setText(getString(R.string.audio_uap_record_stopBtn));
- mRecordLoopbackBtn.setEnabled(false);
+ if (startRecording(false)) {
+ mRecordBtn.setText(getString(R.string.audio_uap_record_stopBtn));
+ mRecordLoopbackBtn.setEnabled(false);
+ }
} else {
stopRecording();
mRecordBtn.setText(getString(R.string.audio_uap_record_recordBtn));
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/audio/audiolib/AudioUtils.java b/apps/CtsVerifier/src/com/android/cts/verifier/audio/audiolib/AudioUtils.java
index 002f460..7190af9 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/audio/audiolib/AudioUtils.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/audio/audiolib/AudioUtils.java
@@ -19,6 +19,7 @@
import android.media.AudioFormat;
import android.media.AudioRecord;
import android.media.AudioTrack;
+import android.util.Log;
// TODO - This functionality probably exists in the framework function. Remove this and
// use that instead.
@@ -31,7 +32,10 @@
}
public static int countToIndexMask(int chanCount) {
- return (1 << chanCount) - 1;
+ // From the documentation for AudioFormat:
+ // The canonical channel index masks by channel count are given by the formula
+ // (1 << channelCount) - 1.
+ return (1 << chanCount) - 1;
}
public static int countToOutPositionMask(int channelCount) {
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/audio/audiolib/StreamRecorder.java b/apps/CtsVerifier/src/com/android/cts/verifier/audio/audiolib/StreamRecorder.java
index ed25743..dc73543 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/audio/audiolib/StreamRecorder.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/audio/audiolib/StreamRecorder.java
@@ -121,8 +121,8 @@
mSampleRate = sampleRate;
int chanMask = AudioUtils.countToIndexMask(numChans);
- int bufferSizeInBytes =
- AudioRecord.getMinBufferSize(mSampleRate, chanMask, AudioFormat.ENCODING_PCM_FLOAT);
+ int bufferSizeInBytes = 2048; // Some, non-critical value
+
try {
mAudioRecord = new AudioRecord.Builder()
.setAudioFormat(new AudioFormat.Builder()