This change moves almost everything from libaadio.so to separate libaaudio_internal.so library. This is done to avoid exporting symbols which apps are not allowed to use but have them available for platform libraries by exporting them from libaaudio_internal.so Bug: http://b/69603741 Test: make Merged-In: If93118ed2c266faf2964abf21e17b0b13df493d2 Change-Id: If93118ed2c266faf2964abf21e17b0b13df493d2gugelfrei
parent
10b5ef5d18
commit
d81a84a886
@ -0,0 +1,99 @@
|
||||
/*
|
||||
* Copyright (C) 2019 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
#include <aaudio/AAudio.h>
|
||||
#include <aaudio/AAudioTesting.h>
|
||||
|
||||
#include "AudioGlobal.h"
|
||||
|
||||
/******************************************
|
||||
* Static globals.
|
||||
*/
|
||||
namespace aaudio {
|
||||
|
||||
static aaudio_policy_t g_MMapPolicy = AAUDIO_UNSPECIFIED;
|
||||
|
||||
aaudio_policy_t AudioGlobal_getMMapPolicy() {
|
||||
return g_MMapPolicy;
|
||||
}
|
||||
|
||||
aaudio_result_t AudioGlobal_setMMapPolicy(aaudio_policy_t policy) {
|
||||
aaudio_result_t result = AAUDIO_OK;
|
||||
switch(policy) {
|
||||
case AAUDIO_UNSPECIFIED:
|
||||
case AAUDIO_POLICY_NEVER:
|
||||
case AAUDIO_POLICY_AUTO:
|
||||
case AAUDIO_POLICY_ALWAYS:
|
||||
g_MMapPolicy = policy;
|
||||
break;
|
||||
default:
|
||||
result = AAUDIO_ERROR_ILLEGAL_ARGUMENT;
|
||||
break;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
#define AAUDIO_CASE_ENUM(name) case name: return #name
|
||||
|
||||
const char* AudioGlobal_convertResultToText(aaudio_result_t returnCode) {
|
||||
switch (returnCode) {
|
||||
AAUDIO_CASE_ENUM(AAUDIO_OK);
|
||||
AAUDIO_CASE_ENUM(AAUDIO_ERROR_DISCONNECTED);
|
||||
AAUDIO_CASE_ENUM(AAUDIO_ERROR_ILLEGAL_ARGUMENT);
|
||||
// reserved
|
||||
AAUDIO_CASE_ENUM(AAUDIO_ERROR_INTERNAL);
|
||||
AAUDIO_CASE_ENUM(AAUDIO_ERROR_INVALID_STATE);
|
||||
// reserved
|
||||
// reserved
|
||||
AAUDIO_CASE_ENUM(AAUDIO_ERROR_INVALID_HANDLE);
|
||||
// reserved
|
||||
AAUDIO_CASE_ENUM(AAUDIO_ERROR_UNIMPLEMENTED);
|
||||
AAUDIO_CASE_ENUM(AAUDIO_ERROR_UNAVAILABLE);
|
||||
AAUDIO_CASE_ENUM(AAUDIO_ERROR_NO_FREE_HANDLES);
|
||||
AAUDIO_CASE_ENUM(AAUDIO_ERROR_NO_MEMORY);
|
||||
AAUDIO_CASE_ENUM(AAUDIO_ERROR_NULL);
|
||||
AAUDIO_CASE_ENUM(AAUDIO_ERROR_TIMEOUT);
|
||||
AAUDIO_CASE_ENUM(AAUDIO_ERROR_WOULD_BLOCK);
|
||||
AAUDIO_CASE_ENUM(AAUDIO_ERROR_INVALID_FORMAT);
|
||||
AAUDIO_CASE_ENUM(AAUDIO_ERROR_OUT_OF_RANGE);
|
||||
AAUDIO_CASE_ENUM(AAUDIO_ERROR_NO_SERVICE);
|
||||
AAUDIO_CASE_ENUM(AAUDIO_ERROR_INVALID_RATE);
|
||||
}
|
||||
return "Unrecognized AAudio error.";
|
||||
}
|
||||
|
||||
const char* AudioGlobal_convertStreamStateToText(aaudio_stream_state_t state) {
|
||||
switch (state) {
|
||||
AAUDIO_CASE_ENUM(AAUDIO_STREAM_STATE_UNINITIALIZED);
|
||||
AAUDIO_CASE_ENUM(AAUDIO_STREAM_STATE_UNKNOWN);
|
||||
AAUDIO_CASE_ENUM(AAUDIO_STREAM_STATE_OPEN);
|
||||
AAUDIO_CASE_ENUM(AAUDIO_STREAM_STATE_STARTING);
|
||||
AAUDIO_CASE_ENUM(AAUDIO_STREAM_STATE_STARTED);
|
||||
AAUDIO_CASE_ENUM(AAUDIO_STREAM_STATE_PAUSING);
|
||||
AAUDIO_CASE_ENUM(AAUDIO_STREAM_STATE_PAUSED);
|
||||
AAUDIO_CASE_ENUM(AAUDIO_STREAM_STATE_FLUSHING);
|
||||
AAUDIO_CASE_ENUM(AAUDIO_STREAM_STATE_FLUSHED);
|
||||
AAUDIO_CASE_ENUM(AAUDIO_STREAM_STATE_STOPPING);
|
||||
AAUDIO_CASE_ENUM(AAUDIO_STREAM_STATE_STOPPED);
|
||||
AAUDIO_CASE_ENUM(AAUDIO_STREAM_STATE_DISCONNECTED);
|
||||
AAUDIO_CASE_ENUM(AAUDIO_STREAM_STATE_CLOSING);
|
||||
AAUDIO_CASE_ENUM(AAUDIO_STREAM_STATE_CLOSED);
|
||||
}
|
||||
return "Unrecognized AAudio state.";
|
||||
}
|
||||
|
||||
#undef AAUDIO_CASE_ENUM
|
||||
|
||||
} // namespace aaudio
|
@ -0,0 +1,34 @@
|
||||
/*
|
||||
* Copyright 2019 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
#ifndef AAUDIO_AUDIOGLOBAL_H
|
||||
#define AAUDIO_AUDIOGLOBAL_H
|
||||
|
||||
#include <aaudio/AAudio.h>
|
||||
#include <aaudio/AAudioTesting.h>
|
||||
|
||||
|
||||
namespace aaudio {
|
||||
|
||||
aaudio_policy_t AudioGlobal_getMMapPolicy();
|
||||
aaudio_result_t AudioGlobal_setMMapPolicy(aaudio_policy_t policy);
|
||||
|
||||
const char* AudioGlobal_convertResultToText(aaudio_result_t returnCode);
|
||||
const char* AudioGlobal_convertStreamStateToText(aaudio_stream_state_t state);
|
||||
|
||||
}
|
||||
|
||||
#endif // AAUDIO_AUDIOGLOBAL_H
|
||||
|
Loading…
Reference in new issue