pub trait AllocatorImpl: AllocatorImplExt + GstObjectImpl + Send + Sync {
    // Provided methods
    fn alloc(
        &self,
        size: usize,
        params: Option<&AllocationParams>,
    ) -> Result<Memory, BoolError> { ... }
    fn free(&self, memory: Memory) { ... }
}

Provided Methods§

source

fn alloc( &self, size: usize, params: Option<&AllocationParams>, ) -> Result<Memory, BoolError>

Use self to allocate a new memory block with memory that is at least size big.

The optional params can specify the prefix and padding for the memory. If None is passed, no flags, no extra prefix/padding and a default alignment is used.

The prefix/padding will be filled with 0 if flags contains MemoryFlags::ZERO_PREFIXED and MemoryFlags::ZERO_PADDED respectively.

When self is None, the default allocator will be used.

The alignment in params is given as a bitmask so that align + 1 equals the amount of bytes to align to. For example, to align to 8 bytes, use an alignment of 7.

§size

size of the visible memory area

§params

optional parameters

§Returns

a new Memory.

source

fn free(&self, memory: Memory)

Object Safety§

This trait is not object safe.

Implementors§