---
title: CMBlockBufferProtocol
framework: coremedia
role: symbol
role_heading: Protocol
path: coremedia/cmblockbufferprotocol
---

# CMBlockBufferProtocol

A protocol for objects that operate on a range of a block buffer.

## Declaration

```swift
protocol CMBlockBufferProtocol
```

## Topics

### Modifying a Block Buffer

- [copyDataBytes(to:)](coremedia/cmblockbufferprotocol/copydatabytes(to:).md)
- [dataBytes()](coremedia/cmblockbufferprotocol/databytes().md)
- [fillDataBytes(with:)](coremedia/cmblockbufferprotocol/filldatabytes(with:).md)
- [replaceDataBytes(with:)](coremedia/cmblockbufferprotocol/replacedatabytes(with:).md)
- [isContiguous](coremedia/cmblockbufferprotocol/iscontiguous.md)
- [makeContiguous(allocator:deallocator:flags:)](coremedia/cmblockbufferprotocol/makecontiguous(allocator:deallocator:flags:).md)
- [makeContiguous(allocator:flags:)](coremedia/cmblockbufferprotocol/makecontiguous(allocator:flags:).md)
- [withContiguousStorage(_:)](coremedia/cmblockbufferprotocol/withcontiguousstorage(_:).md)

### Inspecting a Block Buffer

- [dataLength](coremedia/cmblockbufferprotocol/datalength.md)
- [startIndex](coremedia/cmblockbufferprotocol/startindex.md)
- [endIndex](coremedia/cmblockbufferprotocol/endindex.md)
- [owner](coremedia/cmblockbufferprotocol/owner.md)

### Subscripts

- [subscript(_:)](coremedia/cmblockbufferprotocol/subscript(_:)-7a30d.md)
- [subscript(_:)](coremedia/cmblockbufferprotocol/subscript(_:)-1go3.md)
- [subscript(_:)](coremedia/cmblockbufferprotocol/subscript(_:)-9ntfs.md)
- [subscript(_:)](coremedia/cmblockbufferprotocol/subscript(_:)-6ghj4.md)
- [subscript(_:)](coremedia/cmblockbufferprotocol/subscript(_:)-532k5.md)
- [subscript(_:)](coremedia/cmblockbufferprotocol/subscript(_:)-8jilq.md)

## Relationships

### Conforming Types

- [CMBlockBuffer](coremedia/cmblockbuffer.md)
- [CMBlockBuffer.Slice](coremedia/cmblockbuffer/slice.md)

## See Also

### Data Types

- [CMBlockBuffer](coremedia/cmblockbuffer.md)
