libaaudio: API changes requested by council
Change AAudioStream to not be a pointer. Now it is just a struct.
Change AAudioStreamBuilder to not be a pointer. Now it is just a struct.
Change aaudio_audio_thread_proc_t to be a pointer to a proc.
Fix prototype of AAudioStream_getDeviceId().
Bug: 30210002
Test: CTS test_aaudio.cpp
Change-Id: Ia5a277a53ac64e93d75de4f196aa167998522c03
Signed-off-by: Phil Burk <philburk@google.com>
diff --git a/media/libaaudio/examples/write_sine/src/write_sine.cpp b/media/libaaudio/examples/write_sine/src/write_sine.cpp
index 9e6268a..511fe94 100644
--- a/media/libaaudio/examples/write_sine/src/write_sine.cpp
+++ b/media/libaaudio/examples/write_sine/src/write_sine.cpp
@@ -59,8 +59,8 @@
const aaudio_sharing_mode_t requestedSharingMode = AAUDIO_SHARING_MODE_EXCLUSIVE;
aaudio_sharing_mode_t actualSharingMode = AAUDIO_SHARING_MODE_SHARED;
- AAudioStreamBuilder aaudioBuilder = nullptr;
- AAudioStream aaudioStream = nullptr;
+ AAudioStreamBuilder *aaudioBuilder = nullptr;
+ AAudioStream *aaudioStream = nullptr;
aaudio_stream_state_t state = AAUDIO_STREAM_STATE_UNINITIALIZED;
int32_t framesPerBurst = 0;
int32_t framesToPlay = 0;
diff --git a/media/libaaudio/examples/write_sine/src/write_sine_threaded.cpp b/media/libaaudio/examples/write_sine/src/write_sine_threaded.cpp
index cc7ba5a..40e5016 100644
--- a/media/libaaudio/examples/write_sine/src/write_sine_threaded.cpp
+++ b/media/libaaudio/examples/write_sine/src/write_sine_threaded.cpp
@@ -217,8 +217,8 @@
}
private:
- AAudioStreamBuilder mBuilder = nullptr;
- AAudioStream mStream = nullptr;
+ AAudioStreamBuilder *mBuilder = nullptr;
+ AAudioStream *mStream = nullptr;
float *mOutputBuffer = nullptr;
int16_t *mConversionBuffer = nullptr;
diff --git a/media/libaaudio/include/aaudio/AAudio.h b/media/libaaudio/include/aaudio/AAudio.h
index 43b5205..921248a 100644
--- a/media/libaaudio/include/aaudio/AAudio.h
+++ b/media/libaaudio/include/aaudio/AAudio.h
@@ -27,11 +27,8 @@
extern "C" {
#endif
-typedef struct AAudioStreamStruct * AAudioStream;
-typedef struct AAudioStreamBuilderStruct * AAudioStreamBuilder;
-
-#define AAUDIO_STREAM_NONE ((AAudioStream)nullptr)
-#define AAUDIO_STREAM_BUILDER_NONE ((AAudioStreamBuilder)nullptr)
+typedef struct AAudioStreamStruct AAudioStream;
+typedef struct AAudioStreamBuilderStruct AAudioStreamBuilder;
#ifndef AAUDIO_API
#define AAUDIO_API /* export this symbol */
@@ -77,7 +74,7 @@
*
* AAudioStreamBuilder_delete() must be called when you are done using the builder.
*/
-AAUDIO_API aaudio_result_t AAudio_createStreamBuilder(AAudioStreamBuilder *builder);
+AAUDIO_API aaudio_result_t AAudio_createStreamBuilder(AAudioStreamBuilder** builder);
/**
* Request an audio device identified device using an ID.
@@ -88,7 +85,7 @@
* @param builder reference provided by AAudio_createStreamBuilder()
* @param deviceId device identifier or AAUDIO_DEVICE_UNSPECIFIED
*/
-AAUDIO_API void AAudioStreamBuilder_setDeviceId(AAudioStreamBuilder builder,
+AAUDIO_API void AAudioStreamBuilder_setDeviceId(AAudioStreamBuilder* builder,
int32_t deviceId);
/**
@@ -103,7 +100,7 @@
* Default is AAUDIO_UNSPECIFIED.
*/
-AAUDIO_API void AAudioStreamBuilder_setSampleRate(AAudioStreamBuilder builder,
+AAUDIO_API void AAudioStreamBuilder_setSampleRate(AAudioStreamBuilder* builder,
int32_t sampleRate);
/**
@@ -115,14 +112,14 @@
*
* Note, this quantity is sometimes referred to as "channel count".
*/
-AAUDIO_API void AAudioStreamBuilder_setSamplesPerFrame(AAudioStreamBuilder builder,
+AAUDIO_API void AAudioStreamBuilder_setSamplesPerFrame(AAudioStreamBuilder* builder,
int32_t samplesPerFrame);
/**
* Request a sample data format, for example AAUDIO_FORMAT_PCM_I16.
* The application should query for the actual format after the stream is opened.
*/
-AAUDIO_API void AAudioStreamBuilder_setFormat(AAudioStreamBuilder builder,
+AAUDIO_API void AAudioStreamBuilder_setFormat(AAudioStreamBuilder* builder,
aaudio_audio_format_t format);
/**
@@ -133,7 +130,7 @@
* @param builder reference provided by AAudio_createStreamBuilder()
* @param sharingMode AAUDIO_SHARING_MODE_LEGACY or AAUDIO_SHARING_MODE_EXCLUSIVE
*/
-AAUDIO_API void AAudioStreamBuilder_setSharingMode(AAudioStreamBuilder builder,
+AAUDIO_API void AAudioStreamBuilder_setSharingMode(AAudioStreamBuilder* builder,
aaudio_sharing_mode_t sharingMode);
/**
@@ -142,7 +139,7 @@
* @param builder reference provided by AAudio_createStreamBuilder()
* @param direction AAUDIO_DIRECTION_OUTPUT or AAUDIO_DIRECTION_INPUT
*/
-AAUDIO_API void AAudioStreamBuilder_setDirection(AAudioStreamBuilder builder,
+AAUDIO_API void AAudioStreamBuilder_setDirection(AAudioStreamBuilder* builder,
aaudio_direction_t direction);
/**
@@ -154,7 +151,7 @@
* @param builder reference provided by AAudio_createStreamBuilder()
* @param frames the desired buffer capacity in frames or AAUDIO_UNSPECIFIED
*/
-AAUDIO_API void AAudioStreamBuilder_setBufferCapacityInFrames(AAudioStreamBuilder builder,
+AAUDIO_API void AAudioStreamBuilder_setBufferCapacityInFrames(AAudioStreamBuilder* builder,
int32_t frames);
/**
@@ -167,8 +164,8 @@
* @param stream pointer to a variable to receive the new stream reference
* @return AAUDIO_OK or a negative error.
*/
-AAUDIO_API aaudio_result_t AAudioStreamBuilder_openStream(AAudioStreamBuilder builder,
- AAudioStream *stream);
+AAUDIO_API aaudio_result_t AAudioStreamBuilder_openStream(AAudioStreamBuilder* builder,
+ AAudioStream** stream);
/**
* Delete the resources associated with the StreamBuilder.
@@ -176,7 +173,7 @@
* @param builder reference provided by AAudio_createStreamBuilder()
* @return AAUDIO_OK or a negative error.
*/
-AAUDIO_API aaudio_result_t AAudioStreamBuilder_delete(AAudioStreamBuilder builder);
+AAUDIO_API aaudio_result_t AAudioStreamBuilder_delete(AAudioStreamBuilder* builder);
// ============================================================
// Stream Control
@@ -188,7 +185,7 @@
* @param stream reference provided by AAudioStreamBuilder_openStream()
* @return AAUDIO_OK or a negative error.
*/
-AAUDIO_API aaudio_result_t AAudioStream_close(AAudioStream stream);
+AAUDIO_API aaudio_result_t AAudioStream_close(AAudioStream* stream);
/**
* Asynchronously request to start playing the stream. For output streams, one should
@@ -199,7 +196,7 @@
* @param stream reference provided by AAudioStreamBuilder_openStream()
* @return AAUDIO_OK or a negative error.
*/
-AAUDIO_API aaudio_result_t AAudioStream_requestStart(AAudioStream stream);
+AAUDIO_API aaudio_result_t AAudioStream_requestStart(AAudioStream* stream);
/**
* Asynchronous request for the stream to pause.
@@ -210,7 +207,7 @@
* @param stream reference provided by AAudioStreamBuilder_openStream()
* @return AAUDIO_OK or a negative error.
*/
-AAUDIO_API aaudio_result_t AAudioStream_requestPause(AAudioStream stream);
+AAUDIO_API aaudio_result_t AAudioStream_requestPause(AAudioStream* stream);
/**
* Asynchronous request for the stream to flush.
@@ -222,7 +219,7 @@
* @param stream reference provided by AAudioStreamBuilder_openStream()
* @return AAUDIO_OK or a negative error.
*/
-AAUDIO_API aaudio_result_t AAudioStream_requestFlush(AAudioStream stream);
+AAUDIO_API aaudio_result_t AAudioStream_requestFlush(AAudioStream* stream);
/**
* Asynchronous request for the stream to stop.
@@ -232,7 +229,7 @@
* @param stream reference provided by AAudioStreamBuilder_openStream()
* @return AAUDIO_OK or a negative error.
*/
-AAUDIO_API aaudio_result_t AAudioStream_requestStop(AAudioStream stream);
+AAUDIO_API aaudio_result_t AAudioStream_requestStop(AAudioStream* stream);
/**
* Query the current state of the client, eg. AAUDIO_STREAM_STATE_PAUSING
@@ -245,7 +242,7 @@
* @param stream reference provided by AAudioStreamBuilder_openStream()
* @param state pointer to a variable that will be set to the current state
*/
-AAUDIO_API aaudio_stream_state_t AAudioStream_getState(AAudioStream stream);
+AAUDIO_API aaudio_stream_state_t AAudioStream_getState(AAudioStream* stream);
/**
* Wait until the current state no longer matches the input state.
@@ -267,7 +264,7 @@
* @param timeoutNanoseconds Maximum number of nanoseconds to wait for completion.
* @return AAUDIO_OK or a negative error.
*/
-AAUDIO_API aaudio_result_t AAudioStream_waitForStateChange(AAudioStream stream,
+AAUDIO_API aaudio_result_t AAudioStream_waitForStateChange(AAudioStream* stream,
aaudio_stream_state_t inputState,
aaudio_stream_state_t *nextState,
int64_t timeoutNanoseconds);
@@ -294,7 +291,7 @@
* @param timeoutNanoseconds Maximum number of nanoseconds to wait for completion.
* @return The number of frames actually read or a negative error.
*/
-AAUDIO_API aaudio_result_t AAudioStream_read(AAudioStream stream,
+AAUDIO_API aaudio_result_t AAudioStream_read(AAudioStream* stream,
void *buffer,
int32_t numFrames,
int64_t timeoutNanoseconds);
@@ -317,7 +314,7 @@
* @param timeoutNanoseconds Maximum number of nanoseconds to wait for completion.
* @return The number of frames actually written or a negative error.
*/
-AAUDIO_API aaudio_result_t AAudioStream_write(AAudioStream stream,
+AAUDIO_API aaudio_result_t AAudioStream_write(AAudioStream* stream,
const void *buffer,
int32_t numFrames,
int64_t timeoutNanoseconds);
@@ -327,7 +324,7 @@
// High priority audio threads
// ============================================================
-typedef void *(aaudio_audio_thread_proc_t)(void *);
+typedef void *(*aaudio_audio_thread_proc_t)(void *);
/**
* Create a thread associated with a stream. The thread has special properties for
@@ -348,9 +345,9 @@
* @param arg an argument that will be passed to your thread entry point
* @return AAUDIO_OK or a negative error.
*/
-AAUDIO_API aaudio_result_t AAudioStream_createThread(AAudioStream stream,
+AAUDIO_API aaudio_result_t AAudioStream_createThread(AAudioStream* stream,
int64_t periodNanoseconds,
- aaudio_audio_thread_proc_t *threadProc,
+ aaudio_audio_thread_proc_t threadProc,
void *arg);
/**
@@ -361,7 +358,7 @@
* @param timeoutNanoseconds Maximum number of nanoseconds to wait for completion.
* @return AAUDIO_OK or a negative error.
*/
-AAUDIO_API aaudio_result_t AAudioStream_joinThread(AAudioStream stream,
+AAUDIO_API aaudio_result_t AAudioStream_joinThread(AAudioStream* stream,
void **returnArg,
int64_t timeoutNanoseconds);
@@ -385,7 +382,7 @@
* @param requestedFrames requested number of frames that can be filled without blocking
* @return actual buffer size in frames or a negative error
*/
-AAUDIO_API aaudio_result_t AAudioStream_setBufferSizeInFrames(AAudioStream stream,
+AAUDIO_API aaudio_result_t AAudioStream_setBufferSizeInFrames(AAudioStream* stream,
int32_t requestedFrames);
/**
@@ -394,7 +391,7 @@
* @param stream reference provided by AAudioStreamBuilder_openStream()
* @return buffer size in frames.
*/
-AAUDIO_API int32_t AAudioStream_getBufferSizeInFrames(AAudioStream stream);
+AAUDIO_API int32_t AAudioStream_getBufferSizeInFrames(AAudioStream* stream);
/**
* Query the number of frames that the application should read or write at
@@ -409,7 +406,7 @@
* @param stream reference provided by AAudioStreamBuilder_openStream()
* @return burst size
*/
-AAUDIO_API int32_t AAudioStream_getFramesPerBurst(AAudioStream stream);
+AAUDIO_API int32_t AAudioStream_getFramesPerBurst(AAudioStream* stream);
/**
* Query maximum buffer capacity in frames.
@@ -417,7 +414,7 @@
* @param stream reference provided by AAudioStreamBuilder_openStream()
* @return the buffer capacity in frames
*/
-AAUDIO_API int32_t AAudioStream_getBufferCapacityInFrames(AAudioStream stream);
+AAUDIO_API int32_t AAudioStream_getBufferCapacityInFrames(AAudioStream* stream);
/**
* An XRun is an Underrun or an Overrun.
@@ -431,13 +428,13 @@
* @param stream reference provided by AAudioStreamBuilder_openStream()
* @return the underrun or overrun count
*/
-AAUDIO_API int32_t AAudioStream_getXRunCount(AAudioStream stream);
+AAUDIO_API int32_t AAudioStream_getXRunCount(AAudioStream* stream);
/**
* @param stream reference provided by AAudioStreamBuilder_openStream()
* @return actual sample rate
*/
-AAUDIO_API int32_t AAudioStream_getSampleRate(AAudioStream stream);
+AAUDIO_API int32_t AAudioStream_getSampleRate(AAudioStream* stream);
/**
* The samplesPerFrame is also known as channelCount.
@@ -445,34 +442,32 @@
* @param stream reference provided by AAudioStreamBuilder_openStream()
* @return actual samples per frame
*/
-AAUDIO_API int32_t AAudioStream_getSamplesPerFrame(AAudioStream stream);
+AAUDIO_API int32_t AAudioStream_getSamplesPerFrame(AAudioStream* stream);
/**
* @param stream reference provided by AAudioStreamBuilder_openStream()
- * @param deviceId pointer to variable to receive the actual device ID
- * @return AAUDIO_OK or a negative error.
+ * @return actual device ID
*/
-AAUDIO_API int32_t AAudioStream_getDeviceId(AAudioStream stream,
- int32_t *deviceId);
+AAUDIO_API int32_t AAudioStream_getDeviceId(AAudioStream* stream);
/**
* @param stream reference provided by AAudioStreamBuilder_openStream()
* @return actual data format
*/
-AAUDIO_API aaudio_audio_format_t AAudioStream_getFormat(AAudioStream stream);
+AAUDIO_API aaudio_audio_format_t AAudioStream_getFormat(AAudioStream* stream);
/**
* Provide actual sharing mode.
* @param stream reference provided by AAudioStreamBuilder_openStream()
* @return actual sharing mode
*/
-AAUDIO_API aaudio_sharing_mode_t AAudioStream_getSharingMode(AAudioStream stream);
+AAUDIO_API aaudio_sharing_mode_t AAudioStream_getSharingMode(AAudioStream* stream);
/**
* @param stream reference provided by AAudioStreamBuilder_openStream()
* @return direction
*/
-AAUDIO_API aaudio_direction_t AAudioStream_getDirection(AAudioStream stream);
+AAUDIO_API aaudio_direction_t AAudioStream_getDirection(AAudioStream* stream);
/**
* Passes back the number of frames that have been written since the stream was created.
@@ -484,7 +479,7 @@
* @param stream reference provided by AAudioStreamBuilder_openStream()
* @return frames written
*/
-AAUDIO_API int64_t AAudioStream_getFramesWritten(AAudioStream stream);
+AAUDIO_API int64_t AAudioStream_getFramesWritten(AAudioStream* stream);
/**
* Passes back the number of frames that have been read since the stream was created.
@@ -496,7 +491,7 @@
* @param stream reference provided by AAudioStreamBuilder_openStream()
* @return frames read
*/
-AAUDIO_API int64_t AAudioStream_getFramesRead(AAudioStream stream);
+AAUDIO_API int64_t AAudioStream_getFramesRead(AAudioStream* stream);
/**
* Passes back the time at which a particular frame was presented.
@@ -520,7 +515,7 @@
* @param timeNanoseconds pointer to a variable to receive the time
* @return AAUDIO_OK or a negative error
*/
-AAUDIO_API aaudio_result_t AAudioStream_getTimestamp(AAudioStream stream,
+AAUDIO_API aaudio_result_t AAudioStream_getTimestamp(AAudioStream* stream,
clockid_t clockid,
int64_t *framePosition,
int64_t *timeNanoseconds);
diff --git a/media/libaaudio/src/core/AAudioAudio.cpp b/media/libaaudio/src/core/AAudioAudio.cpp
index 1208f66..52bad70 100644
--- a/media/libaaudio/src/core/AAudioAudio.cpp
+++ b/media/libaaudio/src/core/AAudioAudio.cpp
@@ -90,49 +90,49 @@
#undef AAUDIO_CASE_ENUM
-static AudioStream *convertAAudioStreamToAudioStream(AAudioStream stream)
+static AudioStream *convertAAudioStreamToAudioStream(AAudioStream* stream)
{
- return (AudioStream *) stream;
+ return (AudioStream*) stream;
}
-static AudioStreamBuilder *convertAAudioBuilderToStreamBuilder(AAudioStreamBuilder builder)
+static AudioStreamBuilder *convertAAudioBuilderToStreamBuilder(AAudioStreamBuilder* builder)
{
- return (AudioStreamBuilder *) builder;
+ return (AudioStreamBuilder*) builder;
}
-AAUDIO_API aaudio_result_t AAudio_createStreamBuilder(AAudioStreamBuilder *builder)
+AAUDIO_API aaudio_result_t AAudio_createStreamBuilder(AAudioStreamBuilder** builder)
{
ALOGD("AAudio_createStreamBuilder(): check sHandleTracker.isInitialized ()");
AudioStreamBuilder *audioStreamBuilder = new AudioStreamBuilder();
if (audioStreamBuilder == nullptr) {
return AAUDIO_ERROR_NO_MEMORY;
}
- *builder = (AAudioStreamBuilder) audioStreamBuilder;
+ *builder = (AAudioStreamBuilder*) audioStreamBuilder;
return AAUDIO_OK;
}
-AAUDIO_API void AAudioStreamBuilder_setDeviceId(AAudioStreamBuilder builder,
+AAUDIO_API void AAudioStreamBuilder_setDeviceId(AAudioStreamBuilder* builder,
int32_t deviceId)
{
AudioStreamBuilder *streamBuilder = convertAAudioBuilderToStreamBuilder(builder);;
streamBuilder->setDeviceId(deviceId);
}
-AAUDIO_API void AAudioStreamBuilder_setSampleRate(AAudioStreamBuilder builder,
+AAUDIO_API void AAudioStreamBuilder_setSampleRate(AAudioStreamBuilder* builder,
int32_t sampleRate)
{
AudioStreamBuilder *streamBuilder = convertAAudioBuilderToStreamBuilder(builder);;
streamBuilder->setSampleRate(sampleRate);
}
-AAUDIO_API void AAudioStreamBuilder_setSamplesPerFrame(AAudioStreamBuilder builder,
+AAUDIO_API void AAudioStreamBuilder_setSamplesPerFrame(AAudioStreamBuilder* builder,
int32_t samplesPerFrame)
{
AudioStreamBuilder *streamBuilder = convertAAudioBuilderToStreamBuilder(builder);;
streamBuilder->setSamplesPerFrame(samplesPerFrame);
}
-AAUDIO_API void AAudioStreamBuilder_setDirection(AAudioStreamBuilder builder,
+AAUDIO_API void AAudioStreamBuilder_setDirection(AAudioStreamBuilder* builder,
aaudio_direction_t direction)
{
AudioStreamBuilder *streamBuilder = convertAAudioBuilderToStreamBuilder(builder);;
@@ -140,21 +140,21 @@
}
-AAUDIO_API void AAudioStreamBuilder_setFormat(AAudioStreamBuilder builder,
+AAUDIO_API void AAudioStreamBuilder_setFormat(AAudioStreamBuilder* builder,
aaudio_audio_format_t format)
{
AudioStreamBuilder *streamBuilder = convertAAudioBuilderToStreamBuilder(builder);;
streamBuilder->setFormat(format);
}
-AAUDIO_API void AAudioStreamBuilder_setSharingMode(AAudioStreamBuilder builder,
+AAUDIO_API void AAudioStreamBuilder_setSharingMode(AAudioStreamBuilder* builder,
aaudio_sharing_mode_t sharingMode)
{
AudioStreamBuilder *streamBuilder = convertAAudioBuilderToStreamBuilder(builder);;
streamBuilder->setSharingMode(sharingMode);
}
-AAUDIO_API void AAudioStreamBuilder_setBufferCapacityInFrames(AAudioStreamBuilder builder,
+AAUDIO_API void AAudioStreamBuilder_setBufferCapacityInFrames(AAudioStreamBuilder* builder,
int32_t frames)
{
AudioStreamBuilder *streamBuilder = convertAAudioBuilderToStreamBuilder(builder);;
@@ -162,27 +162,27 @@
}
static aaudio_result_t AAudioInternal_openStream(AudioStreamBuilder *streamBuilder,
- AAudioStream *streamPtr)
+ AAudioStream** streamPtr)
{
AudioStream *audioStream = nullptr;
aaudio_result_t result = streamBuilder->build(&audioStream);
if (result != AAUDIO_OK) {
return result;
} else {
- *streamPtr = (AAudioStream) audioStream;
+ *streamPtr = (AAudioStream*) audioStream;
return AAUDIO_OK;
}
}
-AAUDIO_API aaudio_result_t AAudioStreamBuilder_openStream(AAudioStreamBuilder builder,
- AAudioStream *streamPtr)
+AAUDIO_API aaudio_result_t AAudioStreamBuilder_openStream(AAudioStreamBuilder* builder,
+ AAudioStream** streamPtr)
{
ALOGD("AAudioStreamBuilder_openStream(): builder = %p", builder);
AudioStreamBuilder *streamBuilder = COMMON_GET_FROM_BUILDER_OR_RETURN(streamPtr);
return AAudioInternal_openStream(streamBuilder, streamPtr);
}
-AAUDIO_API aaudio_result_t AAudioStreamBuilder_delete(AAudioStreamBuilder builder)
+AAUDIO_API aaudio_result_t AAudioStreamBuilder_delete(AAudioStreamBuilder* builder)
{
AudioStreamBuilder *streamBuilder = convertAAudioBuilderToStreamBuilder(builder);
if (streamBuilder != nullptr) {
@@ -192,7 +192,7 @@
return AAUDIO_ERROR_INVALID_HANDLE;
}
-AAUDIO_API aaudio_result_t AAudioStream_close(AAudioStream stream)
+AAUDIO_API aaudio_result_t AAudioStream_close(AAudioStream* stream)
{
AudioStream *audioStream = convertAAudioStreamToAudioStream(stream);
ALOGD("AAudioStream_close(%p)", stream);
@@ -204,35 +204,35 @@
return AAUDIO_ERROR_INVALID_HANDLE;
}
-AAUDIO_API aaudio_result_t AAudioStream_requestStart(AAudioStream stream)
+AAUDIO_API aaudio_result_t AAudioStream_requestStart(AAudioStream* stream)
{
AudioStream *audioStream = convertAAudioStreamToAudioStream(stream);
ALOGD("AAudioStream_requestStart(%p)", stream);
return audioStream->requestStart();
}
-AAUDIO_API aaudio_result_t AAudioStream_requestPause(AAudioStream stream)
+AAUDIO_API aaudio_result_t AAudioStream_requestPause(AAudioStream* stream)
{
AudioStream *audioStream = convertAAudioStreamToAudioStream(stream);
ALOGD("AAudioStream_requestPause(%p)", stream);
return audioStream->requestPause();
}
-AAUDIO_API aaudio_result_t AAudioStream_requestFlush(AAudioStream stream)
+AAUDIO_API aaudio_result_t AAudioStream_requestFlush(AAudioStream* stream)
{
AudioStream *audioStream = convertAAudioStreamToAudioStream(stream);
ALOGD("AAudioStream_requestFlush(%p)", stream);
return audioStream->requestFlush();
}
-AAUDIO_API aaudio_result_t AAudioStream_requestStop(AAudioStream stream)
+AAUDIO_API aaudio_result_t AAudioStream_requestStop(AAudioStream* stream)
{
AudioStream *audioStream = convertAAudioStreamToAudioStream(stream);
ALOGD("AAudioStream_requestStop(%p)", stream);
return audioStream->requestStop();
}
-AAUDIO_API aaudio_result_t AAudioStream_waitForStateChange(AAudioStream stream,
+AAUDIO_API aaudio_result_t AAudioStream_waitForStateChange(AAudioStream* stream,
aaudio_stream_state_t inputState,
aaudio_stream_state_t *nextState,
int64_t timeoutNanoseconds)
@@ -246,7 +246,7 @@
// Stream - non-blocking I/O
// ============================================================
-AAUDIO_API aaudio_result_t AAudioStream_read(AAudioStream stream,
+AAUDIO_API aaudio_result_t AAudioStream_read(AAudioStream* stream,
void *buffer,
int32_t numFrames,
int64_t timeoutNanoseconds)
@@ -267,7 +267,7 @@
return result;
}
-AAUDIO_API aaudio_result_t AAudioStream_write(AAudioStream stream,
+AAUDIO_API aaudio_result_t AAudioStream_write(AAudioStream* stream,
const void *buffer,
int32_t numFrames,
int64_t timeoutNanoseconds)
@@ -292,15 +292,15 @@
// Miscellaneous
// ============================================================
-AAUDIO_API aaudio_result_t AAudioStream_createThread(AAudioStream stream,
+AAUDIO_API aaudio_result_t AAudioStream_createThread(AAudioStream* stream,
int64_t periodNanoseconds,
- aaudio_audio_thread_proc_t *threadProc, void *arg)
+ aaudio_audio_thread_proc_t threadProc, void *arg)
{
AudioStream *audioStream = convertAAudioStreamToAudioStream(stream);
return audioStream->createThread(periodNanoseconds, threadProc, arg);
}
-AAUDIO_API aaudio_result_t AAudioStream_joinThread(AAudioStream stream,
+AAUDIO_API aaudio_result_t AAudioStream_joinThread(AAudioStream* stream,
void **returnArg,
int64_t timeoutNanoseconds)
{
@@ -312,92 +312,92 @@
// Stream - queries
// ============================================================
-AAUDIO_API int32_t AAudioStream_getSampleRate(AAudioStream stream)
+AAUDIO_API int32_t AAudioStream_getSampleRate(AAudioStream* stream)
{
AudioStream *audioStream = convertAAudioStreamToAudioStream(stream);
return audioStream->getSampleRate();
}
-AAUDIO_API int32_t AAudioStream_getSamplesPerFrame(AAudioStream stream)
+AAUDIO_API int32_t AAudioStream_getSamplesPerFrame(AAudioStream* stream)
{
AudioStream *audioStream = convertAAudioStreamToAudioStream(stream);
return audioStream->getSamplesPerFrame();
}
-AAUDIO_API aaudio_stream_state_t AAudioStream_getState(AAudioStream stream)
+AAUDIO_API aaudio_stream_state_t AAudioStream_getState(AAudioStream* stream)
{
AudioStream *audioStream = convertAAudioStreamToAudioStream(stream);
return audioStream->getState();
}
-AAUDIO_API aaudio_audio_format_t AAudioStream_getFormat(AAudioStream stream)
+AAUDIO_API aaudio_audio_format_t AAudioStream_getFormat(AAudioStream* stream)
{
AudioStream *audioStream = convertAAudioStreamToAudioStream(stream);
return audioStream->getFormat();
}
-AAUDIO_API aaudio_result_t AAudioStream_setBufferSizeInFrames(AAudioStream stream,
+AAUDIO_API aaudio_result_t AAudioStream_setBufferSizeInFrames(AAudioStream* stream,
int32_t requestedFrames)
{
AudioStream *audioStream = convertAAudioStreamToAudioStream(stream);
return audioStream->setBufferSize(requestedFrames);
}
-AAUDIO_API int32_t AAudioStream_getBufferSizeInFrames(AAudioStream stream)
+AAUDIO_API int32_t AAudioStream_getBufferSizeInFrames(AAudioStream* stream)
{
AudioStream *audioStream = convertAAudioStreamToAudioStream(stream);
return audioStream->getBufferSize();
}
-AAUDIO_API aaudio_direction_t AAudioStream_getDirection(AAudioStream stream)
+AAUDIO_API aaudio_direction_t AAudioStream_getDirection(AAudioStream* stream)
{
AudioStream *audioStream = convertAAudioStreamToAudioStream(stream);
return audioStream->getDirection();
}
-AAUDIO_API int32_t AAudioStream_getFramesPerBurst(AAudioStream stream)
+AAUDIO_API int32_t AAudioStream_getFramesPerBurst(AAudioStream* stream)
{
AudioStream *audioStream = convertAAudioStreamToAudioStream(stream);
return audioStream->getFramesPerBurst();
}
-AAUDIO_API int32_t AAudioStream_getBufferCapacityInFrames(AAudioStream stream)
+AAUDIO_API int32_t AAudioStream_getBufferCapacityInFrames(AAudioStream* stream)
{
AudioStream *audioStream = convertAAudioStreamToAudioStream(stream);
return audioStream->getBufferCapacity();
}
-AAUDIO_API int32_t AAudioStream_getXRunCount(AAudioStream stream)
+AAUDIO_API int32_t AAudioStream_getXRunCount(AAudioStream* stream)
{
AudioStream *audioStream = convertAAudioStreamToAudioStream(stream);
return audioStream->getXRunCount();
}
-AAUDIO_API int32_t AAudioStream_getDeviceId(AAudioStream stream)
+AAUDIO_API int32_t AAudioStream_getDeviceId(AAudioStream* stream)
{
AudioStream *audioStream = convertAAudioStreamToAudioStream(stream);
return audioStream->getDeviceId();
}
-AAUDIO_API aaudio_sharing_mode_t AAudioStream_getSharingMode(AAudioStream stream)
+AAUDIO_API aaudio_sharing_mode_t AAudioStream_getSharingMode(AAudioStream* stream)
{
AudioStream *audioStream = convertAAudioStreamToAudioStream(stream);
return audioStream->getSharingMode();
}
-AAUDIO_API int64_t AAudioStream_getFramesWritten(AAudioStream stream)
+AAUDIO_API int64_t AAudioStream_getFramesWritten(AAudioStream* stream)
{
AudioStream *audioStream = convertAAudioStreamToAudioStream(stream);
return audioStream->getFramesWritten();
}
-AAUDIO_API int64_t AAudioStream_getFramesRead(AAudioStream stream)
+AAUDIO_API int64_t AAudioStream_getFramesRead(AAudioStream* stream)
{
AudioStream *audioStream = convertAAudioStreamToAudioStream(stream);
return audioStream->getFramesRead();
}
-AAUDIO_API aaudio_result_t AAudioStream_getTimestamp(AAudioStream stream,
+AAUDIO_API aaudio_result_t AAudioStream_getTimestamp(AAudioStream* stream,
clockid_t clockid,
int64_t *framePosition,
int64_t *timeNanoseconds)
diff --git a/media/libaaudio/src/core/AudioStream.cpp b/media/libaaudio/src/core/AudioStream.cpp
index c4962ee..b054d94 100644
--- a/media/libaaudio/src/core/AudioStream.cpp
+++ b/media/libaaudio/src/core/AudioStream.cpp
@@ -121,7 +121,7 @@
}
aaudio_result_t AudioStream::createThread(int64_t periodNanoseconds,
- aaudio_audio_thread_proc_t *threadProc,
+ aaudio_audio_thread_proc_t threadProc,
void* threadArg)
{
if (mHasThread) {
diff --git a/media/libaaudio/src/core/AudioStream.h b/media/libaaudio/src/core/AudioStream.h
index f5f9d28..af0593d 100644
--- a/media/libaaudio/src/core/AudioStream.h
+++ b/media/libaaudio/src/core/AudioStream.h
@@ -84,7 +84,7 @@
}
virtual aaudio_result_t createThread(int64_t periodNanoseconds,
- aaudio_audio_thread_proc_t *threadProc,
+ aaudio_audio_thread_proc_t threadProc,
void *threadArg);
virtual aaudio_result_t joinThread(void **returnArg, int64_t timeoutNanoseconds);
@@ -267,7 +267,7 @@
// These are set by the application thread and then read by the audio pthread.
std::atomic<int64_t> mPeriodNanoseconds; // for tuning SCHED_FIFO threads
// TODO make atomic?
- aaudio_audio_thread_proc_t* mThreadProc = nullptr;
+ aaudio_audio_thread_proc_t mThreadProc = nullptr;
void* mThreadArg = nullptr;
aaudio_result_t mThreadRegistrationResult = AAUDIO_OK;