CMBlockBuffer
An object the system uses to move blocks of memory through a processing system.
Overview
A block buffer is a CFType object that represents a contiguous range of data offsets (from zero to CMBlockBufferGetDataLength(_:)) across a possibly noncontiguous memory region. The memory region contains memory blocks and buffer references. The buffer references can in turn refer to additional regions. CMBlockBuffer uses CMAttachmentBearerProtocol to propagate attachments.
Topics
Creating a Block Buffer
CMBlockBufferCreateEmpty(allocator:capacity:flags:blockBufferOut:)CMBlockBufferCreateWithMemoryBlock(allocator:memoryBlock:blockLength:blockAllocator:customBlockSource:offsetToData:dataLength:flags:blockBufferOut:)CMBlockBufferCreateWithBufferReference(allocator:referenceBuffer:offsetToData:dataLength:flags:blockBufferOut:)CMBlockBufferCreateContiguous(allocator:sourceBuffer:blockAllocator:customBlockSource:offsetToData:dataLength:flags:blockBufferOut:)CMBlockBufferFlagsBlock Buffer FlagsCMBlockBufferCustomBlockSourceCustom Block Source Version
Modifying a Block Buffer
CMBlockBufferAppendMemoryBlock(_:memoryBlock:length:blockAllocator:customBlockSource:offsetToData:dataLength:flags:)CMBlockBufferAppendBufferReference(_:targetBBuf:offsetToData:dataLength:flags:)CMBlockBufferAssureBlockMemory(_:)CMBlockBufferAccessDataBytes(_:atOffset:length:temporaryBlock:returnedPointerOut:)CMBlockBufferCopyDataBytes(_:atOffset:dataLength:destination:)CMBlockBufferReplaceDataBytes(with:blockBuffer:offsetIntoDestination:dataLength:)CMBlockBufferFillDataBytes(with:blockBuffer:offsetIntoDestination:dataLength:)
Inspecting a Block Buffer
CMBlockBufferGetDataPointer(_:atOffset:lengthAtOffsetOut:totalLengthOut:dataPointerOut:)CMBlockBufferGetDataLength(_:)CMBlockBufferIsRangeContiguous(_:atOffset:length:)CMBlockBufferIsEmpty(_:)