camera_set_photo_property()

Configure the current output properties for a photo.

Synopsis:

#include <camera/camera_api.h>
 
camera_error_t camera_set_photo_property(camera_handle_t handle, args...)

Arguments:

handle

The handle returned by a call to the camera_open() function.

args...

Property-value pairs delimited by a comma. The property name property value and must also be delimited by a comma.

Library:

libcamapi

Description:

Ensure that you call this function before you start the viewfinder because the photo format is necessary to configure the hardware correctly.

As part of the args argument, you can provide one or more property-value pairs using camera_imgprop_t values as the name of the property and the correct type for the value such as an int or double value. The following camera_imgprop_t can be used with this function:

  • CAMERA_IMGPROP_FORMAT
  • CAMERA_IMGPROP_WIDTH
  • CAMERA_IMGPROP_HEIGHT
  • CAMERA_IMGPROP_ROTATION
  • CAMERA_IMGPROP_STABILIZATION
  • CAMERA_IMGPROP_JPEGQFACTOR
  • CAMERA_IMGPROP_BURSTDIVISOR

It is important that the variable used for the value of each property matches the expected type. There is no type-checking performed by the compile. A type mismatch will cause the function call to fail. For example, for the CAMERA_IMGPROP_FRAMERATE requires a double value. If you pass in an int value, the function will fails without a clear reason in the return value from the function.

You can specify multiple property-value pairs by delimiting them with a comma as follows:

   name1, &value1, name2, &value2,...

For example, you can set the values in the following manner:

   camera_set_photo_property( camera_handle,
                              CAMERA_IMGPROP_WIDTH, 1024,
                              CAMERA_IMGPROP_HEIGHT, 576,
                              CAMERA_IMGPROP_ROTATION, 90);

Returns:

CAMERA_OK when the function successfully completes, otherwise another camera_error_t value that provides the reason that the call failed. If you pass a value that does not match the type required for the property, the return value does not clearly indicate the problem.