Consolidate libaudioclient buffers p1
Prepare for libaudioclient buffer refactor by updating
clients of libaudioclient to use new buffer interface.
libaudioclient
- Wrap existing buffers with new interface
- Modify internal calls to be compatible with wrap
AAudio
- Update to use new buffer interface
- Update record to use callback
TrackPlayerBase
- Used for SLES (in different repo). Update to use sp<>
ToneGenerator/MediaPlayerService/AudioPlayer
- Update to use new buffer interface
StageFright
- Update to new callback interface
- Update to use new buffer interface
Bug: 216175830 - shared buffer
Bug: 199156212 - callback interface
Test: atest AudioTrackTest AudioRecordTest
atest AudioTrackOffloadTest
OboeTester non-exclusive, non-MMAP, power-saving for both
AAudio and SLES, input and output
No-Typo-Check: Existing class members
Change-Id: Ib1241f2e530bc509b2d4dde956ec5188f2287994
diff --git a/media/libaudioclient/AudioTrack.cpp b/media/libaudioclient/AudioTrack.cpp
index bdf3147..919d6d2 100644
--- a/media/libaudioclient/AudioTrack.cpp
+++ b/media/libaudioclient/AudioTrack.cpp
@@ -293,7 +293,7 @@
size_t onMoreData(const AudioTrack::Buffer & buffer) override {
AudioTrack::Buffer copy = buffer;
mCallback(AudioTrack::EVENT_MORE_DATA, mData, static_cast<void*>(©));
- return copy.size;
+ return copy.size();
}
void onUnderrun() override {
mCallback(AudioTrack::EVENT_UNDERRUN, mData, nullptr);
@@ -319,7 +319,7 @@
size_t onCanWriteMoreData(const AudioTrack::Buffer & buffer) override {
AudioTrack::Buffer copy = buffer;
mCallback(AudioTrack::EVENT_CAN_WRITE_MORE_DATA, mData, static_cast<void*>(©));
- return copy.size;
+ return copy.size();
}
};
}
@@ -2194,7 +2194,7 @@
}
if (mTransfer != TRANSFER_OBTAIN) {
audioBuffer->frameCount = 0;
- audioBuffer->size = 0;
+ audioBuffer->mSize = 0;
audioBuffer->raw = NULL;
if (nonContig != NULL) {
*nonContig = 0;
@@ -2286,7 +2286,7 @@
} while (((status == DEAD_OBJECT) || (status == NOT_ENOUGH_DATA)) && (tryCounter-- > 0));
audioBuffer->frameCount = buffer.mFrameCount;
- audioBuffer->size = buffer.mFrameCount * mFrameSize;
+ audioBuffer->mSize = buffer.mFrameCount * mFrameSize;
audioBuffer->raw = buffer.mRaw;
audioBuffer->sequence = oldSequence;
if (nonContig != NULL) {
@@ -2302,7 +2302,7 @@
return;
}
- size_t stepCount = audioBuffer->size / mFrameSize;
+ size_t stepCount = audioBuffer->mSize / mFrameSize;
if (stepCount == 0) {
return;
}
@@ -2382,8 +2382,8 @@
return ssize_t(err);
}
- size_t toWrite = audioBuffer.size;
- memcpy(audioBuffer.i8, buffer, toWrite);
+ size_t toWrite = audioBuffer.size();
+ memcpy(audioBuffer.raw, buffer, toWrite);
buffer = ((const char *) buffer) + toWrite;
userSize -= toWrite;
written += toWrite;
@@ -2740,11 +2740,11 @@
}
}
- size_t reqSize = audioBuffer.size;
+ size_t reqSize = audioBuffer.size();
if (mTransfer == TRANSFER_SYNC_NOTIF_CALLBACK) {
// when notifying client it can write more data, pass the total size that can be
// written in the next write() call, since it's not passed through the callback
- audioBuffer.size += nonContig;
+ audioBuffer.mSize += nonContig;
}
const size_t writtenSize = (mTransfer == TRANSFER_CALLBACK)
? callback->onMoreData(audioBuffer)
@@ -2809,7 +2809,7 @@
}
// releaseBuffer reads from audioBuffer.size
- audioBuffer.size = writtenSize;
+ audioBuffer.mSize = writtenSize;
size_t releasedFrames = writtenSize / mFrameSize;
audioBuffer.frameCount = releasedFrames;