<!--
{
  "documentType" : "article",
  "framework" : "Updates",
  "identifier" : "/documentation/Updates/AVFoundation",
  "metadataVersion" : "0.1.0",
  "role" : "article",
  "title" : "AVFoundation updates"
}
-->

# AVFoundation updates

Learn about important changes to AVFoundation.

## Overview

Browse notable changes in <doc://com.apple.documentation/documentation/AVFoundation>.

## June 2024

### Assets

- Preserve HDR data when generating images with `AVAssetImageGenerator` by setting the value of its <doc://com.apple.documentation/documentation/AVFoundation/AVAssetImageGenerator/dynamicRangePolicy-swift.property> property to match the source video.
- Export media asynchronously using the <doc://com.apple.documentation/documentation/AVFoundation/AVAssetExportSession/export(to:as:isolation:)> method of <doc://com.apple.documentation/documentation/AVFoundation/AVAssetExportSession>. You can monitor the progress of an export by calling the <doc://com.apple.documentation/documentation/AVFoundation/AVAssetExportSession/states(updateInterval:)> method and awaiting its results.
- Determine whether an <doc://com.apple.documentation/documentation/AVFoundation/AVURLAsset> decodes its data using a Media Extension by inspecting its <doc://com.apple.documentation/documentation/AVFoundation/AVURLAsset/mediaExtensionProperties> property.

### Camera

- Show your camera app on the Lock Screen by adopting the  <doc://com.apple.documentation/documentation/LockedCameraCapture> framework.
- Capture photos in constant color by configuring a photo output’s <doc://com.apple.documentation/documentation/AVFoundation/AVCapturePhotoOutput/isConstantColorEnabled> property.
- Continue background audio playback while performing audio and video capture by enabling a capture session’s <doc://com.apple.documentation/documentation/AVFoundation/AVCaptureSession/configuresApplicationAudioSessionToMixWithOthers> property.
- Pause and resume video recording in iOS when using <doc://com.apple.documentation/documentation/AVFoundation/AVCaptureFileOutput>.
- Support enhanced video stabilization using <doc://com.apple.documentation/documentation/AVFoundation/AVCaptureVideoStabilizationMode/cinematicExtendedEnhanced>.
- Configure a capture device to automatically adjust its frame rate based on lighting conditions by enabling its <doc://com.apple.documentation/documentation/AVFoundation/AVCaptureDevice/isAutoVideoFrameRateEnabled> property.
- Configure a capture device to replace background content in macOS by enabling its <doc://com.apple.documentation/documentation/AVFoundation/AVCaptureDevice/isBackgroundReplacementEnabled> property.

### Playback

- Build playback apps using the latest Swift Concurrency features due to enhanced <doc://com.apple.documentation/documentation/Swift/Sendable> adoption throughout the playback APIs.
- Capture performance and playback metrics using <doc://com.apple.documentation/documentation/AVFoundation/AVMetrics>.
- Receive rendered captions for the currently playing media using <doc://com.apple.documentation/documentation/AVFoundation/AVPlayerItemRenderedLegibleOutput>.
- Simplify handling of interstitial content by using <doc://com.apple.documentation/documentation/AVFoundation/AVPlayerItemIntegratedTimeline>.
- Send Common Media Client Data (CMCD) as HTTP headers by enabling the new <doc://com.apple.documentation/documentation/AVFoundation/AVAssetResourceLoader/sendsCommonMediaClientDataAsHTTPHeaders> property on <doc://com.apple.documentation/documentation/AVFoundation/AVAssetResourceLoader>.

---

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)