---
title: "CMBufferQueueDequeue(_:)"
framework: coremedia
role: symbol
role_heading: Function
path: "coremedia/cmbufferqueuedequeue(_:)"
---

# CMBufferQueueDequeue(_:)

Dequeues a buffer from a queue.

## Declaration

```swift
func CMBufferQueueDequeue(_ queue: CMBufferQueue) -> CMBuffer?
```

## Parameters

- `queue`: The CMBufferQueue from which to dequeue a buffer.

## Return Value

Return Value The dequeued buffer.  Will be NULL if the queue is empty.

## Discussion

Discussion The buffer is released by the queue, but it is also retained for the client. Buffer ownership is thereby transferred from queue to client.  The client need not retain the buffer, but is responsible to release it when done with it.

## See Also

### Managing a Queue

- [CMBufferQueueEnqueue(_:buffer:)](coremedia/cmbufferqueueenqueue(_:buffer:).md)
- [CMBufferQueueCallForEachBuffer(_:callback:refcon:)](coremedia/cmbufferqueuecallforeachbuffer(_:callback:refcon:).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)
