camera_device_ops Справочник по структуре
#include < camera.h >
Поля данных | |
int (* | set_preview_window ) (struct camera_device *, struct preview_stream_ops * окно) |
пустота (* | set_callbacks ) (struct camera_device *, camera_notify_callback notify_cb, camera_data_callback data_cb, camera_data_timestamp_callback data_cb_timestamp, camera_request_memory get_memory, void * user) |
пустота (* | enable_msg_type ) (struct camera_device *, int32_t msg_type) |
пустота (* | disable_msg_type ) (struct camera_device *, int32_t msg_type) |
int (* | msg_type_enabled ) (struct camera_device *, int32_t msg_type) |
int (* | start_preview ) (struct camera_device *) |
пустота (* | stop_preview ) (struct camera_device *) |
int (* | preview_enabled ) (struct camera_device *) |
int (* | store_meta_data_in_buffers ) (struct camera_device *, int enable) |
int (* | start_recording ) (struct camera_device *) |
пустота (* | stop_recording ) (struct camera_device *) |
int (* | recording_enabled ) (структура camera_device *) |
пустота (* | release_recording_frame ) (struct camera_device *, const void * непрозрачный) |
int (* | auto_focus ) (struct camera_device *) |
int (* | cancel_auto_focus ) (struct camera_device *) |
int (* | take_picture ) (struct camera_device *) |
int (* | cancel_picture ) (struct camera_device *) |
int (* | set_parameters ) (struct camera_device *, const char * parms) |
символ * (* | get_parameters ) (struct camera_device *) |
пустота (* | put_parameters ) (struct camera_device *, char *) |
int (* | send_command ) (struct camera_device *, int32_t cmd, int32_t arg1, int32_t arg2) |
пустота (* | выпуск ) (struct camera_device *) |
int (* | дамп ) (struct camera_device *, int fd) |
Подробное описание
Полевая документация
int (* auto_focus) (struct camera_device *) |
int (* cancel_auto_focus) (struct camera_device *) |
int (* cancel_picture) (struct camera_device *) |
void (* disable_msg_type) (struct camera_device *, int32_t msg_type) |
Отключить сообщение или набор сообщений.
После получения вызова disableMsgType (CAMERA_MSG_VIDEO_FRAME) камера HAL не должна полагаться на свой клиент для вызова releaseRecordingFrame () для освобождения кадров видеозаписи, отправленных камерой HAL до и после вызова disableMsgType (CAMERA_MSG_VIDEO_FRAME). Клиенты камеры HAL не должны изменять / получать доступ к кадрам видеозаписи после вызова disableMsgType (CAMERA_MSG_VIDEO_FRAME).
int (* дамп) (struct camera_device *, int fd) |
void (* enable_msg_type) (struct camera_device *, int32_t msg_type) |
char * (* get_parameters) (struct camera_device *) |
int (* msg_type_enabled) (struct camera_device *, int32_t msg_type) |
int (* preview_enabled) (struct camera_device *) |
void (* put_parameters) (struct camera_device *, char *) |
HAL камеры использует свою собственную память, чтобы передать нам параметры, когда мы вызываем get_parameters. Используйте эту функцию, чтобы вернуть память обратно в HAL камеры, если put_parameters не NULL. Если put_parameters равно NULL, вам нужно использовать free () для освобождения памяти.
int (* запись_enabled ) (struct camera_device *) |
void (* выпуск) (struct camera_device *) |
void (* release_recording_frame) (struct camera_device *, const void * непрозрачный) |
Освободите кадр записи, ранее возвращенный CAMERA_MSG_VIDEO_FRAME.
Клиент камеры HAL обязан освободить кадры видеозаписи, отправленные камерой HAL, до того, как HAL камеры получит вызов disableMsgType (CAMERA_MSG_VIDEO_FRAME). После получения вызова disableMsgType (CAMERA_MSG_VIDEO_FRAME) HAL отвечает за управление жизненным циклом кадров видеозаписи.
int (* send_command) (struct camera_device *, int32_t cmd, int32_t arg1, int32_t arg2) |
void (* set_callbacks) (struct camera_device *, camera_notify_callback notify_cb, camera_data_callback data_cb, camera_data_timestamp_callback data_cb_timestamp, camera_request_memory get_memory, void * user) |
int (* set_parameters) (struct camera_device *, const char * parms) |
int (* set_preview_window) (struct camera_device *, struct preview_stream_ops * окно) |
int (* start_preview) (struct camera_device *) |
int (* начало_записи) (struct camera_device *) |
Запустить режим записи. Когда изображение записи доступно, сообщение CAMERA_MSG_VIDEO_FRAME отправляется с соответствующим кадром. Каждый кадр записи должен быть освобожден клиентом HAL камеры через releaseRecordingFrame () до того, как клиент вызовет disableMsgType (CAMERA_MSG_VIDEO_FRAME). После того, как клиент вызывает disableMsgType (CAMERA_MSG_VIDEO_FRAME), HAL камеры отвечает за управление жизненным циклом кадров видеозаписи, и клиент не должен изменять / получать доступ к кадрам видеозаписи.
void (* stop_preview) (struct camera_device *) |
void (* stop_recording) (struct camera_device *) |
int (* store_meta_data_in_buffers) (struct camera_device *, int включить) |
Запросить камеру HAL для хранения метаданных или реальных данных YUV в видеобуферах, отправленных через CAMERA_MSG_VIDEO_FRAME для сеанса записи. Если он не вызывается, поведение камеры HAL по умолчанию заключается в хранении реальных данных YUV в видеобуферах.
Этот метод должен быть вызван перед startRecording (), чтобы он был эффективным.
Если метаданные хранятся в видеобуферах, то получатель видеобуфер должен интерпретировать содержимое и найти фактические данные кадра с помощью метаданных в буфере. Как это делается, выходит за рамки этого метода.
Некоторые HAL камеры могут не поддерживать сохранение метаданных в видеобуферах, но все HAL камеры должны поддерживать сохранение реальных данных YUV в видеобуферах. Если HAL камеры не поддерживает сохранение метаданных в видеобуферах, когда это требуется, необходимо вернуть INVALID_OPERATION. Для HAL камеры очень полезно передавать метаданные, а не фактические данные кадра, непосредственно в видеокодер, поскольку объем несжатых данных кадра может быть очень большим, если размер видео большой.
- Параметры
включить если true, чтобы HAL камеры сохранял метаданные в видеобуферах; false, чтобы указать камере HAL хранить реальные данные YUV в видеобуферах.
- Возврат
- ОК при успехе.
int (* take_picture) (struct camera_device *) |
Документация для этой структуры была создана из следующего файла:
- оборудование / libhardware / включить / оборудование / camera.h