AVCaptureOutput Class Reference

Inherits from
Conforms to
Framework
/System/Library/Frameworks/AVFoundation.framework
Availability
Available in iOS 4.0 and later.
Companion guide
Declared in
AVCaptureOutput.h
Related sample code

Overview

AVCaptureOutput is an abstract base class describing an output destination of an AVCaptureSession object.

AVCaptureOutput provides an abstract interface for connecting capture output destinations, such as files and video previews, to an capture session (an instance of AVCaptureSession). A capture output can have multiple connections represented by AVCaptureConnection objects, one for each stream of media that it receives from a capture input (an instance of AVCaptureInput). A capture output does not have any connections when it is first created. When you add an output to a capture session, connections are created that map media data from that session’s inputs to its outputs.

You can add concrete AVCaptureOutput instances to an capture session using addOutput:.

Tasks

Accessing Connections

Converting Between Coordinate Systems

Properties

connections

The capture output object’s connections. (read-only)

@property(nonatomic, readonly) NSArray *connections
Discussion

The value of this property is an array of AVCaptureConnection objects, each describing the mapping between the receiver and the capture input ports (see AVCaptureInputPort) of one or more capture inputs (see AVCaptureInput).

Availability
  • Available in iOS 4.0 and later.
Declared In
AVCaptureOutput.h

Instance Methods

connectionWithMediaType:

Returns the first connection in the connections array with an input port of a specified media type.

- (AVCaptureConnection *)connectionWithMediaType:(NSString *)mediaType
Parameters
mediaType

A media type constant (such as AVMediaTypeVideo or AVMediaTypeAudio).

Return Value

The first capture connection in the connections array that has an AVCaptureInputPort with media type mediaType, or nil if no connection with the specified media type is found.

Availability
  • Available in iOS 5.0 and later.
See Also
Related Sample Code
Declared In
AVCaptureOutput.h

metadataOutputRectOfInterestForRect:

Converts a rectangle in the capture output object’s coordinate system to one in the coordinate system used for metadata outputs.

- (CGRect)metadataOutputRectOfInterestForRect:(CGRect)rectInOutputCoordinates
Parameters
rectInOutputCoordinates

A rectangle in the AVCaptureOutput object’s coordinate system.

Return Value

A rectangle in the AVCaptureMetadataOutput coordinate system.

Discussion

The rectangle of interest for an AVCaptureMetadataOutput object is in a coordinate system extending from (0,0) in the top left to (1,1) in the bottom right, relative to the device’s natural orientation. A capture output object uses a pixel coordinate space which may be zoomed, rotated, or mirrored. Use this convenience method to quickly convert between coordinate spaces.

Availability
  • Available in iOS 7.0 and later.
Declared In
AVCaptureOutput.h

rectForMetadataOutputRectOfInterest:

Converts a rectangle in the coordinate system used for metadata outputs to one in the capture output object’s coordinate system.

- (CGRect)rectForMetadataOutputRectOfInterest:(CGRect)rectInMetadataOutputCoordinates
Parameters
rectInMetadataOutputCoordinates

A rectangle in the AVCaptureMetadataOutput coordinate system.

Return Value

A rectangle in the AVCaptureOutput object’s coordinate system.

Discussion

The rectangle of interest for an AVCaptureMetadataOutput object is in a coordinate system extending from (0,0) in the top left to (1,1) in the bottom right, relative to the device’s natural orientation. A capture output object uses a pixel coordinate space which may be zoomed, rotated, or mirrored. Use this convenience method to quickly convert between coordinate spaces.

Availability
  • Available in iOS 7.0 and later.
Declared In
AVCaptureOutput.h

transformedMetadataObjectForMetadataObject:connection:

Converts an AVMetadataObject's visual properties to the receiver's coordinates.

- (AVMetadataObject *)transformedMetadataObjectForMetadataObject:(AVMetadataObject *)metadataObject connection:(AVCaptureConnection *)connection
Parameters
metadataObject

An AVMetadataObject originating from the same AVCaptureInput as the receiver.

connection

The receiver's connection whose AVCaptureInput matches that of the metadata object to be converted.

Return Value

An AVMetadataObject whose properties are in output coordinates, or nil if metadataObject originates from an input source other than the preview layer.

Discussion

This method converts the visual properties in the coordinate space of the supplied AVMetadataObject to the coordinate space of the receiver. The conversion takes orientation, mirroring, and scaling into consideration and alters the visual properties of the provided metadata object to match the physical rotation and mirroring of the sample buffers provided by the receiver through the indicated connection.

This means that for video data output (AVCaptureVideoDataOutput), adjusted metadata object coordinates are rotated and mirrored. For still image (AVCaptureStillImageOutput) and movie file (AVCaptureMovieFileOutput) output, they are not. Instead, the rotation and mirroring of the metadata object coordinates for these two types of output are determined on playback.

Availability
  • Available in iOS 6.0 and later.
Declared In
AVCaptureOutput.h