<!--
{
  "availability" : [
    "iOS: 12.0.0 -",
    "iPadOS: 12.0.0 -",
    "macCatalyst: 13.1.0 -",
    "macOS: 10.11.0 -",
    "tvOS: 12.0.0 -",
    "visionOS: 1.0.0 -",
    "watchOS: 6.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "AVFoundation",
  "identifier" : "/documentation/AVFoundation/AVFragmentedAsset",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "AVFoundation"
    ],
    "preciseIdentifier" : "c:objc(cs)AVFragmentedAsset"
  },
  "title" : "AVFragmentedAsset"
}
-->

# AVFragmentedAsset

An asset with a duration that the system can extend without modifying its existing media data.

```
class AVFragmentedAsset
```

## Overview

By using an `mvex` box in their `moov` box, QuickTime movie files and MPEG-4 files can indicate that they accommodate additional fragments. To determine whether a fragmented asset can monitor the addition of fragments, check the value of its [`canContainFragments`](/documentation/AVFoundation/AVAsset/canContainFragments) property.

Associate a fragmented asset with an instance of [`AVFragmentedAssetMinder`](/documentation/AVFoundation/AVFragmentedAssetMinder) to know when the system appends new fragments. When it has an associated asset minder, [`AVFragmentedAssetTrack`](/documentation/AVFoundation/AVFragmentedAssetTrack) posts [`AVAssetDurationDidChangeNotification`](/documentation/AVFoundation/AVAssetDurationDidChangeNotification) notifications whenever it detects new fragments. It may also post [`AVAssetContainsFragmentsDidChangeNotification`](/documentation/AVFoundation/AVAssetContainsFragmentsDidChangeNotification) and [`AVAssetWasDefragmentedNotification`](/documentation/AVFoundation/AVAssetWasDefragmentedNotification), as the documentation of those notifications explains.

## Topics

### Creating a fragmented asset

[`fragmentedAssetWithURL:options:`](/documentation/AVFoundation/AVFragmentedAsset/fragmentedAssetWithURL:options:)

Creates a fragmented asset for the media at the specified URL.

### Loading tracks

[`tracks`](/documentation/AVFoundation/AVPartialAsyncProperty/tracks-9z3j9)

The tracks an asset contains.

[`loadTrack(withTrackID:completionHandler:)`](/documentation/AVFoundation/AVFragmentedAsset/loadTrack(withTrackID:completionHandler:))

Loads a track that contains the specified identifier.

[`loadTracks(withMediaType:completionHandler:)`](/documentation/AVFoundation/AVFragmentedAsset/loadTracks(withMediaType:completionHandler:))

Loads tracks that contain media of a specified type.

[`loadTracks(withMediaCharacteristic:completionHandler:)`](/documentation/AVFoundation/AVFragmentedAsset/loadTracks(withMediaCharacteristic:completionHandler:))

Loads tracks that contain media of a specified characteristic.

### Accessing tracks

[`tracks`](/documentation/AVFoundation/AVFragmentedAsset/tracks)

The tracks an asset contains.

[`track(withTrackID:)`](/documentation/AVFoundation/AVFragmentedAsset/track(withTrackID:))

Returns a track that contains the specified identifier.

[`tracks(withMediaType:)`](/documentation/AVFoundation/AVFragmentedAsset/tracks(withMediaType:))

Returns tracks that present media of a specified type.

[`tracks(withMediaCharacteristic:)`](/documentation/AVFoundation/AVFragmentedAsset/tracks(withMediaCharacteristic:))

Returns tracks that present media of a specified characteristic.



---

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)