camera_enable_viewfinder_event()
Enable the viewfinder event
Synopsis:
#include <camera/camera_api.h>camera_error_t camera_enable_viewfinder_event(camera_handle_t handle,
camera_eventmode_t eventmode,
camera_eventkey_t *key,
struct sigevent *event)Arguments:
- handle
- The handle returned by a call to the camera_open() function.
- eventmode
- The event buffering mode as a camera_eventmode_t value.
- key
- A pointer to a returned camera_eventkey_t value. This argument is required for subsequent function calls to identify the proper event.
- event
- A pointer to a struct sigevent that must be initialized by the caller. This is the struct sigevent that will be delivered when a viewfinder frame is available to retrieve using camera_get_viewfinder_buffers().
Library:
libcamapiDescription:
Use this function to enable the viewfinder event. The viewfinder event is delivered when a viewfinder frame is available. You can then retrieve the viewfinder frame using camera_get_viewfinder_buffers(). This is the same image data that is delivered to your viewfinder_callback function registered when you started the viewfinder using camera_start_viewfinder().
Call camera_enable_viewfinder_event() when you are using the Camera API in event mode. For more information, see Using event mode
.
Use camera_disable_event() to disable this event when you no longer require viewfinder events to be delivered.
The viewfinder is automatically rendered to a display by the OS. It is not required to provide display code unless custom output is required using some other mechanism such as OpenGL.
There is a limit in the number of viewfinder events that can be registered for a given handle. If this limit is exceeded, the function will fail and return CAMERA_ENOMEM. Note as well that there is a limit of only one viewfinder event of CAMERA_EVENTMODE_READWRITE per given logical camera unit.
Returns:
CAMERA_EOK when the function successfully completes, otherwise another camera_error_t value that provides the reason that the call failed.
