---
title: "CMBufferQueueEnqueue(_:buffer:)"
framework: coremedia
role: symbol
role_heading: Function
path: "coremedia/cmbufferqueueenqueue(_:buffer:)"
---

# CMBufferQueueEnqueue(_:buffer:)

Enqueues a buffer onto a queue.

## Declaration

```swift
func CMBufferQueueEnqueue(_ queue: CMBufferQueue, buffer buf: CMBuffer) -> OSStatus
```

## Parameters

- `queue`: The CMBufferQueue on which to enqueue the buffer.
- `buf`: The buffer to enqueue.

## Return Value

Return Value A result code. See Result Codes.

## Discussion

Discussion The buffer is retained by the queue, so the client can safely release the buffer if it has no further use for it. If the compare callback is non-NULL, this API performs an insertion sort using that compare operation. If the validation callback is non-NULL, this API calls it; if it returns a nonzero OSStatus, the buffer will not be enqueued and this API will return the same error OSStatus.

## See Also

### Managing a Queue

- [CMBufferQueueCallForEachBuffer(_:callback:refcon:)](coremedia/cmbufferqueuecallforeachbuffer(_:callback:refcon:).md)
- [CMBufferQueueDequeue(_:)](coremedia/cmbufferqueuedequeue(_:).md)
- [CMBufferQueueDequeueIfDataReady(_:)](coremedia/cmbufferqueuedequeueifdataready(_:).md)
- [CMBufferQueueMarkEndOfData(_:)](coremedia/cmbufferqueuemarkendofdata(_:).md)
- [CMBufferQueueReset(_:)](coremedia/cmbufferqueuereset(_:).md)
- [CMBufferQueueResetWithCallback(_:callback:refcon:)](coremedia/cmbufferqueueresetwithcallback(_:callback:refcon:).md)
- [CMBufferQueueRemoveTrigger(_:triggerToken:)](coremedia/cmbufferqueueremovetrigger(_:triggertoken:).md)
