---
title: "CMSampleBufferGetOutputPresentationTimeStamp(_:)"
framework: coremedia
role: symbol
role_heading: Function
path: "coremedia/cmsamplebuffergetoutputpresentationtimestamp(_:)"
---

# CMSampleBufferGetOutputPresentationTimeStamp(_:)

Returns the output presentation timestamp of a sample buffer.

## Declaration

```swift
func CMSampleBufferGetOutputPresentationTimeStamp(_ sbuf: CMSampleBuffer) -> CMTime
```

## Parameters

- `sbuf`: The CMSampleBuffer being interrogated.

## Return Value

Return Value The output presentation timestamp of the CMSampleBuffer or kCMTimeInvalid if there is an error.

## Discussion

Discussion The output presentation timestamp is the time at which the decoded, trimmed, stretched, and possibly reversed samples should start being presented. If CMSampleBufferGetOutputPresentationTimeStamp(_:) has been called to explicitly set the output PTS, CMSampleBufferGetOutputPresentationTimeStamp(_:) returns it. If not, CMSampleBufferGetOutputPresentationTimeStamp(_:) calculates its result as (PresentationTimeStamp + TrimDurationAtStart) unless kCMSampleBufferAttachmentKey_Reverse is kCFBooleanTrue, in which case it calculates the result as  (PresentationTimeStamp + Duration - TrimDurationAtEnd). These are generally correct for un-stretched, un-shifted playback. For general forward playback in a scaled edit, the OutputPresentationTimeStamp should be set to: ((PresentationTimeStamp + TrimDurationAtStart - EditStartMediaTime) / EditSpeedMultiplier) + EditStartTrackTime For general reversed playback: ((PresentationTimeStamp + Duration - TrimDurationAtEnd - EditStartMediaTime) / EditSpeedMultiplier) + EditStartTrackTime

## See Also

### Inspecting Duration and Timing

- [CMSampleBufferGetDuration(_:)](coremedia/cmsamplebuffergetduration(_:).md)
- [CMSampleBufferGetDecodeTimeStamp(_:)](coremedia/cmsamplebuffergetdecodetimestamp(_:).md)
- [CMSampleBufferGetPresentationTimeStamp(_:)](coremedia/cmsamplebuffergetpresentationtimestamp(_:).md)
- [CMSampleBufferGetOutputDuration(_:)](coremedia/cmsamplebuffergetoutputduration(_:).md)
- [CMSampleBufferGetOutputDecodeTimeStamp(_:)](coremedia/cmsamplebuffergetoutputdecodetimestamp(_:).md)
- [CMSampleBufferSetOutputPresentationTimeStamp(_:newValue:)](coremedia/cmsamplebuffersetoutputpresentationtimestamp(_:newvalue:).md)
- [CMSampleBufferGetSampleTimingInfo(_:at:timingInfoOut:)](coremedia/cmsamplebuffergetsampletiminginfo(_:at:timinginfoout:).md)
- [CMSampleBufferGetSampleTimingInfoArray(_:entryCount:arrayToFill:entriesNeededOut:)](coremedia/cmsamplebuffergetsampletiminginfoarray(_:entrycount:arraytofill:entriesneededout:).md)
- [CMSampleBufferGetOutputSampleTimingInfoArray(_:entryCount:arrayToFill:entriesNeededOut:)](coremedia/cmsamplebuffergetoutputsampletiminginfoarray(_:entrycount:arraytofill:entriesneededout:).md)
