---
title: kCMSampleBufferAttachmentKey_EndsPreviousSampleDuration
framework: coremedia
role: symbol
role_heading: Global Variable
path: coremedia/kcmsamplebufferattachmentkey_endsprevioussampleduration
---

# kCMSampleBufferAttachmentKey_EndsPreviousSampleDuration

Indicates that sample buffer’s decode timestamp may be used to define the previous sample buffer’s duration (type CFBoolean, default false).

## Declaration

```swift
let kCMSampleBufferAttachmentKey_EndsPreviousSampleDuration: CFString
```

## Discussion

Discussion Marker sample buffers with this attachment may be used in situations where sample buffers are transmitted        before their duration is known. In such situations, normally the recipient may use each sample buffer’s timestamp        to calculate the duration of the previous sample buffer. The marker sample buffer with this attachment is sent        to provide the timestamp for calculating the final sample buffer’s duration.

## See Also

### Sample Buffer Keys

- [kCMSampleBufferAttachmentKey_DisplayEmptyMediaImmediately](coremedia/kcmsamplebufferattachmentkey_displayemptymediaimmediately.md)
- [kCMSampleBufferAttachmentKey_DrainAfterDecoding](coremedia/kcmsamplebufferattachmentkey_drainafterdecoding.md)
- [kCMSampleBufferAttachmentKey_DroppedFrameReason](coremedia/kcmsamplebufferattachmentkey_droppedframereason.md)
- [kCMSampleBufferDroppedFrameReason_FrameWasLate](coremedia/kcmsamplebufferdroppedframereason_framewaslate.md)
- [kCMSampleBufferDroppedFrameReason_OutOfBuffers](coremedia/kcmsamplebufferdroppedframereason_outofbuffers.md)
- [kCMSampleBufferDroppedFrameReason_Discontinuity](coremedia/kcmsamplebufferdroppedframereason_discontinuity.md)
- [kCMSampleBufferAttachmentKey_DroppedFrameReasonInfo](coremedia/kcmsamplebufferattachmentkey_droppedframereasoninfo.md)
- [kCMSampleBufferDroppedFrameReasonInfo_CameraModeSwitch](coremedia/kcmsamplebufferdroppedframereasoninfo_cameramodeswitch.md)
- [kCMSampleBufferAttachmentKey_EmptyMedia](coremedia/kcmsamplebufferattachmentkey_emptymedia.md)
- [kCMSampleBufferAttachmentKey_FillDiscontinuitiesWithSilence](coremedia/kcmsamplebufferattachmentkey_filldiscontinuitieswithsilence.md)
- [kCMSampleBufferAttachmentKey_ForceKeyFrame](coremedia/kcmsamplebufferattachmentkey_forcekeyframe.md)
- [kCMSampleBufferAttachmentKey_GradualDecoderRefresh](coremedia/kcmsamplebufferattachmentkey_gradualdecoderrefresh.md)
- [kCMSampleBufferAttachmentKey_PermanentEmptyMedia](coremedia/kcmsamplebufferattachmentkey_permanentemptymedia.md)
- [kCMSampleBufferAttachmentKey_PostNotificationWhenConsumed](coremedia/kcmsamplebufferattachmentkey_postnotificationwhenconsumed.md)
- [kCMSampleBufferAttachmentKey_ResetDecoderBeforeDecoding](coremedia/kcmsamplebufferattachmentkey_resetdecoderbeforedecoding.md)
