#![allow(non_upper_case_globals)]
#![allow(non_camel_case_types)]
#![allow(non_snake_case)]
use crate::audio_common::OH_AudioCommon_Result;
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
#[repr(C)]
pub struct OH_AudioResourceManager {
_unused: [u8; 0],
}
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
#[repr(C)]
pub struct OH_AudioWorkgroup {
_unused: [u8; 0],
}
extern "C" {
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
pub fn OH_AudioManager_GetAudioResourceManager(
resourceManager: *mut *mut OH_AudioResourceManager,
) -> OH_AudioCommon_Result;
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
pub fn OH_AudioResourceManager_CreateWorkgroup(
resourceManager: *mut OH_AudioResourceManager,
name: *const ::core::ffi::c_char,
group: *mut *mut OH_AudioWorkgroup,
) -> OH_AudioCommon_Result;
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
pub fn OH_AudioResourceManager_ReleaseWorkgroup(
resourceManager: *mut OH_AudioResourceManager,
group: *mut OH_AudioWorkgroup,
) -> OH_AudioCommon_Result;
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
pub fn OH_AudioWorkgroup_AddCurrentThread(
group: *mut OH_AudioWorkgroup,
tokenId: *mut i32,
) -> OH_AudioCommon_Result;
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
pub fn OH_AudioWorkgroup_RemoveThread(
group: *mut OH_AudioWorkgroup,
tokenId: i32,
) -> OH_AudioCommon_Result;
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
pub fn OH_AudioWorkgroup_Start(
group: *mut OH_AudioWorkgroup,
startTime: u64,
deadlineTime: u64,
) -> OH_AudioCommon_Result;
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
pub fn OH_AudioWorkgroup_Stop(group: *mut OH_AudioWorkgroup) -> OH_AudioCommon_Result;
}