Referensi Struktur camera_device_ops

Referensi Struktur camera_device_ops

#include < camera.h >

Bidang Data

int(* set_preview_window )(struct camera_device *, struct preview_stream_ops *window)
ruang kosong(* 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)
ruang kosong(* enable_msg_type )(struct camera_device *, int32_t msg_type)
ruang kosong(* 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 *)
ruang kosong(* stop_preview )(struct camera_device *)
int(* preview_enabled )(struct camera_device *)
int(* store_meta_data_in_buffers )(struct camera_device *, int aktifkan)
int(* start_recording )(struct camera_device *)
ruang kosong(* stop_recording )(struct camera_device *)
int(* recording_enabled )(struct camera_device *)
ruang kosong(* release_recording_frame )(struct camera_device *, const void *opaque)
int(* auto_focus )(struktur camera_device *)
int(* cancel_auto_focus )(struct camera_device *)
int(* take_picture )(struktur camera_device *)
int(* cancel_picture )(struct camera_device *)
int(* set_parameters )(struct camera_device *, const char *parms)
karakter *(* get_parameters )(struct camera_device *)
ruang kosong(* put_parameters )(struct camera_device *, char *)
int(* send_command )(struct camera_device *, int32_t cmd, int32_t arg1, int32_t arg2)
ruang kosong(* rilis )(struct camera_device *)
int(* dump )(struct camera_device *, int fd)

Detil Deskripsi

Definisi pada baris 99 dari file camera.h .

Dokumentasi Lapangan

int(* auto_focus)(struct camera_device *)

Mulai fokus otomatis, rutinitas panggilan balik notifikasi dipanggil dengan CAMERA_MSG_FOCUS satu kali saat pemfokusan selesai. autoFocus() akan dipanggil lagi jika fokus otomatis lain diperlukan.

Definisi pada baris 227 dari file camera.h .

int(* cancel_auto_focus)(struct camera_device *)

Membatalkan fungsi fokus otomatis. Jika fokus otomatis masih berlangsung, fungsi ini akan membatalkannya. Apakah fokus otomatis sedang berlangsung atau tidak, fungsi ini akan mengembalikan posisi fokus ke default. Jika kamera tidak mendukung fokus otomatis, ini adalah larangan.

Definisi pada baris 235 dari file camera.h .

int(* cancel_picture)(struct camera_device *)

Membatalkan gambar yang dimulai dengan takePicture. Memanggil metode ini saat tidak ada gambar yang diambil adalah larangan.

Definisi pada baris 246 dari file camera.h .

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

Nonaktifkan pesan, atau sekumpulan pesan.

Setelah menerima panggilan ke disableMsgType(CAMERA_MSG_VIDEO_FRAME), kamera HAL tidak boleh bergantung pada kliennya untuk memanggil releaseRecordingFrame() untuk melepaskan bingkai perekaman video yang dikirim oleh HAL kamera sebelum dan setelah panggilan disableMsgType(CAMERA_MSG_VIDEO_FRAME). Klien kamera HAL tidak boleh mengubah/mengakses bingkai perekaman video apa pun setelah memanggil disableMsgType(CAMERA_MSG_VIDEO_FRAME).

Definisi pada baris 132 dari file camera.h .

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

Buang status perangkat keras kamera

Definisi pada baris 282 dari file camera.h .

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

Tiga fungsi berikut semuanya mengambil msg_type, yang merupakan bitmask dari pesan yang didefinisikan di include/ui/Camera.h Mengaktifkan pesan, atau kumpulan pesan.

Definisi pada baris 120 file camera.h .

char*(* get_parameters)(struct camera_device *)

Ambil parameter kamera. Buffer yang dikembalikan oleh kamera HAL harus dikembalikan dengan put_parameters, jika put_parameters bukan NULL.

Definisi pada baris 258 dari file camera.h .

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

Kueri apakah pesan, atau sekumpulan pesan, diaktifkan. Perhatikan bahwa ini beroperasi sebagai AND, jika ada pesan yang ditanyakan tidak aktif, ini akan mengembalikan false.

Definisi pada baris 139 dari file camera.h .

int(* preview_enabled)(struct camera_device *)

Mengembalikan nilai true jika pratinjau diaktifkan.

Definisi pada baris 154 dari file camera.h .

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

Kamera HAL menggunakan memorinya sendiri untuk meneruskan parameter saat kita memanggil get_parameters. Gunakan fungsi ini untuk mengembalikan memori ke HAL kamera, jika put_parameters bukan NULL. Jika put_parameters adalah NULL, maka Anda harus menggunakan free() untuk melepaskan memori.

Definisi pada baris 265 dari file camera.h .

int(* recording_enabled)(struct camera_device *)

Mengembalikan nilai true jika perekaman diaktifkan.

Definisi pada baris 208 dari file camera.h .

void(* release)(struct camera_device *)

Lepaskan sumber daya perangkat keras yang dimiliki oleh objek ini. Perhatikan bahwa ini tidak dilakukan di destruktor.

Definisi pada baris 277 dari file camera.h .

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

Lepaskan bingkai rekaman yang sebelumnya dikembalikan oleh CAMERA_MSG_VIDEO_FRAME.

Klien kamera HAL bertanggung jawab untuk melepaskan bingkai rekaman video yang dikirim oleh HAL kamera sebelum HAL kamera menerima panggilan ke disableMsgType(CAMERA_MSG_VIDEO_FRAME). Setelah menerima panggilan ke disableMsgType(CAMERA_MSG_VIDEO_FRAME), adalah tanggung jawab HAL kamera untuk mengelola siklus hidup bingkai perekaman video.

Definisi pada baris 219 dari file camera.h .

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

Kirim perintah ke driver kamera.

Definisi pada baris 270 dari file 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)

Setel notifikasi dan panggilan balik data

Definisi pada baris 105 dari file camera.h .

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

Mengatur parameter kamera. Ini mengembalikan BAD_VALUE jika ada parameter yang tidak valid atau tidak didukung.

Definisi pada baris 252 file camera.h .

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

Setel ANativeWindow ke mana bingkai pratinjau dikirim

Definisi pada baris 101 dari file camera.h .

int(* start_preview)(struct camera_device *)

Mulai mode pratinjau.

Definisi pada baris 144 dari file camera.h .

int(* start_recording)(struct camera_device *)

Mulai mode perekaman. Saat gambar rekaman tersedia, pesan CAMERA_MSG_VIDEO_FRAME dikirim dengan bingkai yang sesuai. Setiap bingkai rekaman harus dilepaskan oleh klien HAL kamera melalui releaseRecordingFrame() sebelum klien memanggil disableMsgType(CAMERA_MSG_VIDEO_FRAME). Setelah klien memanggil disableMsgType(CAMERA_MSG_VIDEO_FRAME), adalah tanggung jawab HAL kamera untuk mengelola siklus hidup bingkai perekaman video, dan klien tidak boleh mengubah/mengakses bingkai perekaman video apa pun.

Definisi pada baris 198 dari file camera.h .

void(* stop_preview)(struct camera_device *)

Hentikan pratinjau yang dimulai sebelumnya.

Definisi pada baris 149 dari file camera.h .

void(* stop_recording)(struct camera_device *)

Hentikan rekaman yang dimulai sebelumnya.

Definisi pada baris 203 dari file camera.h .

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

Minta kamera HAL untuk menyimpan data meta atau data YUV nyata dalam buffer video yang dikirim melalui CAMERA_MSG_VIDEO_FRAME untuk sesi perekaman. Jika tidak dipanggil, perilaku HAL kamera default adalah menyimpan data YUV nyata dalam buffer video.

Metode ini harus dipanggil sebelum startRecording() agar efektif.

Jika data meta disimpan di buffer video, terserah kepada penerima buffer video untuk menafsirkan konten dan untuk menemukan data bingkai yang sebenarnya dengan bantuan data meta di buffer. Bagaimana hal ini dilakukan berada di luar cakupan metode ini.

Beberapa HAL kamera mungkin tidak mendukung penyimpanan data meta di buffer video, tetapi semua HAL kamera harus mendukung penyimpanan data YUV nyata di buffer video. Jika kamera HAL tidak mendukung penyimpanan data meta dalam buffer video saat diminta untuk melakukannya, INVALID_OPERATION harus dikembalikan. Hal ini sangat berguna untuk kamera HAL untuk melewatkan data meta daripada data bingkai yang sebenarnya langsung ke encoder video, karena jumlah data bingkai yang tidak terkompresi bisa sangat besar jika ukuran video besar.

Parameter
memungkinkan jika benar untuk menginstruksikan kamera HAL untuk menyimpan data meta dalam buffer video; false untuk menginstruksikan kamera HAL untuk menyimpan data YUV nyata dalam buffer video.
Kembali
Oke sukses.

Definisi pada baris 186 dari file camera.h .

int(* take_picture)(struct camera_device *)

Mengambil gambar.

Definisi pada baris 240 dari file camera.h .


Dokumentasi untuk struct ini dibuat dari file berikut:
  • hardware/libhardware/include/hardware/ camera.h