Informacje o strukturze camera_device_ops

Informacje o strukturze camera_device_ops

#include < camera.h >

Pola danych

int(*  set_preview_window )(struct camera_device *, struct preview_stream_ops *window)
 
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)
 
void(*  enable_msg_type )(struct camera_device *, int32_t msg_type)
 
void(*  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 *)
 
void(*  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 *)
 
void(*  stop_recording )(struct camera_device *)
 
int(*  recording_enabled )(struct camera_device *)
 
void(*  release_recording_frame )(struct camera_device *, const void *opaque)
 
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)
 
char *(*  get_parameters )(struct camera_device *)
 
void(*  put_parameters )(struct camera_device *, char *)
 
int(*  send_command )(struct camera_device *, int32_t cmd, int32_t arg1, int32_t arg2)
 
void(*  release )(struct camera_device *)
 
int(*  dump )(struct camera_device *, int fd)
 

Szczegółowy opis

Definicja w wierszu 99 pliku camera.h .

Dokumentacja pola

int(* auto_focus)(struct camera_device *)

Rozpocznij autofokusowanie. Gdy autofokusowanie zostanie zakończone, wywołana zostanie raz procedura wywołania zwrotnego powiadomienia z parametrem CAMERA_MSG_FOCUS. Jeśli autofokusowanie będzie potrzebne ponownie, zostanie wywołana funkcja autoFocus().

Definicja w wierszu 227 pliku camera.h .

int(* cancel_auto_focus)(struct camera_device *)

Anuluje funkcję autofokusa. Jeśli autofokusowanie jest nadal w toku, ta funkcja go anuluje. Ta funkcja przywraca domyślną pozycję ostrości niezależnie od tego, czy autofokus jest włączony. Jeśli aparat nie obsługuje autofokusa, ta opcja nie będzie dostępna.

Definicja w wierszu 235 pliku camera.h .

int(* cancel_picture)(struct camera_device *)

Anulowanie zdjęcia, które zostało rozpoczęte za pomocą metody takePicture. Wywołanie tej metody, gdy nie jest wykonywane żadne zdjęcie, nie powoduje żadnego działania.

Definicja w wierszu 246 w pliku camera.h .

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

Wyłącz wiadomość lub zestaw wiadomości.

Po otrzymaniu wywołania disableMsgType(CAMERA_MSG_VIDEO_FRAME) interfejs HAL aparatu nie powinien polegać na tym, że klient wywoła releaseRecordingFrame(), aby zwolnić ramki nagrywania wideo wysłane przez interfejs HAL aparatu przed i po wywołaniu disableMsgType(CAMERA_MSG_VIDEO_FRAME). Po wywołaniu funkcji disableMsgType(CAMERA_MSG_VIDEO_FRAME) klienci HAL aparatu nie mogą modyfikować ani uzyskiwać dostępu do żadnego kadru nagrywania wideo.

Definicja w wierszu 132 pliku camera.h .

int(* dump)(struct camera_device *, int fd)

stan sprzętu aparatu;

Definicja w wierszu 282 pliku camera.h .

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

Wszystkie 3 funkcje przyjmują parametr msg_type, który jest maską bitową wiadomości zdefiniowanych w include/ui/Camera.h. Umożliwiają one włączenie wiadomości lub zestawu wiadomości.

Definicja w wierszu 120 pliku camera.h .

char*(* get_parameters)(struct camera_device *)

Pobierz parametry aparatu. Bufor zwrócony przez interfejs HAL aparatu musi zostać zwrócony z powrotem do niego za pomocą put_parameters, jeśli parametr put_parameters nie ma wartości NULL.

Definicja w wierszu 258 w pliku camera.h .

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

Zapytanie o to, czy wiadomość lub zestaw wiadomości jest włączony. Pamiętaj, że działa to jak operator AND (z łączeniem logicznym AND). Jeśli którykolwiek z wyszukanych komunikatów jest wyłączony, zwrócona zostanie wartość false (fałsz).

Definicja w wierszu 139 pliku camera.h .

int(* preview_enabled)(struct camera_device *)

Zwraca wartość „prawda”, jeśli podgląd jest włączony.

Definicja w wierszu 154 pliku camera.h .

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

Gdy wywołujemy get_parameters, HAL aparatu używa własnej pamięci do przekazywania nam parametrów. Użyj tej funkcji, aby przywrócić pamięć do aparatu HAL, jeśli put_parameters nie ma wartości NULL. Jeśli parametr put_parameters ma wartość NULL, musisz użyć funkcji free(), aby zwolnić pamięć.

Definicja w wierszu 265 pliku camera.h .

int(* recording_enabled)(struct camera_device *)

Zwraca wartość „prawda”, jeśli nagrywanie jest włączone.

Definicja w wierszu 208 pliku camera.h .

void(* release)(struct camera_device *)

Zwolnij zasoby sprzętowe należące do tego obiektu. Pamiętaj, że nie należy tego robić w destruktorze.

Definicja w wierszu 277 pliku camera.h .

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

Zwolnij ramkę rekordu zwróconą wcześniej przez CAMERA_MSG_VIDEO_FRAME.

Klient HAL aparatu jest odpowiedzialny za zwolnienie ramek nagrywania wideo wysłanych przez HAL aparatu przed wywołaniem metody disableMsgType(CAMERA_MSG_VIDEO_FRAME). Po otrzymaniu wywołania disableMsgType(CAMERA_MSG_VIDEO_FRAME) zarządzanie cyklem życia ramek nagrywania wideo należy do interfejsu HAL aparatu.

Definicja w wierszu 219 pliku camera.h .

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

Wysyłanie polecenia do sterownika kamery.

Definicja w wierszu 270 pliku 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)

Konfigurowanie funkcji wywołania zwrotnego powiadomienia i danych

Definicja w wierszu 105 w pliku camera.h .

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

Ustaw parametry kamery. Zwraca wartość BAD_VALUE, jeśli którykolwiek z parametrów jest nieprawidłowy lub nieobsługiwany.

Definicja w wierszu 252 w pliku camera.h .

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

Ustaw ANativeWindow, do którego wysyłane są ramki podglądu.

Definicja w wierszu 101 pliku camera.h .

int(* start_preview)(struct camera_device *)

Uruchom tryb podglądu.

Definicja w wierszu 144 w pliku camera.h .

int(* start_recording)(struct camera_device *)

Rozpocznij nagrywanie. Gdy obraz z nagrania jest dostępny, wysyłana jest wiadomość CAMERA_MSG_VIDEO_FRAME z odpowiednim obrazem. Każda klatka do nagrywania musi zostać zwolniona przez klienta HAL aparatu za pomocą funkcji releaseRecordingFrame() przed wywołaniem przez klienta disableMsgType(CAMERA_MSG_VIDEO_FRAME). Po wywołaniu przez klienta metody disableMsgType(CAMERA_MSG_VIDEO_FRAME) zarządzanie cyklem życia ramek nagrywania wideo należy do interfejsu HAL aparatu. Klient nie może modyfikować ani uzyskiwać dostępu do żadnych ramek nagrywania wideo.

Definicja w wierszu 198 pliku camera.h .

void(* stop_preview)(struct camera_device *)

Zatrzymanie rozpoczętego wcześniej podglądu.

Definicja w wierszu 149 pliku camera.h .

void(* stop_recording)(struct camera_device *)

Zatrzymać wcześniej rozpoczęte nagrywanie.

Definicja w wierszu 203 pliku camera.h .

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

Poproś HAL kamery o zapisanie metadanych lub rzeczywistych danych YUV w buforach wideo wysyłanych za pomocą CAMERA_MSG_VIDEO_FRAME podczas sesji nagrywania. Jeśli nie zostanie wywołany, domyślne zachowanie HAL kamery polega na przechowywaniu rzeczywistych danych YUV w buforach wideo.

Aby ta metoda była skuteczna, należy ją wywołać przed wywołaniem metody startRecording().

Jeśli metadane są przechowywane w buforze wideo, odbiorca bufora wideo musi interpretować zawartość i znajdować rzeczywiste dane ramki za pomocą metadanych w buforze. Sposób wykonania tej operacji wykracza poza zakres tej metody.

Niektóre interfejsy HAL kamery mogą nie obsługiwać przechowywania metadanych w buforach wideo, ale wszystkie interfejsy HAL kamery powinny obsługiwać przechowywanie rzeczywistych danych YUV w buforach wideo. Jeśli interfejs HAL aparatu nie obsługuje przechowywania metadanych w buforach wideo, gdy jest to wymagane, należy zwrócić kod błędu INVALID_OPERATION. W przypadku sterownika HAL aparatu bardzo przydatne jest przekazywanie metadanych zamiast rzeczywistych danych ramki bezpośrednio do kodera wideo, ponieważ w przypadku dużych rozmiarów filmu ilość nieskompresowanych danych ramki może być bardzo duża.

Parametry
włącz Jeśli to pole ma wartość true, HAL aparatu przechowuje metadane w buforach wideo. Jeśli to pole ma wartość false, HAL aparatu przechowuje rzeczywiste dane YUV w buforach wideo.
Zwroty
OK w przypadku powodzenia.

Definicja w wierszu 186 pliku camera.h .

int(* take_picture)(struct camera_device *)

Zrób zdjęcie.

Definicja w wierszu 240 w pliku camera.h .


Dokumentacja tego typu danych została wygenerowana z tego pliku: