xref: /aosp_15_r20/frameworks/av/media/libaaudio/src/core/AudioGlobal.h (revision ec779b8e0859a360c3d303172224686826e6e0e1)
1 /*
2  * Copyright 2019 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 #ifndef AAUDIO_AUDIOGLOBAL_H
17 #define AAUDIO_AUDIOGLOBAL_H
18 
19 #include <aaudio/AAudio.h>
20 #include <aaudio/AAudioTesting.h>
21 
22 
23 namespace aaudio {
24 
25 // Internal error codes. Only used by the framework.
26 enum {
27     AAUDIO_INTERNAL_ERROR_BASE = -1000,
28     AAUDIO_ERROR_STANDBY,
29     AAUDIO_ERROR_ALREADY_CLOSED,
30 
31 };
32 
33 static const char AUDIO_ATTRIBUTES_TAGS_SEPARATOR = ';';
34 
35 aaudio_policy_t AudioGlobal_getMMapPolicy();
36 aaudio_result_t AudioGlobal_setMMapPolicy(aaudio_policy_t policy);
37 
38 const char* AudioGlobal_convertFormatToText(aaudio_format_t format);
39 const char* AudioGlobal_convertDirectionToText(aaudio_direction_t direction);
40 const char* AudioGlobal_convertPerformanceModeToText(aaudio_performance_mode_t mode);
41 const char* AudioGlobal_convertResultToText(aaudio_result_t returnCode);
42 const char* AudioGlobal_convertSharingModeToText(aaudio_sharing_mode_t mode);
43 const char* AudioGlobal_convertStreamStateToText(aaudio_stream_state_t state);
44 
45 aaudio_policy_t AudioGlobal_getPlatformMMapPolicy(
46         AAudio_DeviceType device, aaudio_direction_t direction);
47 aaudio_policy_t AudioGlobal_getPlatformMMapExclusivePolicy(
48         AAudio_DeviceType device, aaudio_direction_t direction);
49 
50 } // namespace aaudio
51 
52 #endif  // AAUDIO_AUDIOGLOBAL_H
53 
54