Merge "AudioRecord:read() memcpy non PCM audio buffers" into main
diff --git a/media/libaudioclient/AudioRecord.cpp b/media/libaudioclient/AudioRecord.cpp
index c912d27..91bc700 100644
--- a/media/libaudioclient/AudioRecord.cpp
+++ b/media/libaudioclient/AudioRecord.cpp
@@ -1225,8 +1225,12 @@
}
size_t bytesRead = audioBuffer.frameCount * mFrameSize;
- memcpy_by_audio_format(buffer, mFormat, audioBuffer.raw, mServerConfig.format,
- audioBuffer.mSize / mServerSampleSize);
+ if (audio_is_linear_pcm(mFormat)) {
+ memcpy_by_audio_format(buffer, mFormat, audioBuffer.raw, mServerConfig.format,
+ audioBuffer.mSize / mServerSampleSize);
+ } else {
+ memcpy(buffer, audioBuffer.raw, audioBuffer.mSize);
+ }
buffer = ((char *) buffer) + bytesRead;
userSize -= bytesRead;
read += bytesRead;