CameraOutput

interface CameraOutput extends HybridObject

A CameraOutput is the base-class of all outputs that can be connected to the CameraSession.

Discussion

You can extend the CameraOutput Nitro spec in native and conform to the NativeCameraOutput interface/protocol to create custom outputs which can be connected to the CameraSession. This is useful for building custom capture pipelines, such as private HDR implementations, or fully custom video pipelines (e.g. for batching/segmenting video).

Extended by

Properties

currentResolution?

readonly optional currentResolution?: Size

The resolution that the underlying capture pipeline has resolved this CameraOutput to, in sensor-native (un-rotated) pixels, or undefined if the output has not yet been connected to a CameraSession.

Discussion

The selected Size may differ from the requested Size (e.g. from PhotoOutputOptions.targetResolution), as the CameraSession negotiates resolutions across attached CameraOutputs, connected CameraDevice capabilities, and enabled Constraints.

Discussion

For outputs that are not pixel-based (e.g. metadata-only outputs), this reports the resolution of the upstream video stream feeding the output, or undefined if no video input is attached.


mediaType

readonly mediaType: MediaType

The media type of the content being streamed by this CameraOutput.


outputOrientation

outputOrientation: CameraOrientation

Gets or sets the output orientation of this CameraOutput.

Individual implementations of CameraOutput may choose different strategies for implementing output orientation, for example:

  • A Photo output might apply orientation via EXIF flags.
  • A Video output might apply orientation via track transform metadata.
  • A Preview output might apply orientation via view transforms.
  • A Frame output might not apply orientation and only pass it as a property via the Frame object, unless explicitly configured to physically rotate buffers.

On this page