1 /* 2 * Copyright (c) 2025 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16 #ifndef AUDIO_STREAM_ENUM_H 17 #define AUDIO_STREAM_ENUM_H 18 19 #include <cstdint> 20 21 enum StreamClass : uint32_t { 22 PA_STREAM = 0, 23 FAST_STREAM, 24 VOIP_STREAM, 25 }; 26 27 enum AudioFlag : uint32_t { 28 AUDIO_FLAG_NONE = 0x0, // select 29 AUDIO_OUTPUT_FLAG_NORMAL = 0x1, // route 30 AUDIO_OUTPUT_FLAG_DIRECT = 0x2, // route 31 AUDIO_OUTPUT_FLAG_HD = 0x4, // select 32 AUDIO_OUTPUT_FLAG_MULTICHANNEL = 0x8, // select, route 33 AUDIO_OUTPUT_FLAG_LOWPOWER = 0x10, // select, route 34 AUDIO_OUTPUT_FLAG_FAST = 0x20, // select, route 35 AUDIO_OUTPUT_FLAG_VOIP = 0x40, // select 36 AUDIO_OUTPUT_FLAG_VOIP_FAST = 0x80, // select, route 37 AUDIO_OUTPUT_FLAG_HWDECODING = 0x100, // select, route 38 AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD = 0x200, // select, route 39 AUDIO_INPUT_FLAG_NORMAL = 0x1000, // route 40 AUDIO_INPUT_FLAG_FAST = 0x2000, // select, route 41 AUDIO_INPUT_FLAG_VOIP = 0x4000, // select 42 AUDIO_INPUT_FLAG_VOIP_FAST = 0x8000, // select, route 43 AUDIO_INPUT_FLAG_WAKEUP = 0x10000, // select, route 44 AUDIO_FLAG_MAX, 45 }; 46 47 enum AudioStreamStatus : uint32_t { 48 STREAM_STATUS_NEW = 0, 49 STREAM_STATUS_STARTED, 50 STREAM_STATUS_PAUSED, 51 STREAM_STATUS_STOPPED, 52 STREAM_STATUS_RELEASED, 53 }; 54 #endif // AUDIO_STREAM_ENUM_H