AAudio: add setBufferCapacity()
This is needed so that an app can request a larger buffer.
Also fix a bug related to passing configuration data to the service.
Test: test_aaudio.cpp
Change-Id: Idd3066c84f6bac76a5d545b12081bc311025a6c3
Signed-off-by: Phil Burk <philburk@google.com>
diff --git a/services/oboeservice/AAudioServiceStreamFakeHal.cpp b/services/oboeservice/AAudioServiceStreamFakeHal.cpp
index 627a504..1caeb3f 100644
--- a/services/oboeservice/AAudioServiceStreamFakeHal.cpp
+++ b/services/oboeservice/AAudioServiceStreamFakeHal.cpp
@@ -53,13 +53,14 @@
}
aaudio_result_t AAudioServiceStreamFakeHal::open(aaudio::AAudioStreamRequest &request,
- aaudio::AAudioStreamConfiguration &configuration) {
+ aaudio::AAudioStreamConfiguration &configurationOutput) {
// Open stream on HAL and pass information about the ring buffer to the client.
mmap_buffer_info mmapInfo;
aaudio_result_t error;
// Open HAL
- error = fake_hal_open(CARD_ID, DEVICE_ID, &mStreamId);
+ int bufferCapacity = request.getConfiguration().getBufferCapacity();
+ error = fake_hal_open(CARD_ID, DEVICE_ID, bufferCapacity, &mStreamId);
if(error < 0) {
ALOGE("Could not open card %d, device %d", CARD_ID, DEVICE_ID);
return error;
@@ -87,9 +88,9 @@
mmapInfo.buffer_capacity_in_bytes);
// Fill in AAudioStreamConfiguration
- configuration.setSampleRate(mSampleRate);
- configuration.setSamplesPerFrame(mmapInfo.channel_count);
- configuration.setAudioFormat(AAUDIO_FORMAT_PCM_I16);
+ configurationOutput.setSampleRate(mSampleRate);
+ configurationOutput.setSamplesPerFrame(mmapInfo.channel_count);
+ configurationOutput.setAudioFormat(AAUDIO_FORMAT_PCM_I16);
return AAUDIO_OK;
}