pub struct AkDeviceSettings {
    pub io_memory: AtomicPtr<c_void>,
    pub io_memory_size: u32,
    pub io_memory_alignment: u32,
    pub pool_attributes: u32,
    pub granularity: u32,
    pub scheduler_type_flags: u32,
    pub thread_properties: AkThreadProperties,
    pub target_auto_stm_buffer_length: f32,
    pub max_concurrent_io: u32,
    pub use_stream_cache: bool,
    pub max_cache_pinned_bytes: u32,
}
Expand description

High-level IO devices initialization settings.

Fields

io_memory: AtomicPtr<c_void>

Pointer for I/O memory allocated by user. Pass NULL if you want memory to be allocated via AK::MemoryMgr::Malign(). If specified, io_memory_size, io_memory_alignment and pool_attributes are ignored.

io_memory_size: u32

Size 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 granularity.

io_memory_alignment: u32

I/O memory alignment. It is passed directly to AK::MemoryMgr::Malign().

pool_attributes: u32

Attributes for I/O memory. Here, specify the allocation type (AkMemType_Device, and so on). It is passed directly to AK::MemoryMgr::Malign().

granularity: u32

I/O requests granularity (typical bytes/request).

scheduler_type_flags: u32

Scheduler type flags.

thread_properties: AkThreadProperties

Scheduler thread properties.

target_auto_stm_buffer_length: f32

Targeted automatic stream buffer length (ms). When a stream reaches that buffering, it stops being scheduled for I/O except if the scheduler is idle.

max_concurrent_io: u32

Maximum number of transfers that can be sent simultaneously to the Low-Level I/O (applies to AK_SCHEDULER_DEFERRED_LINED_UP device only).

use_stream_cache: bool

If 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.

max_cache_pinned_bytes: u32

Maximum number of bytes that can be “pinned” using AK::SoundEngine::PinEventInStreamCache() or AK::IAkStreamMgr::PinFileInCache()

Trait Implementations

Formats the value using the given formatter. Read more

Gets the default values of the platform-independent initialization settings.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.