<!--
{
  "availability" : [
    "iOS: 7.0.0 -",
    "iPadOS: 7.0.0 -",
    "macCatalyst: 13.1.0 -",
    "macOS: 10.9.0 -",
    "tvOS: 9.0.0 -",
    "visionOS: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "AVFoundation",
  "identifier" : "/documentation/AVFoundation/AVPlayerItem/customVideoCompositor",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Property",
  "symbol" : {
    "kind" : "Instance Property",
    "modules" : [
      "AVFoundation"
    ],
    "preciseIdentifier" : "c:objc(cs)AVPlayerItem(py)customVideoCompositor"
  },
  "title" : "customVideoCompositor"
}
-->

# customVideoCompositor

The custom video compositor.

```
nonisolated var customVideoCompositor: (any AVVideoCompositing)? { get }
```

## Discussion

The custom video compositor instance that is used during image generation is accessible via this property after the value of [`videoComposition`](/documentation/AVFoundation/AVPlayerItem/videoComposition) is set to an [`AVVideoComposition`](/documentation/AVFoundation/AVVideoComposition) instance that specifies a custom video compositor class. Any additional communication between the application and that instance of the custom video compositor, if any is required for configuration or other purposes, can only occur once that has happened.

If the value of [`videoComposition`](/documentation/AVFoundation/AVPlayerItem/videoComposition) is changed from an [`AVVideoComposition`](/documentation/AVFoundation/AVVideoComposition) that specifies a custom video compositor class to another instance of [`AVVideoComposition`](/documentation/AVFoundation/AVVideoComposition) that specifies the same custom video compositor class, the instance of the custom video compositor that was previously created will receive the [`renderContextChanged(_:)`](/documentation/AVFoundation/AVVideoCompositing/renderContextChanged(_:)) message and remain in use for subsequent image generation.

This property is `nil` if there is no video compositor, or if the internal video compositor is in use.

---

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)