<!--
{
  "availability" : [
    "FxPlug: 4.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "professional_video_applications",
  "identifier" : "/documentation/professional_video_applications/FxTimingAPI_v4",
  "metadataVersion" : "0.1.0",
  "role" : "Protocol",
  "symbol" : {
    "kind" : "Protocol",
    "modules" : [
      "Professional Video Applications"
    ],
    "preciseIdentifier" : "c:objc(pl)FxTimingAPI_v4"
  },
  "title" : "FxTimingAPI_v4"
}
-->

# FxTimingAPI_v4

A protocol that defines the methods provided by the host, so that a plug-in can query the timing properties of its input.

```
protocol FxTimingAPI_v4
```

## Overview

Using the FxTimingAPI, your plug-in can query the timing properties of its input image or images, image parameters, effect, timeline, and in or out points.

> Note:
> This version of the API is only available to plug-ins built in the FxPlug 4 style and later, and it intentionally doesn’t inherit from previous versions.

## Topics

### Accessing Timing Values

[`func frameDuration(UnsafeMutablePointer<CMTime>!)`](/documentation/professional_video_applications/FxTimingAPI_v4/frameDuration(_:))

Provides the native frame duration of the object to which the effect is applied.

[`func sampleDuration(UnsafeMutablePointer<CMTime>!)`](/documentation/professional_video_applications/FxTimingAPI_v4/sampleDuration(_:))

Provides the native sample duration of the object to which the effect is applied.

[`func startTime(forEffect: UnsafeMutablePointer<CMTime>!)`](/documentation/professional_video_applications/FxTimingAPI_v4/startTime(forEffect:))

Provides the start time for the effect.

[`func durationTime(forEffect: UnsafeMutablePointer<CMTime>!)`](/documentation/professional_video_applications/FxTimingAPI_v4/durationTime(forEffect:))

Provides the duration time for the effect.

[`func startTimeOfInput(toFilter: UnsafeMutablePointer<CMTime>!)`](/documentation/professional_video_applications/FxTimingAPI_v4/startTimeOfInput(toFilter:))

Provides the start time of the filter’s image input clip.

[`func durationTimeOfInput(toFilter: UnsafeMutablePointer<CMTime>!)`](/documentation/professional_video_applications/FxTimingAPI_v4/durationTimeOfInput(toFilter:))

Provides the duration of the filter’s image input clip.

[`func start(UnsafeMutablePointer<CMTime>!, ofImageParameter: UInt32)`](/documentation/professional_video_applications/FxTimingAPI_v4/start(_:ofImageParameter:))

Provides the start time of the clip the user assigned to the given image parameter for the effect.

[`func durationTime(UnsafeMutablePointer<CMTime>!, ofImageParameter: UInt32)`](/documentation/professional_video_applications/FxTimingAPI_v4/durationTime(_:ofImageParameter:))

Provides the duration of the clip the user assigns to the given image parameter for the effect.

[`func inPointTimeOfTimeline(forEffect: UnsafeMutablePointer<CMTime>!)`](/documentation/professional_video_applications/FxTimingAPI_v4/inPointTimeOfTimeline(forEffect:))

The in point of the timeline on which the user applies the effect.

[`func outPointTimeOfTimeline(forEffect: UnsafeMutablePointer<CMTime>!)`](/documentation/professional_video_applications/FxTimingAPI_v4/outPointTimeOfTimeline(forEffect:))

The out point of the timeline on which the user applies the effect.

[`func timelineTime(UnsafeMutablePointer<CMTime>!, fromInputTime: CMTime)`](/documentation/professional_video_applications/FxTimingAPI_v4/timelineTime(_:fromInputTime:))

Converts from input time of the filter’s image input to timeline time.

[`func timelineTime(UnsafeMutablePointer<CMTime>!, fromImageTime: CMTime, forParameterID: UInt32)`](/documentation/professional_video_applications/FxTimingAPI_v4/timelineTime(_:fromImageTime:forParameterID:))

Converts from image time of the given parameter to timeline time.

[`func inputTime(UnsafeMutablePointer<CMTime>!, fromTimelineTime: CMTime)`](/documentation/professional_video_applications/FxTimingAPI_v4/inputTime(_:fromTimelineTime:))

Converts from timeline time to time of the filter’s image input.

[`func imageTime(UnsafeMutablePointer<CMTime>!, forParameterID: UInt32, fromTimelineTime: CMTime)`](/documentation/professional_video_applications/FxTimingAPI_v4/imageTime(_:forParameterID:fromTimelineTime:))

Converts from timeline time of the given parameter to image time.

[`func fieldOrderForInput(toFilter: (any FxTileableEffect)!) -> FxFieldOrder`](/documentation/professional_video_applications/FxTimingAPI_v4/fieldOrderForInput(toFilter:))

Returns the field order of the filter input.

[`func timelineFpsNumerator(for: (any FxTileableEffect)!) -> Int`](/documentation/professional_video_applications/FxTimingAPI_v4/timelineFpsNumerator(for:))

The numerator of the timeline’s frame rate where the user applies the effect.

[`func timelineFpsDenominator(for: (any FxTileableEffect)!) -> Int`](/documentation/professional_video_applications/FxTimingAPI_v4/timelineFpsDenominator(for:))

The denominator of the timeline’s frame rate where the user applies the effect.



---

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)