Camera_device_ops Odniesienie do struktury

Camera_device_ops Odniesienie do struktury

#include < camera.h >

Pola danych

int(* set_preview_window )(struktura urządzenie_kamery *, struktura podgląd_stream_ops *okno)
próżnia(* set_callbacks )(struct kamera_device *, kamera_notify_callback notify_cb, kamera_data_callback data_cb, kamera_data_timestamp_callback data_cb_timestamp, kamera_request_memory get_memory, void *user)
próżnia(* włącz_msg_type )(struktura urządzenie_kamery *, int32_t msg_type)
próżnia(* dezaktywuj_msg_type )(struktura urządzenie_kamery *, int32_t msg_type)
int(* msg_type_enabled )(struct kamera_urządzenie *, int32_t msg_type)
int(* start_preview )(struktura urządzenie_kamery *)
próżnia(* stop_preview )(struktura urządzenie_kamery *)
int(* podgląd_włączony )(struktura urządzenie_kamery *)
int(* store_meta_data_in_buffers )(struct kamera_device *, int włącz)
int(* start_recording )(struktura urządzenie_kamery *)
próżnia(* stop_recording )(struktura urządzenie_kamery *)
int(* nagrywanie_włączone )(struktura urządzenie_kamery *)
próżnia(* release_recording_frame )(struct kamera_urządzenie *, const void *nieprzezroczysty)
int(* auto_focus )(struktura urządzenie_kamery *)
int(* cancel_auto_focus )(struktura urządzenie_kamery *)
int(* take_picture )(struktura urządzenie_kamery *)
int(* cancel_picture )(struktura urządzenie_kamery *)
int(* set_parameters )(struct kamera_device *, const char *parms)
znak *(* get_parameters )(struktura urządzenie_kamery *)
próżnia(* put_parameters )(struct kamera_urządzenie *, char *)
int(* send_command )(struct kamera_urządzenie *, int32_t cmd, int32_t arg1, int32_t arg2)
próżnia(* wydanie )(struktura urządzenie_kamery *)
int(* zrzut )(struktura urządzenie_kamery *, int fd)

szczegółowy opis

Definicja w linii 99 pliku kamera.h .

Dokumentacja terenowa

int(* auto_focus)(struct kamera_urządzenie *)

Uruchom automatyczne ustawianie ostrości. Po zakończeniu ustawiania ostrości wywoływana jest procedura powiadamiania zwrotnego za pomocą CAMERA_MSG_FOCUS. funkcja autoFocus() zostanie wywołana ponownie, jeśli będzie potrzebna kolejna funkcja automatycznego ustawiania ostrości.

Definicja w linii 227 pliku kamera.h .

int(* cancel_auto_focus)(struct kamera_urządzenie *)

Anuluje funkcję automatycznego ustawiania ostrości. Jeżeli automatyczne ustawianie ostrości jest nadal w toku, funkcja ta anuluje je. Niezależnie od tego, czy trwa automatyczna regulacja ostrości, czy nie, funkcja ta przywróci domyślną pozycję ostrości. Jeśli aparat nie obsługuje automatycznego ustawiania ostrości, nie jest to możliwe.

Definicja w linii 235 pliku kamera.h .

int(* anulowanie_obrazu)(struktura urządzenie_kamery *)

Anuluj zdjęcie rozpoczęte za pomocą takePicture. Wywoływanie tej metody, gdy nie jest robione żadne zdjęcie, nie ma sensu.

Definicja w linii 246 pliku kamera.h .

void(* wyłącz_msg_type)(struct kamera_urządzenie *, int32_t msg_type)

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

Po odebraniu wywołania DisableMsgType(CAMERA_MSG_VIDEO_FRAME) warstwa HAL kamery nie powinna polegać na swoim kliencie w zakresie wywołania metody releaseRecordingFrame() w celu zwolnienia klatek nagrania wideo wysłanych przez kamerową warstwę HAL przed i po wywołaniu DisableMsgType(CAMERA_MSG_VIDEO_FRAME). Klientom HAL kamery nie wolno modyfikować ani uzyskiwać dostępu do żadnej klatki nagrywania wideo po wywołaniu funkcji DisableMsgType(CAMERA_MSG_VIDEO_FRAME).

Definicja w linii 132 pliku kamera.h .

int(* dump)(struct kamera_urządzenie *, int fd)

Zrzut stanu sprzętu kamery

Definicja w linii 282 pliku kamera.h .

void(* Enable_msg_type)(struct kamera_device *, int32_t msg_type)

Wszystkie poniższe trzy funkcje pobierają msg_type, który jest maską bitową wiadomości zdefiniowanych w include/ui/Camera.h Włącz wiadomość lub zestaw wiadomości.

Definicja w linii 120 pliku kamera.h .

char*(* get_parameters)(struct kamera_urządzenie *)

Pobierz parametry kamery. Bufor zwrócony przez kamerę HAL musi zostać do niego zwrócony z parametrami put_parameters, jeśli parametry put_parameters nie mają wartości NULL.

Definicja w linii 258 pliku kamera.h .

int(* msg_type_enabled)(struct kamera_urządzenie *, int32_t msg_type)

Zapytanie, czy wiadomość lub zestaw wiadomości jest włączony. Należy pamiętać, że działa to jak AND, jeśli którykolwiek z zapytanych komunikatów jest wyłączony, zwróci wartość false.

Definicja w linii 139 pliku kamera.h .

int(* podgląd_włączony)(struktura urządzenie_kamery *)

Zwraca wartość true, jeśli podgląd jest włączony.

Definicja w linii 154 pliku kamera.h .

void(* put_parameters)(struct kamera_urządzenie *, char *)

Kamera HAL wykorzystuje własną pamięć do przekazywania nam parametrów, gdy wywołujemy get_parameters. Użyj tej funkcji, aby zwrócić pamięć z powrotem do HAL kamery, jeśli put_parameters nie ma wartości NULL. Jeśli put_parameters ma wartość NULL, musisz użyć funkcji free(), aby zwolnić pamięć.

Definicja w linii 265 pliku kamera.h .

int(* nagrywanie_włączone)(struct kamera_urządzenie *)

Zwraca wartość true, jeśli włączone jest nagrywanie.

Definicja w linii 208 pliku kamera.h .

void(* wydanie)(struktura urządzenie_kamery *)

Zwolnij zasoby sprzętowe należące do tego obiektu. Należy pamiętać, że nie jest to wykonywane w destruktorze.

Definicja w linii 277 pliku kamera.h .

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

Zwolnij klatkę zapisu zwróconą wcześniej przez CAMERA_MSG_VIDEO_FRAME.

Klient HAL kamery jest odpowiedzialny za zwolnienie klatek nagrania wideo wysyłanych przez warstwę HAL kamery, zanim HAL kamery odbierze wywołanie dezaktywująceMsgType(CAMERA_MSG_VIDEO_FRAME). Po odebraniu wywołania dezaktywacjiMsgType(CAMERA_MSG_VIDEO_FRAME) za zarządzanie cyklem życia klatek zapisu wideo odpowiada warstwa HAL kamery.

Definicja w linii 219 pliku kamera.h .

int(* send_command)(struct kamera_urządzenie *, int32_t cmd, int32_t arg1, int32_t arg2)

Wyślij polecenie do sterownika kamery.

Definicja w linii 270 pliku kamera.h .

void(* set_callbacks)(struct kamera_device *, kamera_notify_callback notify_cb, kamera_data_callback data_cb, kamera_data_timestamp_callback data_cb_timestamp, kamera_request_memory get_memory, void *user)

Ustaw powiadomienia i wywołania zwrotne danych

Definicja w linii 105 pliku kamera.h .

int(* set_parameters)(struct kamera_urządzenie *, const char *parms)

Ustaw parametry kamery. Zwraca BAD_VALUE, jeśli którykolwiek parametr jest nieprawidłowy lub nie jest obsługiwany.

Definicja w linii 252 pliku kamera.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 linii 101 pliku kamera.h .

int(* start_preview)(struct kamera_urządzenie *)

Uruchom tryb podglądu.

Definicja w linii 144 pliku kamera.h .

int(* start_recording)(struct kamera_urządzenie *)

Uruchom tryb nagrywania. Gdy dostępny jest zarejestrowany obraz, wysyłany jest komunikat CAMERA_MSG_VIDEO_FRAME z odpowiednią ramką. Każda klatka zapisu musi zostać zwolniona przez klienta HAL kamery za pomocą metody releaseRecordingFrame(), zanim klient wywoła opcję DisableMsgType(CAMERA_MSG_VIDEO_FRAME). Po wywołaniu przez klienta DisableMsgType(CAMERA_MSG_VIDEO_FRAME) za zarządzanie cyklem życia klatek nagrywania wideo odpowiedzialna jest warstwa HAL kamery, a klientowi nie wolno modyfikować ani uzyskiwać dostępu do żadnych klatek nagrywania wideo.

Definicja w linii 198 pliku kamera.h .

void(* stop_preview)(struktura urządzenie_kamery *)

Zatrzymaj wcześniej rozpoczęty podgląd.

Definicja w linii 149 pliku kamera.h .

void(* stop_recording)(struct kamera_urządzenie *)

Zatrzymaj wcześniej rozpoczęte nagrywanie.

Definicja w linii 203 pliku kamera.h .

int(* store_meta_data_in_buffers)(struct kamera_device *, int włącz)

Poproś kamerę HAL o przechowywanie metadanych lub rzeczywistych danych YUV w buforach wideo wysyłanych za pośrednictwem CAMERA_MSG_VIDEO_FRAME dla sesji nagraniowej. Jeśli nie zostanie wywołane, domyślnym zachowaniem HAL kamery będzie przechowywanie prawdziwych danych YUV w buforach wideo.

Aby metoda ta była skuteczna, powinna zostać wywołana przed startRecording().

Jeżeli metadane są przechowywane w buforach wideo, do odbiorcy buforów wideo należy interpretacja zawartości i znalezienie rzeczywistych danych klatki za pomocą metadanych w buforze. Sposób, w jaki to się robi, wykracza poza zakres tej metody.

Niektóre warstwy HAL kamer mogą nie obsługiwać przechowywania metadanych w buforach wideo, ale wszystkie warstwy HAL kamer powinny obsługiwać przechowywanie prawdziwych danych YUV w buforach wideo. Jeśli warstwa HAL kamery nie obsługuje przechowywania metadanych w buforach wideo, gdy jest to wymagane, należy zwrócić INVALID_OPERATION. Bardzo przydatne jest, aby kamera HAL przesyłała metadane zamiast rzeczywistych danych klatki bezpośrednio do kodera wideo, ponieważ ilość nieskompresowanych danych klatki może być bardzo duża, jeśli rozmiar wideo jest duży.

Parametry
włączać jeśli true, instruuje kamerę HAL, aby przechowywała metadane w buforach wideo; false , aby poinstruować kamerę HAL, aby przechowywała prawdziwe dane YUV w buforach wideo.
Zwroty
OK, jeśli chodzi o sukces.

Definicja w linii 186 pliku kamera.h .

int(* take_picture)(struct kamera_urządzenie *)

Zrobić zdjęcie.

Definicja w linii 240 pliku kamera.h .


Dokumentacja tej struktury została wygenerowana z następującego pliku:
  • hardware/libhardware/include/hardware/ camera.h