Google is committed to advancing racial equity for Black communities. See how.
Эта страница переведена с помощью Cloud Translation API.
Switch to English

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

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)

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

Определение в строке 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)

Запросить, включено ли сообщение или набор сообщений. Обратите внимание, что это работает как И, если какое-либо из запрошенных сообщений отключено, это вернет 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 .

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

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

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

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

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

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 отвечает за управление жизненным циклом кадров видеозаписи.

Определение в строке 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 * окно)

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

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

int (* start_preview) (struct camera_device *)

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

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

int (* начало_записи) (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 включить)

Запросить камеру 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 / включить / оборудование / camera.h