<!--
{
  "availability" : [
    "iOS: 8.0.0 -",
    "iPadOS: 8.0.0 -",
    "macCatalyst: 13.1.0 -",
    "macOS: 10.10.0 -",
    "tvOS: 9.0.0 -",
    "visionOS: 1.0.0 -",
    "watchOS: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "AVFoundation",
  "identifier" : "/documentation/AVFoundation/AVPlayerItemMetadataOutputPushDelegate/metadataOutput(_:didOutputTimedMetadataGroups:from:)",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Method",
  "symbol" : {
    "kind" : "Instance Method",
    "modules" : [
      "AVFoundation"
    ],
    "preciseIdentifier" : "c:objc(pl)AVPlayerItemMetadataOutputPushDelegate(im)metadataOutput:didOutputTimedMetadataGroups:fromPlayerItemTrack:"
  },
  "title" : "metadataOutput(_:didOutputTimedMetadataGroups:from:)"
}
-->

# metadataOutput(_:didOutputTimedMetadataGroups:from:)

Tells the delegate a new collection of metadata items is available.

```
optional func metadataOutput(_ output: AVPlayerItemMetadataOutput, didOutputTimedMetadataGroups groups: sending [AVTimedMetadataGroup], from track: AVPlayerItemTrack?)
```

## Parameters

`output`

The [`AVPlayerItemMetadataOutput`](/documentation/AVFoundation/AVPlayerItemMetadataOutput) source.

`groups`

An array of `AVTimedMetadataGroups` that contain metadata items with requested identifiers, according to the format descriptions associated with the underlying tracks.

`track`

An instance of [`AVPlayerItemTrack`](/documentation/AVFoundation/AVPlayerItemTrack) that indicates the source of the metadata items in the group.

## Discussion

Each group provided in a single invocation of this method will have timing that does not overlap with any other group in the array.

Note that for some timed metadata formats carried by HTTP live streaming, the `timeRange` of each group must be reported as <doc://com.apple.documentation/documentation/CoreMedia/CMTime/indefinite>, because its duration will be unknown until the next metadata group in the stream arrives. In these cases, the groups parameter will always contain a single group.

Groups are typically packaged into arrays for delivery to your delegate according to the chunking or interleaving of the underlying metadata data.

Note that if the item carries multiple metadata tracks containing metadata with the same metadata identifiers, this method can be invoked for each one separately, each with reference to the associated [`AVPlayerItemTrack`](/documentation/AVFoundation/AVPlayerItemTrack).

---

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)