use core::ffi::*;
use core::ptr::NonNull;
#[cfg(feature = "objc2-core-foundation")]
use objc2_core_foundation::*;
use crate::*;
pub const kAudioSession_AudioRouteChangeKey_Reason: &CStr =
unsafe { CStr::from_bytes_with_nul_unchecked(b"OutputDeviceDidChange_Reason\0") };
pub const kAudioSession_AudioRouteChangeKey_OldRoute: &CStr =
unsafe { CStr::from_bytes_with_nul_unchecked(b"OutputDeviceDidChange_OldRoute\0") };
pub const kAudioSessionNoError: c_uint = 0;
pub const kAudioSessionNotInitialized: c_uint = 0x21696e69;
pub const kAudioSessionAlreadyInitialized: c_uint = 0x696e6974;
pub const kAudioSessionInitializationError: c_uint = 0x696e693f;
pub const kAudioSessionUnsupportedPropertyError: c_uint = 0x7074793f;
pub const kAudioSessionBadPropertySizeError: c_uint = 0x2173697a;
pub const kAudioSessionNotActiveError: c_uint = 0x21616374;
pub const kAudioServicesNoHardwareError: c_uint = 0x6e6f6877;
pub const kAudioSessionNoCategorySet: c_uint = 0x3f636174;
pub const kAudioSessionIncompatibleCategory: c_uint = 0x21636174;
pub const kAudioSessionUnspecifiedError: c_uint = 0x77686174;
pub type AudioSessionPropertyID = u32;
pub const kAudioSessionBeginInterruption: c_uint = 1;
pub const kAudioSessionEndInterruption: c_uint = 0;
pub const kAudioSessionCategory_AmbientSound: c_uint = 0x616d6269;
pub const kAudioSessionCategory_SoloAmbientSound: c_uint = 0x736f6c6f;
pub const kAudioSessionCategory_MediaPlayback: c_uint = 0x6d656469;
pub const kAudioSessionCategory_RecordAudio: c_uint = 0x72656361;
pub const kAudioSessionCategory_PlayAndRecord: c_uint = 0x706c6172;
pub const kAudioSessionCategory_AudioProcessing: c_uint = 0x70726f63;
pub const kAudioSessionOverrideAudioRoute_None: c_uint = 0;
pub const kAudioSessionOverrideAudioRoute_Speaker: c_uint = 0x73706b72;
pub const kAudioSessionRouteChangeReason_Unknown: c_uint = 0;
pub const kAudioSessionRouteChangeReason_NewDeviceAvailable: c_uint = 1;
pub const kAudioSessionRouteChangeReason_OldDeviceUnavailable: c_uint = 2;
pub const kAudioSessionRouteChangeReason_CategoryChange: c_uint = 3;
pub const kAudioSessionRouteChangeReason_Override: c_uint = 4;
pub const kAudioSessionRouteChangeReason_WakeFromSleep: c_uint = 6;
pub const kAudioSessionRouteChangeReason_NoSuitableRouteForCategory: c_uint = 7;
pub const kAudioSessionRouteChangeReason_RouteConfigurationChange: c_uint = 8;
extern "C" {
#[cfg(feature = "objc2-core-foundation")]
#[deprecated = "no longer supported"]
pub static kAudioSession_RouteChangeKey_Reason: Option<&'static CFString>;
}
extern "C" {
#[cfg(feature = "objc2-core-foundation")]
#[deprecated = "no longer supported"]
pub static kAudioSession_AudioRouteChangeKey_PreviousRouteDescription:
Option<&'static CFString>;
}
extern "C" {
#[cfg(feature = "objc2-core-foundation")]
#[deprecated = "no longer supported"]
pub static kAudioSession_AudioRouteChangeKey_CurrentRouteDescription: Option<&'static CFString>;
}
extern "C" {
#[cfg(feature = "objc2-core-foundation")]
#[deprecated = "no longer supported"]
pub static kAudioSession_AudioRouteKey_Inputs: Option<&'static CFString>;
}
extern "C" {
#[cfg(feature = "objc2-core-foundation")]
#[deprecated = "no longer supported"]
pub static kAudioSession_AudioRouteKey_Outputs: Option<&'static CFString>;
}
extern "C" {
#[cfg(feature = "objc2-core-foundation")]
#[deprecated = "no longer supported"]
pub static kAudioSession_AudioRouteKey_Type: Option<&'static CFString>;
}
extern "C" {
#[cfg(feature = "objc2-core-foundation")]
#[deprecated = "no longer supported"]
pub static kAudioSessionInputRoute_LineIn: Option<&'static CFString>;
}
extern "C" {
#[cfg(feature = "objc2-core-foundation")]
#[deprecated = "no longer supported"]
pub static kAudioSessionInputRoute_BuiltInMic: Option<&'static CFString>;
}
extern "C" {
#[cfg(feature = "objc2-core-foundation")]
#[deprecated = "no longer supported"]
pub static kAudioSessionInputRoute_HeadsetMic: Option<&'static CFString>;
}
extern "C" {
#[cfg(feature = "objc2-core-foundation")]
#[deprecated = "no longer supported"]
pub static kAudioSessionInputRoute_BluetoothHFP: Option<&'static CFString>;
}
extern "C" {
#[cfg(feature = "objc2-core-foundation")]
#[deprecated = "no longer supported"]
pub static kAudioSessionInputRoute_USBAudio: Option<&'static CFString>;
}
extern "C" {
#[cfg(feature = "objc2-core-foundation")]
#[deprecated = "no longer supported"]
pub static kAudioSessionOutputRoute_LineOut: Option<&'static CFString>;
}
extern "C" {
#[cfg(feature = "objc2-core-foundation")]
#[deprecated = "no longer supported"]
pub static kAudioSessionOutputRoute_Headphones: Option<&'static CFString>;
}
extern "C" {
#[cfg(feature = "objc2-core-foundation")]
#[deprecated = "no longer supported"]
pub static kAudioSessionOutputRoute_BluetoothHFP: Option<&'static CFString>;
}
extern "C" {
#[cfg(feature = "objc2-core-foundation")]
#[deprecated = "no longer supported"]
pub static kAudioSessionOutputRoute_BluetoothA2DP: Option<&'static CFString>;
}
extern "C" {
#[cfg(feature = "objc2-core-foundation")]
#[deprecated = "no longer supported"]
pub static kAudioSessionOutputRoute_BuiltInReceiver: Option<&'static CFString>;
}
extern "C" {
#[cfg(feature = "objc2-core-foundation")]
#[deprecated = "no longer supported"]
pub static kAudioSessionOutputRoute_BuiltInSpeaker: Option<&'static CFString>;
}
extern "C" {
#[cfg(feature = "objc2-core-foundation")]
#[deprecated = "no longer supported"]
pub static kAudioSessionOutputRoute_USBAudio: Option<&'static CFString>;
}
extern "C" {
#[cfg(feature = "objc2-core-foundation")]
#[deprecated = "no longer supported"]
pub static kAudioSessionOutputRoute_HDMI: Option<&'static CFString>;
}
extern "C" {
#[cfg(feature = "objc2-core-foundation")]
#[deprecated = "no longer supported"]
pub static kAudioSessionOutputRoute_AirPlay: Option<&'static CFString>;
}
extern "C" {
#[cfg(feature = "objc2-core-foundation")]
#[deprecated = "no longer supported"]
pub static kAudioSession_InputSourceKey_ID: Option<&'static CFString>;
}
extern "C" {
#[cfg(feature = "objc2-core-foundation")]
#[deprecated = "no longer supported"]
pub static kAudioSession_InputSourceKey_Description: Option<&'static CFString>;
}
extern "C" {
#[cfg(feature = "objc2-core-foundation")]
#[deprecated = "no longer supported"]
pub static kAudioSession_OutputDestinationKey_ID: Option<&'static CFString>;
}
extern "C" {
#[cfg(feature = "objc2-core-foundation")]
#[deprecated = "no longer supported"]
pub static kAudioSession_OutputDestinationKey_Description: Option<&'static CFString>;
}
pub const kAudioSessionInterruptionType_ShouldResume: c_uint = 0x6972736d;
pub const kAudioSessionInterruptionType_ShouldNotResume: c_uint = 0x2172736d;
pub type AudioSessionInterruptionType = u32;
pub const kAudioSessionMode_Default: c_uint = 0x64666c74;
pub const kAudioSessionMode_VoiceChat: c_uint = 0x76636374;
pub const kAudioSessionMode_VideoRecording: c_uint = 0x76726364;
pub const kAudioSessionMode_Measurement: c_uint = 0x6d736d74;
pub const kAudioSessionMode_GameChat: c_uint = 0x676d6374;
pub const kAudioSessionProperty_PreferredHardwareSampleRate: c_uint = 0x68777372;
pub const kAudioSessionProperty_PreferredHardwareIOBufferDuration: c_uint = 0x696f6264;
pub const kAudioSessionProperty_AudioCategory: c_uint = 0x61636174;
pub const kAudioSessionProperty_AudioRouteChange: c_uint = 0x726f6368;
pub const kAudioSessionProperty_CurrentHardwareSampleRate: c_uint = 0x63687372;
pub const kAudioSessionProperty_CurrentHardwareInputNumberChannels: c_uint = 0x63686963;
pub const kAudioSessionProperty_CurrentHardwareOutputNumberChannels: c_uint = 0x63686f63;
pub const kAudioSessionProperty_CurrentHardwareOutputVolume: c_uint = 0x63686f76;
pub const kAudioSessionProperty_CurrentHardwareInputLatency: c_uint = 0x63696c74;
pub const kAudioSessionProperty_CurrentHardwareOutputLatency: c_uint = 0x636f6c74;
pub const kAudioSessionProperty_CurrentHardwareIOBufferDuration: c_uint = 0x63686264;
pub const kAudioSessionProperty_OtherAudioIsPlaying: c_uint = 0x6f746872;
pub const kAudioSessionProperty_OverrideAudioRoute: c_uint = 0x6f767264;
pub const kAudioSessionProperty_AudioInputAvailable: c_uint = 0x61696176;
pub const kAudioSessionProperty_ServerDied: c_uint = 0x64696564;
pub const kAudioSessionProperty_OtherMixableAudioShouldDuck: c_uint = 0x6475636b;
pub const kAudioSessionProperty_OverrideCategoryMixWithOthers: c_uint = 0x636d6978;
pub const kAudioSessionProperty_OverrideCategoryDefaultToSpeaker: c_uint = 0x6373706b;
pub const kAudioSessionProperty_OverrideCategoryEnableBluetoothInput: c_uint = 0x63626c75;
pub const kAudioSessionProperty_InterruptionType: c_uint = 0x74797065;
pub const kAudioSessionProperty_Mode: c_uint = 0x6d6f6465;
pub const kAudioSessionProperty_InputSources: c_uint = 0x73726373;
pub const kAudioSessionProperty_OutputDestinations: c_uint = 0x64737473;
pub const kAudioSessionProperty_InputSource: c_uint = 0x69737263;
pub const kAudioSessionProperty_OutputDestination: c_uint = 0x6f647374;
pub const kAudioSessionProperty_InputGainAvailable: c_uint = 0x69676176;
pub const kAudioSessionProperty_InputGainScalar: c_uint = 0x69677363;
pub const kAudioSessionProperty_AudioRouteDescription: c_uint = 0x63726172;
pub type AudioSessionInterruptionListener = Option<unsafe extern "C-unwind" fn(*mut c_void, u32)>;
pub type AudioSessionPropertyListener =
Option<unsafe extern "C-unwind" fn(*mut c_void, AudioSessionPropertyID, u32, *const c_void)>;
extern "C-unwind" {
#[cfg(feature = "objc2-core-foundation")]
#[deprecated = "no longer supported"]
pub fn AudioSessionInitialize(
in_run_loop: Option<&CFRunLoop>,
in_run_loop_mode: Option<&CFString>,
in_interruption_listener: AudioSessionInterruptionListener,
in_client_data: *mut c_void,
) -> OSStatus;
}
#[deprecated = "no longer supported"]
#[inline]
pub unsafe extern "C-unwind" fn AudioSessionSetActive(active: bool) -> OSStatus {
extern "C-unwind" {
fn AudioSessionSetActive(active: Boolean) -> OSStatus;
}
unsafe { AudioSessionSetActive(active as _) }
}
pub const kAudioSessionSetActiveFlag_NotifyOthersOnDeactivation: c_uint = 1 << 0;
#[deprecated = "no longer supported"]
#[inline]
pub unsafe extern "C-unwind" fn AudioSessionSetActiveWithFlags(
active: bool,
in_flags: u32,
) -> OSStatus {
extern "C-unwind" {
fn AudioSessionSetActiveWithFlags(active: Boolean, in_flags: u32) -> OSStatus;
}
unsafe { AudioSessionSetActiveWithFlags(active as _, in_flags) }
}
extern "C-unwind" {
#[deprecated = "no longer supported"]
pub fn AudioSessionGetProperty(
in_id: AudioSessionPropertyID,
io_data_size: *mut u32,
out_data: *mut c_void,
) -> OSStatus;
}
extern "C-unwind" {
#[deprecated = "no longer supported"]
pub fn AudioSessionSetProperty(
in_id: AudioSessionPropertyID,
in_data_size: u32,
in_data: *const c_void,
) -> OSStatus;
}
extern "C-unwind" {
#[deprecated = "no longer supported"]
pub fn AudioSessionGetPropertySize(
in_id: AudioSessionPropertyID,
out_data_size: *mut u32,
) -> OSStatus;
}
extern "C-unwind" {
#[deprecated = "no longer supported"]
pub fn AudioSessionAddPropertyListener(
in_id: AudioSessionPropertyID,
in_proc: AudioSessionPropertyListener,
in_client_data: *mut c_void,
) -> OSStatus;
}
extern "C-unwind" {
#[deprecated = "no longer supported"]
pub fn AudioSessionRemovePropertyListener(in_id: AudioSessionPropertyID) -> OSStatus;
}
extern "C-unwind" {
#[deprecated = "no longer supported"]
pub fn AudioSessionRemovePropertyListenerWithUserData(
in_id: AudioSessionPropertyID,
in_proc: AudioSessionPropertyListener,
in_client_data: *mut c_void,
) -> OSStatus;
}
pub const kAudioSessionCategory_UserInterfaceSoundEffects: c_uint = 0x75696678;
pub const kAudioSessionCategory_LiveAudio: c_uint = 0x6c697665;
pub const kAudioSessionProperty_AudioRoute: c_uint = 0x726f7574;