Оптимизируйте свои подборки
Сохраняйте и классифицируйте контент в соответствии со своими настройками.
Справочник по структуре camera_device_ops
#include < camera.h >
|
интервал(* | set_preview_window )(struct camera_device *, structview_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) |
|
пустота(* | отключить_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 *) |
|
интервал(* | предварительный просмотр_enabled )(struct camera_device *) |
|
интервал(* | store_meta_data_in_buffers )(struct camera_device *, int Enable) |
|
интервал(* | start_recording )(struct camera_device *) |
|
пустота(* | stop_recording )(struct camera_device *) |
|
интервал(* | запись_включена )(структура 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) |
|
пустота(* | выпуск )(struct camera_device *) |
|
интервал(* | дамп )(struct camera_device *, int fd) |
|
Определение в строке 99 файла camera.h .
Запустите автофокусировку, процедура обратного вызова уведомления вызывается с CAMERA_MSG_FOCUS один раз, когда фокусировка завершена. autoFocus() будет вызываться снова, если потребуется еще один автофокус.
Определение в строке 227 файла camera.h .
Отменяет функцию автофокусировки. Если автофокусировка все еще выполняется, эта функция отменит ее. Независимо от того, выполняется автофокусировка или нет, эта функция вернет положение фокуса к значению по умолчанию. Если камера не поддерживает автофокус, это бесполезно.
Определение в строке 235 файла camera.h .
Отмените изображение, которое было начато с помощью 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 .
Дамп состояния оборудования камеры
Определение в строке 282 файла camera.h .
void(* Enable_msg_type)(struct camera_device *, int32_t msg_type) |
Все следующие три функции принимают msg_type, который представляет собой битовую маску сообщений, определенных в include/ui/Camera.h. Включение сообщения или набора сообщений.
Определение в строке 120 файла camera.h .
Получите параметры камеры. Буфер, возвращаемый 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 .
Возвращает true, если предварительный просмотр включен.
Определение в строке 154 файла camera.h .
HAL камеры использует собственную память для передачи нам параметров, когда мы вызываем get_parameters. Используйте эту функцию, чтобы вернуть память обратно в HAL камеры, если put_parameters не равно NULL. Если put_parameters имеет значение NULL, вам придется использовать free() для освобождения памяти.
Определение в строке 265 файла camera.h .
Возвращает true, если запись включена.
Определение в строке 208 файла camera.h .
Освободите аппаратные ресурсы, принадлежащие этому объекту. Обратите внимание, что это не делается в деструкторе.
Определение в строке 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 .
Установите уведомления и обратные вызовы данных
Определение в строке 105 файла camera.h .
Установите параметры камеры. Это возвращает BAD_VALUE, если какой-либо параметр недействителен или не поддерживается.
Определение в строке 252 файла camera.h .
Установите ANativeWindow, в которое отправляются кадры предварительного просмотра.
Определение в строке 101 файла camera.h .
Запустите режим предварительного просмотра.
Определение в строке 144 файла camera.h .
Запустите режим записи. Когда изображение записи доступно, сообщение CAMERA_MSG_VIDEO_FRAME отправляется с соответствующим кадром. Каждый кадр записи должен быть освобожден клиентом HAL камеры через ReleaseRecordingFrame() до того, как клиент вызовет метод DisableMsgType(CAMERA_MSG_VIDEO_FRAME). После того, как клиент вызывает DisableMsgType(CAMERA_MSG_VIDEO_FRAME), HAL камеры отвечает за управление жизненным циклом кадров видеозаписи, и клиент не должен изменять или получать доступ к каким-либо кадрам видеозаписи.
Определение в строке 198 файла camera.h .
Остановите ранее запущенный предварительный просмотр.
Определение в строке 149 файла camera.h .
Остановить ранее начатую запись.
Определение в строке 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 .
Сделать фото.
Определение в строке 240 файла camera.h .
Документация для этой структуры была создана из следующего файла:
- Аппаратное обеспечение/libhardware/include/hardware/ camera.h
Контент и образцы кода на этой странице предоставлены по лицензиям. Java и OpenJDK – это зарегистрированные товарные знаки корпорации Oracle и ее аффилированных лиц.
Последнее обновление: 2023-12-01 UTC.
[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"Отсутствует нужная мне информация"
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"Слишком сложен/слишком много шагов"
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"Устарел"
},{
"type": "thumb-down",
"id": "translationIssue",
"label":"Проблема с переводом текста"
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"Проблемы образцов/кода"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"Другое"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"Прост для понимания"
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"Помог мне решить мою проблему"
},{
"type": "thumb-up",
"id": "otherUp",
"label":"Другое"
}]
{"lastModified": "\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0435 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435: 2023-12-01 UTC."}
[[["Прост для понимания","easyToUnderstand","thumb-up"],["Помог мне решить мою проблему","solvedMyProblem","thumb-up"],["Другое","otherUp","thumb-up"]],[["Отсутствует нужная мне информация","missingTheInformationINeed","thumb-down"],["Слишком сложен/слишком много шагов","tooComplicatedTooManySteps","thumb-down"],["Устарел","outOfDate","thumb-down"],["Проблема с переводом текста","translationIssue","thumb-down"],["Проблемы образцов/кода","samplesCodeIssue","thumb-down"],["Другое","otherDown","thumb-down"]],["Последнее обновление: 2023-12-01 UTC."]]