<!--
{
  "availability" : [
    "iOS: 26.0.0 -",
    "iPadOS: 26.0.0 -",
    "macCatalyst: -",
    "macOS: 26.0.0 -",
    "tvOS: 26.0.0 -",
    "visionOS: 26.0.0 -",
    "watchOS: 26.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "CoreMedia",
  "identifier" : "/documentation/CoreMedia/CMReadySampleBuffer/outputPresentationTimeStamp",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Property",
  "symbol" : {
    "kind" : "Instance Property",
    "modules" : [
      "Core Media"
    ],
    "preciseIdentifier" : "s:9CoreMedia19CMReadySampleBufferV27outputPresentationTimeStampSo6CMTimeavp"
  },
  "title" : "outputPresentationTimeStamp"
}
-->

# outputPresentationTimeStamp

The output presentation timestamp of the sample buffer.

```
var outputPresentationTimeStamp: CMTime { get set }
```

## Discussion

This is the time at which the decoded, trimmed, stretched and possibly reversed samples should commence being presented.
If this property has been set explicitly, the same value is returned.

Otherwise, the value is calculated as:
`(PresentationTimeStamp + TrimDurationAtStart)`
unless [`reverse`](/documentation/CoreMedia/CMSampleBuffer/AttachmentKey/reverse) is true, in which case the value is calculated as:
`(PresentationTimeStamp + Duration - TrimDurationAtEnd)`

These are generally correct for un-stretched, un-shifted playback. For general forward playback in a scaled edit, this property should be set to:
`((PresentationTimeStamp + TrimDurationAtStart - EditStartMediaTime) / EditSpeedMultiplier) + EditStartTrackTime`
For general reversed playback:
`((PresentationTimeStamp + Duration - TrimDurationAtEnd - EditStartMediaTime) / EditSpeedMultiplier) + EditStartTrackTime`

- PresentationTimeStamp is `presentationTimeStamp` property of this sample buffer.
- Duration is `duration` property of this sample buffer.
- TrimDurationAtStart is the value of [`trimDurationAtStart`](/documentation/CoreMedia/CMSampleBuffer/AttachmentKey/trimDurationAtStart) attachment (default 0).
- TrimDurationAtEnd is the value of [`trimDurationAtEnd`](/documentation/CoreMedia/CMSampleBuffer/AttachmentKey/trimDurationAtEnd) attachment (default 0).
- SpeedMultiplier is the value of [`speedMultiplier`](/documentation/CoreMedia/CMSampleBuffer/AttachmentKey/speedMultiplier) attachment (default 1).
- EditStartMediaTime is the start time of this playback segment.
- EditStartTrackTime is the start time of the media track.
- EditSpeedMultiplier is the speed of media playback.

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)