camera_device_ops Справочник по структуре

camera_device_ops Справочник по структуре

#include < camera.h >

Поля данных

интервал (* set_preview_window )(struct camera_device *, struct preview_stream_ops *window)
пустота(* 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)
интервал (* msg_type_enabled )(struct camera_device *, int32_t msg_type)
интервал (* start_preview )(struct camera_device *)
пустота(* stop_preview )(struct camera_device *)
интервал (* preview_enabled )(struct camera_device *)
интервал (* store_meta_data_in_buffers ) (struct camera_device *, int enable)
интервал (* start_recording )(struct camera_device *)
пустота(* stop_recording )(struct camera_device *)
интервал (* record_enabled )(struct camera_device *)
пустота(* release_recording_frame )(struct camera_device *, const void *opaque)
интервал (* auto_focus )(struct camera_device *)
интервал (* cancel_auto_focus )(struct camera_device *)
интервал (* take_picture )(struct camera_device *)
интервал (* cancel_picture )(struct camera_device *)
интервал (* set_parameters )(struct camera_device *, const char *parms)
символ *(* get_parameters )(struct camera_device *)
пустота(* put_parameters )(struct camera_device *, char *)
интервал (* send_command )(struct camera_device *, int32_t cmd, int32_t arg1, int32_t arg2)
пустота(* выпуск )(структура camera_device *)
интервал (* дамп )(struct camera_device *, int fd)

Подробное описание

Определение в строке 99 файла camera.h .

Полевая документация

int(* auto_focus)(struct camera_device *)

Запустите автоматическую фокусировку, процедура обратного вызова уведомления вызывается с CAMERA_MSG_FOCUS один раз, когда фокусировка завершена. autoFocus() будет вызываться снова, если потребуется другой автофокус.

Определение в строке 227 файла camera.h .

int(* cancel_auto_focus)(struct camera_device *)

Отменяет функцию автофокусировки. Если автофокусировка все еще выполняется, эта функция отменит ее. Независимо от того, выполняется автофокусировка или нет, эта функция вернет положение фокуса к значению по умолчанию. Если камера не поддерживает автофокусировку, это бесполезно.

Определение в строке 235 файла camera.h .

int(* cancel_picture)(struct camera_device *)

Отменить снимок, запущенный с помощью takePicture. Вызов этого метода, когда изображение не делается, не имеет смысла.

Определение в строке 246 файла camera.h .

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).

Определение в строке 132 файла camera.h .

int(* дамп)(struct camera_device *, int fd)

Дамп состояния оборудования камеры

Определение в строке 282 файла camera.h .

void (* enable_msg_type) (struct camera_device *, int32_t msg_type)

Все следующие три функции принимают msg_type, который является битовой маской сообщений, определенных в include/ui/Camera.h Включить сообщение или набор сообщений.

Определение в строке 120 файла camera.h .

char*(* get_parameters)(struct camera_device *)

Получить параметры камеры. Буфер, возвращаемый камерой HAL, должен быть возвращен ей обратно с параметрами put_parameters, если параметр put_parameters не равен NULL.

Определение в строке 258 файла camera.h .

int(* msg_type_enabled)(struct camera_device *, int32_t msg_type)

Запросите, включено ли сообщение или набор сообщений. Обратите внимание, что это работает как AND, если какое-либо из запрошенных сообщений отключено, это вернет false.

Определение в строке 139 файла camera.h .

int(* preview_enabled)(struct camera_device *)

Возвращает true, если предварительный просмотр включен.

Определение в строке 154 файла camera.h .

void (* put_parameters) (struct camera_device *, char *)

Камера HAL использует свою собственную память для передачи нам параметров, когда мы вызываем get_parameters. Используйте эту функцию, чтобы вернуть память обратно в камеру HAL, если параметр put_parameters не равен NULL. Если put_parameters имеет значение NULL, вам нужно использовать free() для освобождения памяти.

Определение в строке 265 файла camera.h .

int(* record_enabled)(struct camera_device *)

Возвращает true, если запись включена.

Определение в строке 208 файла camera.h .

void (* выпуск) (struct camera_device *)

Освободите аппаратные ресурсы, принадлежащие этому объекту. Обратите внимание, что это не делается в деструкторе.

Определение в строке 277 файла camera.h .

void(* release_recording_frame)(struct camera_device *, const void *opaque)

Освободить кадр записи, ранее возвращенный CAMERA_MSG_VIDEO_FRAME.

Клиент камеры HAL несет ответственность за выпуск кадров видеозаписи, отправленных камерой HAL, до того, как камера HAL получит вызов disableMsgType(CAMERA_MSG_VIDEO_FRAME). После получения вызова disableMsgType(CAMERA_MSG_VIDEO_FRAME) HAL камеры отвечает за управление жизненным циклом кадров видеозаписи.

Определение в строке 219 файла camera.h .

int(* send_command)(struct camera_device *, int32_t cmd, int32_t arg1, int32_t arg2)

Отправить команду драйверу камеры.

Определение в строке 270 файла camera.h .

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)

Установите обратные вызовы уведомлений и данных

Определение в строке 105 файла camera.h .

int(* set_parameters)(struct camera_device *, const char *parms)

Установите параметры камеры. Это возвращает BAD_VALUE, если какой-либо параметр недействителен или не поддерживается.

Определение в строке 252 файла camera.h .

int(* set_preview_window)(struct camera_device *, struct preview_stream_ops *window)

Установите ANativeWindow, в который отправляются кадры предварительного просмотра.

Определение в строке 101 файла camera.h .

int(* start_preview)(struct camera_device *)

Запустите режим предварительного просмотра.

Определение в строке 144 файла camera.h .

int(* start_recording)(struct camera_device *)

Запустите режим записи. Когда изображение записи доступно, отправляется сообщение CAMERA_MSG_VIDEO_FRAME с соответствующим кадром. Каждый кадр записи должен быть освобожден клиентом HAL камеры через releaseRecordingFrame() до того, как клиент вызовет disableMsgType(CAMERA_MSG_VIDEO_FRAME). После того, как клиент вызывает disableMsgType(CAMERA_MSG_VIDEO_FRAME), HAL камеры отвечает за управление жизненным циклом кадров видеозаписи, и клиент не должен изменять или получать доступ к кадрам видеозаписи.

Определение в строке 198 файла camera.h .

void (* stop_preview) (struct camera_device *)

Остановить ранее запущенный предварительный просмотр.

Определение в строке 149 файла camera.h .

void (* stop_recording) (struct camera_device *)

Остановить ранее начатую запись.

Определение в строке 203 файла camera.h .

int(* store_meta_data_in_buffers)(struct camera_device *, int enable)

Запросите камеру HAL для хранения метаданных или реальных данных YUV в видеобуферах, отправленных через CAMERA_MSG_VIDEO_FRAME для сеанса записи. Если он не вызывается, поведение HAL камеры по умолчанию заключается в сохранении реальных данных YUV в видеобуферах.

Этот метод следует вызывать перед startRecording(), чтобы он был эффективным.

Если метаданные хранятся в видеобуферах, получатель видеобуферов должен интерпретировать содержимое и находить фактические данные кадра с помощью метаданных в буфере. Как это делается, выходит за рамки данного метода.

HAL некоторых камер могут не поддерживать сохранение метаданных в видеобуферах, но HAL всех камер должны поддерживать сохранение реальных данных YUV в видеобуферах. Если камера HAL не поддерживает сохранение метаданных в видеобуферах, когда ее запрашивают, необходимо вернуть INVALID_OPERATION. Для камеры HAL очень полезно передавать метаданные, а не фактические данные кадра, непосредственно видеокодеру, поскольку объем несжатых данных кадра может быть очень большим, если размер видео большой.

Параметры
включить если true, указать камере HAL хранить метаданные в видеобуферах; false, чтобы указать камере HAL хранить реальные данные YUV в видеобуферах.
Возвращает
ОК при успехе.

Определение в строке 186 файла camera.h .

int(* take_picture)(struct camera_device *)

Сделать фото.

Определение в строке 240 файла camera.h .


Документация для этой структуры была сгенерирована из следующего файла:
  • оборудование/libhardware/include/оборудование/ camera.h