---
title: CVBuffer
framework: corevideo
role: collectionGroup
role_heading: API Collection
path: corevideo/cvbuffer-nfm
---

# CVBuffer

An abstract base class that defines how to interact with data buffers.

## Overview

Overview A CVBuffer serves as an abstract base class that defines how to interact with buffers of data. A buffer object can hold video, audio, or possibly other types of data. All the other buffer types within the Core Video framework, such as CVImageBuffer and CVPixelBuffer, derive from CVBuffer. You can use the CVBuffer programming interface on any Core Video buffer.

## Topics

### Working with attachments

- [CVBufferHasAttachment(_:_:)](corevideo/cvbufferhasattachment(_:_:).md)
- [CVBufferCopyAttachment(_:_:_:)](corevideo/cvbuffercopyattachment(_:_:_:).md)
- [CVBufferCopyAttachments(_:_:)](corevideo/cvbuffercopyattachments(_:_:).md)
- [CVBufferSetAttachment(_:_:_:_:)](corevideo/cvbuffersetattachment(_:_:_:_:).md)
- [CVBufferSetAttachments(_:_:_:)](corevideo/cvbuffersetattachments(_:_:_:).md)
- [CVBufferPropagateAttachments(_:_:)](corevideo/cvbufferpropagateattachments(_:_:).md)
- [CVBufferRemoveAttachment(_:_:)](corevideo/cvbufferremoveattachment(_:_:).md)
- [CVBufferRemoveAllAttachments(_:)](corevideo/cvbufferremoveallattachments(_:).md)
- [CVBufferGetAttachment(_:_:_:)](corevideo/cvbuffergetattachment(_:_:_:).md)
- [CVBufferGetAttachments(_:_:)](corevideo/cvbuffergetattachments(_:_:).md)

### Protocols

- [CVBufferRepresentable](corevideo/cvbufferrepresentable.md)
- [CVAttachmentKeyDefinitions](corevideo/cvattachmentkeydefinitions.md)
- [CVAttachmentModePreference](corevideo/cvattachmentmodepreference.md)
- [CVAttachmentValueRepresentable](corevideo/cvattachmentvaluerepresentable.md)

### Attachment system (Swift)

- [CVAttachmentAccess](corevideo/cvattachmentaccess.md)
- [CVAttachmentContainer](corevideo/cvattachmentcontainer.md)
- [CVAttachmentRawValue](corevideo/cvattachmentrawvalue.md)
- [CVAttachmentKeyDefinition](corevideo/cvattachmentkeydefinition.md)
- [CVAttachmentKeyDefinitionWithDefault](corevideo/cvattachmentkeydefinitionwithdefault.md)
- [CVAttachmentCompositeKeyDefinition](corevideo/cvattachmentcompositekeydefinition.md)
- [CVAttachmentModePreferenceShouldPropagate](corevideo/cvattachmentmodepreferenceshouldpropagate.md)
- [CVAttachmentModePreferenceShouldNotPropagate](corevideo/cvattachmentmodepreferenceshouldnotpropagate.md)

### Data types

- [CVBuffer](corevideo/cvbuffer.md)
- [CVAttachmentMode](corevideo/cvattachmentmode.md)

### Constants

- [CVBuffer Attribute Keys](corevideo/cvbuffer-attribute-keys.md)
- [CVBuffer Attachment Keys](corevideo/cvbuffer-attachment-keys.md)

## See Also

### Related Documentation

- [Core Video Programming Guide](apple-archive/documentation/GraphicsImaging/Conceptual/CoreVideo/CVProg_Intro.md)

### Data Processing

- [CVImageBuffer](corevideo/cvimagebuffer-q40.md)
- [CVPixelBuffer](corevideo/cvpixelbuffer-q2e.md)
- [CVPixelBufferPool](corevideo/cvpixelbufferpool-77o.md)
- [CVPixelFormatDescription](corevideo/cvpixelformatdescription-42p.md)
