core_media_sys/
audio_device_clock.rs1use crate::libc::{c_void, size_t, c_long};
2use crate::core_foundation_sys::base::{OSStatus, Boolean, CFAllocatorRef, CFTypeID, CFTypeRef};
3use crate::core_foundation_sys::dictionary::CFDictionaryRef;
4use crate::core_foundation_sys::string::CFStringRef;
5
6use crate::sync::CMClockRef;
7
8
9pub type AudioObjectID = u32;
11pub type AudioDeviceID = AudioObjectID;
13
14pub const kAudioObjectUnknown: AudioObjectID = 0;
15pub const kAudioStreamUnknown: AudioObjectID = kAudioObjectUnknown;
16
17
18
19extern "C" {
20 pub fn CMAudioDeviceClockCreate(allocator: CFAllocatorRef,
21 deviceUID: CFStringRef,
22 clockOut: *mut CMClockRef) -> OSStatus;
23 pub fn CMAudioDeviceClockCreateFromAudioDeviceID(allocator: CFAllocatorRef,
24 deviceID: AudioDeviceID,
25 clockOut: *mut CMClockRef) -> OSStatus;
26 pub fn CMAudioDeviceClockSetAudioDeviceUID(clock: CMClockRef,
27 deviceUID: CFStringRef) -> OSStatus;
28 pub fn CMAudioDeviceClockSetAudioDeviceID(clock: CMClockRef,
29 deviceID: AudioDeviceID) -> OSStatus;
30 pub fn CMAudioDeviceClockGetAudioDevice(clock: CMClockRef,
31 deviceUIDOut: *mut CFStringRef,
32 deviceIDOut: *mut AudioDeviceID,
33 trackingDefaultDeviceOut: *mut Boolean) -> OSStatus;
34
35}