Merge "AudioRecord: filter attributes" into lmp-mr1-dev

This commit is contained in:
Jean-Michel Trivi
2014-12-22 18:55:39 +00:00
committed by Android (Google) Code Review

View File

@@ -273,18 +273,23 @@ public class AudioRecord
mInitializationLooper = Looper.getMainLooper();
}
mAudioAttributes = attributes;
// is this AudioRecord using REMOTE_SUBMIX at full volume?
if (mAudioAttributes.getCapturePreset() == MediaRecorder.AudioSource.REMOTE_SUBMIX) {
final Iterator<String> tagsIter = mAudioAttributes.getTags().iterator();
if (attributes.getCapturePreset() == MediaRecorder.AudioSource.REMOTE_SUBMIX) {
final AudioAttributes.Builder filteredAttr = new AudioAttributes.Builder();
final Iterator<String> tagsIter = attributes.getTags().iterator();
while (tagsIter.hasNext()) {
if (tagsIter.next().equalsIgnoreCase(SUBMIX_FIXED_VOLUME)) {
final String tag = tagsIter.next();
if (tag.equalsIgnoreCase(SUBMIX_FIXED_VOLUME)) {
mIsSubmixFullVolume = true;
Log.v(TAG, "Will record from REMOTE_SUBMIX at full fixed volume");
break;
} else { // SUBMIX_FIXED_VOLUME: is not to be propagated to the native layers
filteredAttr.addTag(tag);
}
}
filteredAttr.setInternalCapturePreset(attributes.getCapturePreset());
mAudioAttributes = filteredAttr.build();
} else {
mAudioAttributes = attributes;
}
int rate = 0;