diff --git a/package/src/Camera.tsx b/package/src/Camera.tsx index 7f4019c..619b219 100644 --- a/package/src/Camera.tsx +++ b/package/src/Camera.tsx @@ -470,6 +470,7 @@ export class Camera extends React.PureComponent { } const shouldEnableBufferCompression = props.video === true && frameProcessor == null + const pixelFormat = props.pixelFormat ?? (frameProcessor == null ? 'yuv' : 'native') const torch = this.state.isRecordingWithFlash ? 'on' : props.torch return ( @@ -487,6 +488,7 @@ export class Camera extends React.PureComponent { codeScannerOptions={codeScanner} enableFrameProcessor={frameProcessor != null} enableBufferCompression={props.enableBufferCompression ?? shouldEnableBufferCompression} + pixelFormat={pixelFormat} /> ) } diff --git a/package/src/CameraProps.ts b/package/src/CameraProps.ts index ed2b77f..83ed1f6 100644 --- a/package/src/CameraProps.ts +++ b/package/src/CameraProps.ts @@ -74,7 +74,9 @@ export interface CameraProps extends ViewProps { * - `yuv`: The YUV (Y'CbCr 4:2:0 or NV21, 8-bit) format, either video- or full-range, depending on hardware capabilities. This is the second most efficient format. * - `rgb`: The RGB (RGB, RGBA or ABGRA, 8-bit) format. This is least efficient and requires explicit conversion. * - * @default `native` + * @default + * - Without a Frame Processor: `native` + * - With a Frame Processor: `yuv` */ pixelFormat?: 'native' | 'yuv' | 'rgb' //#endregion