<!--
{
  "availability" : [
    "iOS: 26.0.0 -",
    "iPadOS: 26.0.0 -",
    "macCatalyst: 26.0.0 -",
    "macOS: 26.0.0 -",
    "tvOS: 26.0.0 -",
    "visionOS: 26.0.0 -",
    "watchOS: 26.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "CoreVideo",
  "identifier" : "/documentation/CoreVideo/CVMutablePixelBuffer/Pool",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "Core Video",
      "CoreVideo"
    ],
    "preciseIdentifier" : "s:9CoreVideo20CVMutablePixelBufferV4PoolC"
  },
  "title" : "CVMutablePixelBuffer.Pool"
}
-->

# CVMutablePixelBuffer.Pool

Manage and recycle pixel buffer backings.

```
final class Pool
```

## Topics

### Structures

[`struct AllocationAttributes`](/documentation/CoreVideo/CVMutablePixelBuffer/Pool/AllocationAttributes)

Controls how new pixel buffers are allocated when `CVMutablePixelBuffer/Pool/mutablePixelBuffer(with:)` is called.

[`struct Configuration`](/documentation/CoreVideo/CVMutablePixelBuffer/Pool/Configuration)

Configuration passed to pixel buffer pool on creation.

### Initializers

[`init(pixelBufferAttributes: CVPixelBufferCreationAttributes, configuration: CVMutablePixelBuffer.Pool.Configuration) throws`](/documentation/CoreVideo/CVMutablePixelBuffer/Pool/init(pixelBufferAttributes:configuration:))

Create a new pixel buffer pool which creates pixel buffers using `pixelBufferAttributes`.

[`init(unsafePool: sending CVPixelBufferPool)`](/documentation/CoreVideo/CVMutablePixelBuffer/Pool/init(unsafePool:))

Initialize a mutable pixel buffer pool by transferring existing CVPixelBufferPool.

### Instance Properties

[`var pixelBufferAttributes: CVPixelBufferCreationAttributes`](/documentation/CoreVideo/CVMutablePixelBuffer/Pool/pixelBufferAttributes)

Creation attributes for the pixel buffers created by this pool.

### Instance Methods

[`func flush(agedOutOnly: Bool)`](/documentation/CoreVideo/CVMutablePixelBuffer/Pool/flush(agedOutOnly:))

Frees as many buffers from the pool as possible.

[`func makeMutablePixelBuffer(CVMutablePixelBuffer.Pool.AllocationAttributes) throws -> CVMutablePixelBuffer`](/documentation/CoreVideo/CVMutablePixelBuffer/Pool/makeMutablePixelBuffer(_:))

This function creates a new CVMutablePixelBuffer using the pixel buffer attributes specified during pool creation.

## Relationships

### Conforms To

[`Sendable`](/documentation/Swift/Sendable)

[`SendableMetatype`](/documentation/Swift/SendableMetatype)

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)