Camera_device_ops Yapı Referansı

Camera_device_ops Yapı Referansı

#include < camera.h >

Veri alanları

int(* set_preview_window )(struct kamera_device *, struct önizleme_stream_ops *pencere)
geçersiz(* 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)
geçersiz(* active_msg_type )(struct kamera_device *, int32_t msg_type)
geçersiz(* devre dışı_msg_type )(struct kamera_device *, int32_t msg_type)
int(* msg_type_enabled )(struct kamera_device *, int32_t msg_type)
int(* start_preview )(struct kamera_device *)
geçersiz(* stop_preview )(struct kamera_device *)
int(* önizleme_enabled )(struct kamera_device *)
int(* Store_meta_data_in_buffers )(struct kamera_device *, int etkinleştir)
int(* start_recording )(struct kamera_device *)
geçersiz(* stop_recording )(struct kamera_device *)
int(* kayıt_enabled )( kamera_device'ı yapılandır *)
geçersiz(* Release_recording_frame )(struct kamera_device *, const void *opaque)
int(* auto_focus )(struct kamera_device *)
int(* cancel_auto_focus )( maker_device *)
int(* take_picture )(struct kamera_device *)
int(* cancel_picture )(struct kamera_device *)
int(* set_parameters )(struct kamera_device *, const char *parms)
karakter *(* get_parameters )(struct kamera_device *)
geçersiz(* put_parameters )(struct kamera_device *, char *)
int(* send_command )(struct kamera_device *, int32_t cmd, int32_t arg1, int32_t arg2)
geçersiz(* yayın )(struct kamera_device *)
int(* dump )(struct kamera_device *, int fd)

Detaylı Açıklama

Camera.h dosyasının 99. satırındaki tanım.

Saha Dokümantasyonu

int(* auto_focus)(struct kamera_device *)

Otomatik odaklamayı başlatın, odaklanma tamamlandığında bildirim geri arama rutini CAMERA_MSG_FOCUS ile bir kez çağrılır. Başka bir otomatik odaklamaya ihtiyaç duyulursa autoFocus() tekrar çağrılacaktır.

Camera.h dosyasının 227. satırındaki tanım.

int(* cancel_auto_focus)(struct kamera_device *)

Otomatik odaklama işlevini iptal eder. Otomatik odaklama hala devam ediyorsa bu işlev onu iptal edecektir. Otomatik odaklama devam etse de etmese de, bu işlev odak konumunu varsayılana döndürecektir. Kamera otomatik odaklamayı desteklemiyorsa bu işlem yapılmaz.

Camera.h dosyasının 235. satırındaki tanım.

int(* cancel_picture)(struct kamera_device *)

TakePicture ile başlatılan bir resmi iptal edin. Hiçbir resim çekilmediğinde bu yöntemin çağrılması işlem yapılmaz.

Camera.h dosyasının 246. satırındaki tanım.

void(* devre dışı_msg_type)(struct kamera_device *, int32_t msg_type)

Bir mesajı veya bir dizi mesajı devre dışı bırakın.

DisableMsgType(CAMERA_MSG_VIDEO_FRAME) çağrısı alındıktan sonra kamera HAL, DisableMsgType(CAMERA_MSG_VIDEO_FRAME) çağrısından önce ve sonra kameral HAL tarafından gönderilen video kayıt çerçevelerini serbest bırakmak için ReleaseRecordingFrame() çağrısını yapmak üzere istemcisine güvenmemelidir. Kamera HAL istemcileri,disableMsgType(CAMERA_MSG_VIDEO_FRAME) çağrıldıktan sonra herhangi bir video kayıt karesini değiştirmemeli/erişmemelidir.

Camera.h dosyasının 132. satırındaki tanım.

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

Kamera donanımının döküm durumu

Camera.h dosyasının 282. satırındaki tanım.

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

Aşağıdaki üç işlevin tümü, include/ui/Camera.h'de tanımlanan mesajların bit maskesi olan msg_type'ı alır. Bir mesajı veya mesaj kümesini etkinleştirin.

Camera.h dosyasının 120. satırındaki tanım.

char*(* get_parameters)(struct kamera_device *)

Kamera parametrelerini alın. HAL kamerası tarafından döndürülen arabellek, eğer put_parameters NULL değilse, put_parameters ile ona geri döndürülmelidir.

Camera.h dosyasının 258. satırındaki tanım.

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

Bir mesajın veya bir mesaj grubunun etkin olup olmadığını sorgulayın. Bunun bir VE olarak çalıştığını unutmayın; sorgulanan mesajlardan herhangi biri kapalıysa, bu yanlış değerini döndürecektir.

Camera.h dosyasının 139. satırındaki tanım.

int(* önizleme_enabled)(struct kamera_device *)

Önizleme etkinse true değerini döndürür.

Camera.h dosyasının 154. satırındaki tanım.

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

HAL kamerası, get_parameters'ı çağırdığımızda parametreleri bize iletmek için kendi belleğini kullanır. put_parameters NULL değilse, belleği kamera HAL'sine geri döndürmek için bu işlevi kullanın. put_parameters NULL ise, belleği serbest bırakmak için free() işlevini kullanmanız gerekir.

Camera.h dosyasının 265. satırındaki tanım.

int(* kayıt_enabled)(struct kamera_device *)

Kayıt etkinse true değerini döndürür.

Camera.h dosyasının 208. satırındaki tanım.

void(* yayın)(struct kamera_device *)

Bu nesnenin sahip olduğu donanım kaynaklarını serbest bırakın. Bunun yıkıcıda yapılmadığını unutmayın.

Camera.h dosyasının 277. satırındaki tanım.

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

Daha önce CAMERA_MSG_VIDEO_FRAME tarafından döndürülen bir kayıt çerçevesini serbest bırakın.

Kamera HAL'i, MsgType'ı devre dışı bırakmak için bir çağrı almadan önce, kamera HAL'i tarafından gönderilen video kayıt çerçevelerini serbest bırakmak kamera HAL istemcisinin sorumluluğundadır(CAMERA_MSG_VIDEO_FRAME). DisableMsgType(CAMERA_MSG_VIDEO_FRAME) çağrısını aldıktan sonra, video kayıt çerçevelerinin yaşam döngüsünü yönetmek kamera HAL'nin sorumluluğundadır.

Camera.h dosyasının 219. satırındaki tanım.

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

Komutu kamera sürücüsüne gönderin.

Camera.h dosyasının 270. satırındaki tanım.

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 *kullanıcı)

Bildirimi ve veri geri aramalarını ayarlayın

Camera.h dosyasının 105. satırındaki tanım.

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

Kamera parametrelerini ayarlayın. Herhangi bir parametre geçersizse veya desteklenmiyorsa bu, BAD_VALUE değerini döndürür.

Camera.h dosyasının 252. satırındaki tanım.

int(* set_preview_window)(struct kamera_device *, struct önizleme_stream_ops *window)

Önizleme çerçevelerinin gönderileceği ANativeWindow'u ayarlayın

Camera.h dosyasının 101. satırındaki tanım.

int(* start_preview)(struct kamera_device *)

Önizleme modunu başlatın.

Camera.h dosyasının 144. satırındaki tanım.

int(* start_recording)(struct kamera_device *)

Kayıt modunu başlatın. Bir kayıt görüntüsü mevcut olduğunda, karşılık gelen çerçeveyle birlikte bir CAMERA_MSG_VIDEO_FRAME mesajı gönderilir. Her kayıt karesi, istemcinindisableMsgType(CAMERA_MSG_VIDEO_FRAME) öğesini çağırmadan önce, bir kamera HAL istemcisi tarafından,releaseRecordingFrame() aracılığıyla serbest bırakılması gerekir. İstemci, devre dışı bırakmaMsgType(CAMERA_MSG_VIDEO_FRAME) çağrısını yaptıktan sonra, video kayıt çerçevelerinin yaşam döngüsünü yönetmek kamera HAL'nin sorumluluğundadır ve istemci, herhangi bir video kayıt çerçevesini değiştirmemeli/erişmemelidir.

Camera.h dosyasının 198. satırındaki tanım.

void(* stop_preview)(struct kamera_device *)

Daha önce başlatılan bir önizlemeyi durdurun.

Camera.h dosyasının 149. satırındaki tanım.

void(* stop_recording)(struct kamera_device *)

Daha önce başlatılmış bir kaydı durdurun.

Camera.h dosyasının 203. satırındaki tanım.

int(*store_meta_data_in_buffers)(struct kamera_device *, int etkinleştir)

Kamera HAL'sinden, bir kayıt oturumu için CAMERA_MSG_VIDEO_FRAME aracılığıyla gönderilen video arabelleklerinde meta verileri veya gerçek YUV verilerini depolamasını isteyin. Çağrılmazsa, varsayılan kamera HAL davranışı, gerçek YUV verilerini video arabelleklerinde depolamaktır.

Etkili olabilmesi için bu yöntemin startRecording() işleminden önce çağrılması gerekir.

Meta veriler video arabelleklerinde depolanıyorsa, içerikleri yorumlamak ve arabellekteki meta veriler yardımıyla gerçek çerçeve verilerini bulmak video arabelleklerinin alıcısına kalmıştır. Bunun nasıl yapıldığı bu yöntemin kapsamı dışındadır.

Bazı kamera HAL'leri, meta verilerinin video arabelleklerinde saklanmasını desteklemeyebilir, ancak tüm kamera HAL'leri, gerçek YUV verilerinin video arabelleklerinde saklanmasını desteklemelidir. Kamera HAL'si, istendiğinde meta verilerinin video arabelleklerinde saklanmasını desteklemiyorsa, INVALID_OPERATION döndürülmelidir. Video boyutu büyükse sıkıştırılmamış kare verilerinin miktarı çok büyük olabileceğinden, gerçek kare verileri yerine meta verileri doğrudan video kodlayıcıya iletmek kamera HAL'si için çok kullanışlıdır.

Parametreler
olanak vermek true ise, kamera HAL'sine meta verileri video arabelleklerinde depolaması talimatını vermek için; false kamera HAL'sine gerçek YUV verilerini video arabelleklerinde saklaması talimatını vermek için.
İadeler
Başarı konusunda tamam.

Camera.h dosyasının 186. satırındaki tanım.

int(* take_picture)(struct kamera_device *)

Bir fotoğraf çek.

Camera.h dosyasının 240. satırındaki tanım.


Bu yapıya ilişkin belgeler aşağıdaki dosyadan oluşturulmuştur:
  • donanım/libdonanım/include/donanım/ kamera.h