---
title: AVAssetWriterInput
framework: avfoundation
role: symbol
role_heading: Class
path: avfoundation/avassetwriterinput
---

# AVAssetWriterInput

An object that appends media samples to a track in an asset writer’s output file.

## Declaration

```swift
class AVAssetWriterInput
```

## Mentioned in

Tagging media with video color information

## Overview

Overview Create an asset writer input to write a single track of media, and optional track-level metadata, to the output file. To write multiple concurrent tracks with ideal interleaving of media data, observe the value of the isReadyForMoreMediaData property of each input. You can use an asset writer input to create tracks in a QuickTime movie file that aren’t self-contained, and instead reference sample data that exists in another file.

## Topics

### Creating an input

- [init(mediaType:outputSettings:)](avfoundation/avassetwriterinput/init(mediatype:outputsettings:).md)
- [init(mediaType:outputSettings:sourceFormatHint:)](avfoundation/avassetwriterinput/init(mediatype:outputsettings:sourceformathint:).md)

### Configuring presentation

- [naturalSize](avfoundation/avassetwriterinput/naturalsize.md)
- [transform](avfoundation/avassetwriterinput/transform.md)
- [preferredVolume](avfoundation/avassetwriterinput/preferredvolume.md)
- [mediaTimeScale](avfoundation/avassetwriterinput/mediatimescale.md)
- [marksOutputTrackAsEnabled](avfoundation/avassetwriterinput/marksoutputtrackasenabled.md)

### Configuring language support

- [languageCode](avfoundation/avassetwriterinput/languagecode.md)
- [extendedLanguageTag](avfoundation/avassetwriterinput/extendedlanguagetag.md)

### Configuring metadata

- [metadata](avfoundation/avassetwriterinput/metadata.md)

### Configuring media data layout

- [preferredMediaChunkAlignment](avfoundation/avassetwriterinput/preferredmediachunkalignment.md)
- [preferredMediaChunkDuration](avfoundation/avassetwriterinput/preferredmediachunkduration.md)
- [sampleReferenceBaseURL](avfoundation/avassetwriterinput/samplereferencebaseurl.md)
- [mediaDataLocation](avfoundation/avassetwriterinput/mediadatalocation-swift.property.md)
- [AVAssetWriterInput.MediaDataLocation](avfoundation/avassetwriterinput/mediadatalocation-swift.struct.md)

### Configuring track associations

- [canAddTrackAssociation(withTrackOf:type:)](avfoundation/avassetwriterinput/canaddtrackassociation(withtrackof:type:).md)
- [addTrackAssociation(withTrackOf:type:)](avfoundation/avassetwriterinput/addtrackassociation(withtrackof:type:).md)

### Appending media samples

- [expectsMediaDataInRealTime](avfoundation/avassetwriterinput/expectsmediadatainrealtime.md)
- [isReadyForMoreMediaData](avfoundation/avassetwriterinput/isreadyformoremediadata.md)
- [requestMediaDataWhenReady(on:using:)](avfoundation/avassetwriterinput/requestmediadatawhenready(on:using:).md)
- [append(_:)](avfoundation/avassetwriterinput/append(_:).md)
- [markAsFinished()](avfoundation/avassetwriterinput/markasfinished().md)
- [AVAssetWriterInput.SampleBufferReceiver](avfoundation/avassetwriterinput/samplebufferreceiver.md)
- [AVAssetWriterInput.PixelBufferReceiver](avfoundation/avassetwriterinput/pixelbufferreceiver.md)
- [AVAssetWriterInput.TaggedPixelBufferGroupReceiver](avfoundation/avassetwriterinput/taggedpixelbuffergroupreceiver.md)
- [AVAssetWriterInput.MetadataReceiver](avfoundation/avassetwriterinput/metadatareceiver.md)
- [AVAssetWriterInput.CaptionReceiver](avfoundation/avassetwriterinput/captionreceiver.md)

### Performing multiple-pass encoding

- [canPerformMultiplePasses](avfoundation/avassetwriterinput/canperformmultiplepasses.md)
- [currentPassDescription](avfoundation/avassetwriterinput/currentpassdescription.md)
- [AVAssetWriterInputPassDescription](avfoundation/avassetwriterinputpassdescription.md)
- [markCurrentPassAsFinished()](avfoundation/avassetwriterinput/markcurrentpassasfinished().md)
- [performsMultiPassEncodingIfSupported](avfoundation/avassetwriterinput/performsmultipassencodingifsupported.md)
- [respondToEachPassDescription(on:using:)](avfoundation/avassetwriterinput/respondtoeachpassdescription(on:using:).md)
- [AVAssetWriterInput.MultiPassController](avfoundation/avassetwriterinput/multipasscontroller.md)

### Inspecting an input

- [mediaType](avfoundation/avassetwriterinput/mediatype.md)
- [outputSettings](avfoundation/avassetwriterinput/outputsettings.md)
- [sourceFormatHint](avfoundation/avassetwriterinput/sourceformathint.md)

## Relationships

### Inherits From

- [NSObject](objectivec/nsobject-swift.class.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

## See Also

### Media writing

- [Converting projected video to Apple Projected Media Profile](avfoundation/converting-projected-video-to-apple-projected-media-profile.md)
- [Converting side-by-side 3D video to multiview HEVC and spatial video](avfoundation/converting-side-by-side-3d-video-to-multiview-hevc-and-spatial-video.md)
- [Adding a display mask rectangle metadata track to a movie file](avfoundation/adding-a-display-mask-rectangle-metadata-track-to-a-movie-file.md)
- [Writing fragmented MPEG-4 files for HTTP Live Streaming](avfoundation/writing-fragmented-mpeg-4-files-for-http-live-streaming.md)
- [Creating spatial photos and videos with spatial metadata](imageio/creating-spatial-photos-and-videos-with-spatial-metadata.md)
- [Tagging media with video color information](avfoundation/tagging-media-with-video-color-information.md)
- [Evaluating an app’s video color](avfoundation/evaluating-an-app-s-video-color.md)
- [AVOutputSettingsAssistant](avfoundation/avoutputsettingsassistant.md)
- [AVAssetWriter](avfoundation/avassetwriter.md)
- [AVAssetWriterInputPixelBufferAdaptor](avfoundation/avassetwriterinputpixelbufferadaptor.md)
- [AVAssetWriterInputTaggedPixelBufferGroupAdaptor](avfoundation/avassetwriterinputtaggedpixelbuffergroupadaptor.md)
- [AVAssetWriterInputMetadataAdaptor](avfoundation/avassetwriterinputmetadataadaptor.md)
- [AVAssetWriterInputGroup](avfoundation/avassetwriterinputgroup.md)
