---
title: METrackReader
framework: MediaExtension
role: symbol
role_heading: Protocol
platforms: [macOS 14.0+]
path: mediaextension/metrackreader
---

# METrackReader

A protocol that defines the information to provide about a track within a media asset.

## Declaration

```swift
protocol METrackReader : NSObjectProtocol
```

## Overview

Overview Return default values for methods that don’t apply to a track type.

## Topics

### Getting track information

- [loadTrackInfo(completionHandler:)](mediaextension/metrackreader/loadtrackinfo(completionhandler:).md)
- [generateSampleCursor(atPresentationTimeStamp:completionHandler:)](mediaextension/metrackreader/generatesamplecursor(atpresentationtimestamp:completionhandler:).md)
- [generateSampleCursorAtFirstSampleInDecodeOrder(completionHandler:)](mediaextension/metrackreader/generatesamplecursoratfirstsampleindecodeorder(completionhandler:).md)
- [generateSampleCursorAtLastSampleInDecodeOrder(completionHandler:)](mediaextension/metrackreader/generatesamplecursoratlastsampleindecodeorder(completionhandler:).md)
- [loadUneditedDuration(completionHandler:)](mediaextension/metrackreader/loaduneditedduration(completionhandler:).md)
- [loadTotalSampleDataLength(completionHandler:)](mediaextension/metrackreader/loadtotalsampledatalength(completionhandler:).md)
- [loadEstimatedDataRate(completionHandler:)](mediaextension/metrackreader/loadestimateddatarate(completionhandler:).md)
- [loadMetadata(completionHandler:)](mediaextension/metrackreader/loadmetadata(completionhandler:).md)

## Relationships

### Inherits From

- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

## See Also

### Track readers

- [METrackInfo](mediaextension/metrackinfo.md)
