#![allow(non_upper_case_globals)]
#![allow(non_camel_case_types)]
#![allow(non_snake_case)]
use crate::audio_common::OH_AudioCommon_Result;
use crate::audiostream_base::{
OH_AudioStreamInfo, OH_AudioStream_DirectPlaybackMode, OH_AudioStream_SourceType,
OH_AudioStream_Usage,
};
#[cfg(feature = "api-19")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-19")))]
#[repr(C)]
pub struct OH_AudioStreamManager {
_unused: [u8; 0],
}
extern "C" {
#[cfg(feature = "api-19")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-19")))]
pub fn OH_AudioManager_GetAudioStreamManager(
streamManager: *mut *mut OH_AudioStreamManager,
) -> OH_AudioCommon_Result;
#[cfg(feature = "api-19")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-19")))]
pub fn OH_AudioStreamManager_GetDirectPlaybackSupport(
audioStreamManager: *mut OH_AudioStreamManager,
streamInfo: *mut OH_AudioStreamInfo,
usage: OH_AudioStream_Usage,
directPlaybackMode: *mut OH_AudioStream_DirectPlaybackMode,
) -> OH_AudioCommon_Result;
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
pub fn OH_AudioStreamManager_IsAcousticEchoCancelerSupported(
streamManager: *mut OH_AudioStreamManager,
sourceType: OH_AudioStream_SourceType,
supported: *mut bool,
) -> OH_AudioCommon_Result;
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
pub fn OH_AudioStreamManager_IsFastPlaybackSupported(
streamManager: *mut OH_AudioStreamManager,
streamInfo: *mut OH_AudioStreamInfo,
usage: OH_AudioStream_Usage,
) -> bool;
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
pub fn OH_AudioStreamManager_IsFastRecordingSupported(
streamManager: *mut OH_AudioStreamManager,
streamInfo: *mut OH_AudioStreamInfo,
source: OH_AudioStream_SourceType,
) -> bool;
#[cfg(feature = "api-21")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
pub fn OH_AudioStreamManager_IsIntelligentNoiseReductionEnabledForCurrentDevice(
streamManager: *mut OH_AudioStreamManager,
source: OH_AudioStream_SourceType,
) -> bool;
}