Struct rrise::settings::AkDeviceSettings
source · [−]#[repr(C)]pub struct AkDeviceSettings {
pub pIOMemory: *mut c_void,
pub uIOMemorySize: u32,
pub uIOMemoryAlignment: u32,
pub ePoolAttributes: u32,
pub uGranularity: u32,
pub uSchedulerTypeFlags: u32,
pub threadProperties: AkThreadProperties,
pub fTargetAutoStmBufferLength: f32,
pub uMaxConcurrentIO: u32,
pub bUseStreamCache: bool,
pub uMaxCachePinnedBytes: u32,
}Expand description
High-level IO devices initialization settings. \sa
- AK::IAkStreamMgr
- AK::StreamMgr::CreateDevice()
- \ref streamingmanager_settings
Fields
pIOMemory: *mut c_voidPointer for I/O memory allocated by user. Pass NULL if you want memory to be allocated via AK::MemoryMgr::Malign(). If specified, uIOMemorySize, uIOMemoryAlignment and ePoolAttributes are ignored.
uIOMemorySize: u32Size of memory for I/O (for automatic streams). It is passed directly to AK::MemoryMgr::Malign(), after having been rounded down to a multiple of uGranularity.
uIOMemoryAlignment: u32I/O memory alignment. It is passed directly to AK::MemoryMgr::Malign().
ePoolAttributes: u32Attributes for I/O memory. Here, specify the allocation type (AkMemType_Device, and so on). It is passed directly to AK::MemoryMgr::Malign().
uGranularity: u32I/O requests granularity (typical bytes/request).
uSchedulerTypeFlags: u32Scheduler type flags.
threadProperties: AkThreadPropertiesScheduler thread properties.
fTargetAutoStmBufferLength: f32Targetted automatic stream buffer length (ms). When a stream reaches that buffering, it stops being scheduled for I/O except if the scheduler is idle.
uMaxConcurrentIO: u32Maximum number of transfers that can be sent simultaneously to the Low-Level I/O (applies to AK_SCHEDULER_DEFERRED_LINED_UP device only).
bUseStreamCache: boolIf true the device attempts to reuse IO buffers that have already been streamed from disk. This is particularly useful when streaming small looping sounds. The drawback is a small CPU hit when allocating memory, and a slightly larger memory footprint in the StreamManager pool.
uMaxCachePinnedBytes: u32Maximum number of bytes that can be “pinned” using AK::SoundEngine::PinEventInStreamCache() or AK::IAkStreamMgr::PinFileInCache()
Trait Implementations
sourceimpl Clone for AkDeviceSettings
impl Clone for AkDeviceSettings
sourcefn clone(&self) -> AkDeviceSettings
fn clone(&self) -> AkDeviceSettings
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source. Read more
sourceimpl Debug for AkDeviceSettings
impl Debug for AkDeviceSettings
sourceimpl Default for AkDeviceSettings
impl Default for AkDeviceSettings
impl Copy for AkDeviceSettings
Auto Trait Implementations
impl RefUnwindSafe for AkDeviceSettings
impl !Send for AkDeviceSettings
impl !Sync for AkDeviceSettings
impl Unpin for AkDeviceSettings
impl UnwindSafe for AkDeviceSettings
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into)Uses borrowed data to replace owned data, usually by cloning. Read more