libaaudio: changes for API council
Removed typedefs like aaudio_sample_rate_t
Removed use of handles. Just pass back opaque pointers.
Simplified gettersi in Stream.
Removed getters from Builder.
Update libaaudio.map.txt
Test: CTS test_aaudio.cpp
Change-Id: I63eaec3e5a8ecc516cfc1f950f4b4f54df1bd518
Signed-off-by: Phil Burk <philburk@google.com>
diff --git a/media/libaaudio/src/legacy/AudioStreamRecord.cpp b/media/libaaudio/src/legacy/AudioStreamRecord.cpp
index 17d0a54..dd040a0 100644
--- a/media/libaaudio/src/legacy/AudioStreamRecord.cpp
+++ b/media/libaaudio/src/legacy/AudioStreamRecord.cpp
@@ -177,11 +177,11 @@
}
aaudio_result_t AudioStreamRecord::read(void *buffer,
- aaudio_size_frames_t numFrames,
- aaudio_nanoseconds_t timeoutNanoseconds)
+ int32_t numFrames,
+ int64_t timeoutNanoseconds)
{
- aaudio_size_frames_t bytesPerFrame = getBytesPerFrame();
- aaudio_size_bytes_t numBytes;
+ int32_t bytesPerFrame = getBytesPerFrame();
+ int32_t numBytes;
aaudio_result_t result = AAudioConvert_framesToBytes(numFrames, bytesPerFrame, &numBytes);
if (result != AAUDIO_OK) {
return result;
@@ -195,25 +195,23 @@
} else if (bytesRead < 0) {
return AAudioConvert_androidToAAudioResult(bytesRead);
}
- aaudio_size_frames_t framesRead = (aaudio_size_frames_t)(bytesRead / bytesPerFrame);
+ int32_t framesRead = (int32_t)(bytesRead / bytesPerFrame);
return (aaudio_result_t) framesRead;
}
-aaudio_result_t AudioStreamRecord::setBufferSize(aaudio_size_frames_t requestedFrames,
- aaudio_size_frames_t *actualFrames)
+aaudio_result_t AudioStreamRecord::setBufferSize(int32_t requestedFrames)
{
- *actualFrames = getBufferCapacity();
- return AAUDIO_OK;
+ return getBufferSize();
}
-aaudio_size_frames_t AudioStreamRecord::getBufferSize() const
+int32_t AudioStreamRecord::getBufferSize() const
{
return getBufferCapacity(); // TODO implement in AudioRecord?
}
-aaudio_size_frames_t AudioStreamRecord::getBufferCapacity() const
+int32_t AudioStreamRecord::getBufferCapacity() const
{
- return static_cast<aaudio_size_frames_t>(mAudioRecord->frameCount());
+ return static_cast<int32_t>(mAudioRecord->frameCount());
}
int32_t AudioStreamRecord::getXRunCount() const
@@ -221,7 +219,7 @@
return AAUDIO_ERROR_UNIMPLEMENTED; // TODO implement when AudioRecord supports it
}
-aaudio_size_frames_t AudioStreamRecord::getFramesPerBurst() const
+int32_t AudioStreamRecord::getFramesPerBurst() const
{
return 192; // TODO add query to AudioRecord.cpp
}
diff --git a/media/libaaudio/src/legacy/AudioStreamRecord.h b/media/libaaudio/src/legacy/AudioStreamRecord.h
index a2ac9f3..c8d389b 100644
--- a/media/libaaudio/src/legacy/AudioStreamRecord.h
+++ b/media/libaaudio/src/legacy/AudioStreamRecord.h
@@ -44,25 +44,24 @@
virtual aaudio_result_t requestStop() override;
virtual aaudio_result_t getTimestamp(clockid_t clockId,
- aaudio_position_frames_t *framePosition,
- aaudio_nanoseconds_t *timeNanoseconds) override {
+ int64_t *framePosition,
+ int64_t *timeNanoseconds) override {
return AAUDIO_ERROR_UNIMPLEMENTED; // TODO
}
virtual aaudio_result_t read(void *buffer,
- aaudio_size_frames_t numFrames,
- aaudio_nanoseconds_t timeoutNanoseconds) override;
+ int32_t numFrames,
+ int64_t timeoutNanoseconds) override;
- virtual aaudio_result_t setBufferSize(aaudio_size_frames_t requestedFrames,
- aaudio_size_frames_t *actualFrames) override;
+ virtual aaudio_result_t setBufferSize(int32_t requestedFrames) override;
- virtual aaudio_size_frames_t getBufferSize() const override;
+ virtual int32_t getBufferSize() const override;
- virtual aaudio_size_frames_t getBufferCapacity() const override;
+ virtual int32_t getBufferCapacity() const override;
virtual int32_t getXRunCount() const override;
- virtual aaudio_size_frames_t getFramesPerBurst() const override;
+ virtual int32_t getFramesPerBurst() const override;
virtual aaudio_result_t updateState() override;
@@ -70,7 +69,7 @@
android::sp<android::AudioRecord> mAudioRecord;
// TODO add 64-bit position reporting to AudioRecord and use it.
aaudio_wrapping_frames_t mPositionWhenStarting = 0;
- android::String16 mOpPackageName;
+ android::String16 mOpPackageName;
};
} /* namespace aaudio */
diff --git a/media/libaaudio/src/legacy/AudioStreamTrack.cpp b/media/libaaudio/src/legacy/AudioStreamTrack.cpp
index b7d8664..e0a04c3 100644
--- a/media/libaaudio/src/legacy/AudioStreamTrack.cpp
+++ b/media/libaaudio/src/legacy/AudioStreamTrack.cpp
@@ -221,11 +221,11 @@
}
aaudio_result_t AudioStreamTrack::write(const void *buffer,
- aaudio_size_frames_t numFrames,
- aaudio_nanoseconds_t timeoutNanoseconds)
+ int32_t numFrames,
+ int64_t timeoutNanoseconds)
{
- aaudio_size_frames_t bytesPerFrame = getBytesPerFrame();
- aaudio_size_bytes_t numBytes;
+ int32_t bytesPerFrame = getBytesPerFrame();
+ int32_t numBytes;
aaudio_result_t result = AAudioConvert_framesToBytes(numFrames, bytesPerFrame, &numBytes);
if (result != AAUDIO_OK) {
return result;
@@ -240,31 +240,29 @@
ALOGE("invalid write, returned %d", (int)bytesWritten);
return AAudioConvert_androidToAAudioResult(bytesWritten);
}
- aaudio_size_frames_t framesWritten = (aaudio_size_frames_t)(bytesWritten / bytesPerFrame);
+ int32_t framesWritten = (int32_t)(bytesWritten / bytesPerFrame);
incrementFramesWritten(framesWritten);
return framesWritten;
}
-aaudio_result_t AudioStreamTrack::setBufferSize(aaudio_size_frames_t requestedFrames,
- aaudio_size_frames_t *actualFrames)
+aaudio_result_t AudioStreamTrack::setBufferSize(int32_t requestedFrames)
{
ssize_t result = mAudioTrack->setBufferSizeInFrames(requestedFrames);
- if (result != OK) {
+ if (result < 0) {
return AAudioConvert_androidToAAudioResult(result);
} else {
- *actualFrames = result;
- return AAUDIO_OK;
+ return result;
}
}
-aaudio_size_frames_t AudioStreamTrack::getBufferSize() const
+int32_t AudioStreamTrack::getBufferSize() const
{
- return static_cast<aaudio_size_frames_t>(mAudioTrack->getBufferSizeInFrames());
+ return static_cast<int32_t>(mAudioTrack->getBufferSizeInFrames());
}
-aaudio_size_frames_t AudioStreamTrack::getBufferCapacity() const
+int32_t AudioStreamTrack::getBufferCapacity() const
{
- return static_cast<aaudio_size_frames_t>(mAudioTrack->frameCount());
+ return static_cast<int32_t>(mAudioTrack->frameCount());
}
int32_t AudioStreamTrack::getXRunCount() const
@@ -277,7 +275,7 @@
return 192; // TODO add query to AudioTrack.cpp
}
-aaudio_position_frames_t AudioStreamTrack::getFramesRead() {
+int64_t AudioStreamTrack::getFramesRead() {
aaudio_wrapping_frames_t position;
status_t result;
switch (getState()) {
diff --git a/media/libaaudio/src/legacy/AudioStreamTrack.h b/media/libaaudio/src/legacy/AudioStreamTrack.h
index 73d0cac..1de07ce 100644
--- a/media/libaaudio/src/legacy/AudioStreamTrack.h
+++ b/media/libaaudio/src/legacy/AudioStreamTrack.h
@@ -46,31 +46,30 @@
virtual aaudio_result_t requestStop() override;
virtual aaudio_result_t getTimestamp(clockid_t clockId,
- aaudio_position_frames_t *framePosition,
- aaudio_nanoseconds_t *timeNanoseconds) override {
+ int64_t *framePosition,
+ int64_t *timeNanoseconds) override {
return AAUDIO_ERROR_UNIMPLEMENTED; // TODO call getTimestamp(ExtendedTimestamp *timestamp);
}
virtual aaudio_result_t write(const void *buffer,
- aaudio_size_frames_t numFrames,
- aaudio_nanoseconds_t timeoutNanoseconds) override;
+ int32_t numFrames,
+ int64_t timeoutNanoseconds) override;
- virtual aaudio_result_t setBufferSize(aaudio_size_frames_t requestedFrames,
- aaudio_size_frames_t *actualFrames) override;
- virtual aaudio_size_frames_t getBufferSize() const override;
- virtual aaudio_size_frames_t getBufferCapacity() const override;
- virtual aaudio_size_frames_t getFramesPerBurst()const override;
+ virtual aaudio_result_t setBufferSize(int32_t requestedFrames) override;
+ virtual int32_t getBufferSize() const override;
+ virtual int32_t getBufferCapacity() const override;
+ virtual int32_t getFramesPerBurst()const override;
virtual int32_t getXRunCount() const override;
- virtual aaudio_position_frames_t getFramesRead() override;
+ virtual int64_t getFramesRead() override;
virtual aaudio_result_t updateState() override;
private:
android::sp<android::AudioTrack> mAudioTrack;
// TODO add 64-bit position reporting to AudioRecord and use it.
- aaudio_wrapping_frames_t mPositionWhenStarting = 0;
- aaudio_wrapping_frames_t mPositionWhenPausing = 0;
+ aaudio_wrapping_frames_t mPositionWhenStarting = 0;
+ aaudio_wrapping_frames_t mPositionWhenPausing = 0;
};
} /* namespace aaudio */