---
title: CMMutableDataBlockBuffer
framework: coremedia
role: symbol
role_heading: Structure
path: coremedia/cmmutabledatablockbuffer
---

# CMMutableDataBlockBuffer

A block buffer that provides read-write access to a range of bytes.

## Declaration

```swift
struct CMMutableDataBlockBuffer
```

## Overview

Overview Mutable block buffer provides a contiguous range of data offsets (from 0 to count) a possibly non-contiguous range of bytes. The bytes referenced by this buffer are mutable.

## Topics

### Classes

- [CMMutableDataBlockBuffer.MemoryPool](coremedia/cmmutabledatablockbuffer/memorypool.md)

### Structures

- [CMMutableDataBlockBuffer.BlockRegion](coremedia/cmmutabledatablockbuffer/blockregion.md)
- [CMMutableDataBlockBuffer.BlockSource](coremedia/cmmutabledatablockbuffer/blocksource.md)

### Operators

- [+=(_:_:)](coremedia/cmmutabledatablockbuffer/+=(_:_:).md)

### Initializers

- [init(copying:blockSource:)](coremedia/cmmutabledatablockbuffer/init(copying:blocksource:).md)
- [init(count:blockSource:)](coremedia/cmmutabledatablockbuffer/init(count:blocksource:).md)
- [init(subBlockCapacity:blockSource:)](coremedia/cmmutabledatablockbuffer/init(subblockcapacity:blocksource:).md)
- [init(unsafeBlockBuffer:)](coremedia/cmmutabledatablockbuffer/init(unsafeblockbuffer:).md)

### Instance Properties

- [attachments](coremedia/cmmutabledatablockbuffer/attachments-swift.property.md)
- [count](coremedia/cmmutabledatablockbuffer/count.md)
- [endIndex](coremedia/cmmutabledatablockbuffer/endindex.md)
- [indices](coremedia/cmmutabledatablockbuffer/indices-swift.property.md)
- [isContiguous](coremedia/cmmutabledatablockbuffer/iscontiguous.md)
- [isEmpty](coremedia/cmmutabledatablockbuffer/isempty.md)
- [startIndex](coremedia/cmmutabledatablockbuffer/startindex.md)

### Instance Methods

- [append(referenceOf:range:optimizeDepth:)](coremedia/cmmutabledatablockbuffer/append(referenceof:range:optimizedepth:).md)
- [copyBytes(to:)](coremedia/cmmutabledatablockbuffer/copybytes(to:).md)
- [copyBytes(to:from:)](coremedia/cmmutabledatablockbuffer/copybytes(to:from:).md)
- [extend(by:)](coremedia/cmmutabledatablockbuffer/extend(by:).md)
- [isRangeContiguous(_:)](coremedia/cmmutabledatablockbuffer/israngecontiguous(_:).md)
- [replaceAll(repeating:)](coremedia/cmmutabledatablockbuffer/replaceall(repeating:).md)
- [replaceAll(with:)](coremedia/cmmutabledatablockbuffer/replaceall(with:)-4sg07.md)
- [replaceAll(with:)](coremedia/cmmutabledatablockbuffer/replaceall(with:)-6jidg.md)
- [replaceSubrange(_:repeating:)](coremedia/cmmutabledatablockbuffer/replacesubrange(_:repeating:).md)
- [replaceSubrange(_:with:)](coremedia/cmmutabledatablockbuffer/replacesubrange(_:with:)-5w62q.md)
- [replaceSubrange(_:with:)](coremedia/cmmutabledatablockbuffer/replacesubrange(_:with:)-7rqdy.md)
- [withContiguousMutableStorageIfAvailable(in:_:)](coremedia/cmmutabledatablockbuffer/withcontiguousmutablestorageifavailable(in:_:).md)
- [withContiguousStorageIfAvailable(in:_:)](coremedia/cmmutabledatablockbuffer/withcontiguousstorageifavailable(in:_:).md)
- [withUnsafeBlockBuffer(_:)](coremedia/cmmutabledatablockbuffer/withunsafeblockbuffer(_:).md)
- [withUnsafeBlockRegions(_:)](coremedia/cmmutabledatablockbuffer/withunsafeblockregions(_:).md)
- [withUnsafeMutableBlockRegions(_:)](coremedia/cmmutabledatablockbuffer/withunsafemutableblockregions(_:).md)

### Subscripts

- [subscript(_:)](coremedia/cmmutabledatablockbuffer/subscript(_:).md)

### Type Aliases

- [CMMutableDataBlockBuffer.Attachments](coremedia/cmmutabledatablockbuffer/attachments-swift.typealias.md)
- [CMMutableDataBlockBuffer.Index](coremedia/cmmutabledatablockbuffer/index.md)
- [CMMutableDataBlockBuffer.Indices](coremedia/cmmutabledatablockbuffer/indices-swift.typealias.md)

## Relationships

### Conforms To

- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

## See Also

### Sample Processing

- [CMSampleBuffer](coremedia/cmsamplebuffer-api.md)
- [CMBlockBuffer](coremedia/cmblockbuffer-api.md)
- [CMTaggedBufferGroup](coremedia/cmtaggedbuffergroup.md)
- [CMFormatDescription](coremedia/cmformatdescription-api.md)
- [CMAttachment](coremedia/cmattachment-api.md)
- [CMTaggedBuffer](coremedia/cmtaggedbuffer.md)
- [CMReadOnlyDataBlockBuffer](coremedia/cmreadonlydatablockbuffer.md)
- [CMReadySampleBuffer](coremedia/cmreadysamplebuffer.md)
- [CMSampleDataReference](coremedia/cmsampledatareference.md)
- [CMTaggedDynamicBuffer](coremedia/cmtaggeddynamicbuffer.md)
