camera_device_ops Yapı Referansı

camera_device_ops Yapı Referansı

#include < camera.h >

Veri alanları

int(* set_preview_window )( camera_device * struct, ön izleme_stream_ops * penceresini struct)
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(* enable_msg_type )( camera_device * yapısı, int32_t msg_type)
geçersiz(* disable_msg_type )(struct camera_device *, int32_t msg_type)
int(* msg_type_enabled )(struct camera_device *, int32_t msg_type)
int(* start_preview )( camera_device yapısı *)
geçersiz(* stop_preview )( camera_device yapı *)
int(* önizleme_etkin )( camera_device yapı *)
int(* store_meta_data_in_buffers )( camera_device * yapı, int etkinleştir)
int(* start_recording )( kamera_aygıtı yapısı *)
geçersiz(* stop_recording )( kamera_aygıtı yapısı *)
int(* record_enabled )( camera_device yapı *)
geçersiz(* release_recording_frame )(struct camera_device *, const void *opak)
int(* auto_focus )( camera_device yapı *)
int(* iptal_otomatik_odak )( kamera_cihazını yap *)
int(* take_picture )( camera_device yapısı *)
int(* iptal_resim )( kamera_cihazını yap *)
int(* set_parameters )(struct camera_device *, const char *parms)
karakter *(* get_parameters )( camera_device yapısı *)
geçersiz(* put_parameters )(struct camera_device *, char *)
int(* send_command )(struct camera_device *, int32_t cmd, int32_t arg1, int32_t arg2)
geçersiz(* yayın )( camera_device yapı *)
int(* dökümü )( camera_device * yapısı, int fd)

Detaylı Açıklama

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

Saha Dokümantasyonu

int(* auto_focus)(struct camera_device *)

Otomatik odaklamayı başlat, odaklama tamamlandığında bildirim geri arama rutini CAMERA_MSG_FOCUS ile bir kez çağrılır. autoFocus() başka bir otomatik odak gerekirse yeniden çağrılır.

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

int(* iptal_otomatik_odak)( camera_device yapısı *)

Otomatik odaklama işlevini iptal eder. Otomatik odaklama hala devam ediyorsa, bu fonksiyon onu iptal edecektir. Otomatik odaklama devam ediyor olsun ya da olmasın, bu işlev odak konumunu varsayılana döndürür. Kamera otomatik odaklamayı desteklemiyorsa, bu işlem yapılmaz.

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

int(* iptal_resim)( kamera_aygıtı yapısı *)

TakePicture ile başlatılan bir resmi iptal edin. Resim çekilmiyorken bu yöntemi çağırmak işe yaramaz.

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

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

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

Bir kere disableMsgType(CAMERA_MSG_VIDEO_FRAME) çağrısı aldığında, kamera HAL, devre dışıMsgType(CAMERA_MSG_VIDEO_FRAME) çağrısından önce ve sonra kamera HAL tarafından gönderilen video kayıt çerçevelerini serbest bırakmak için releaseRecordingFrame() çağrısı yapmak için istemcisine güvenmemelidir. Kamera HAL istemcileri, disableMsgType(CAMERA_MSG_VIDEO_FRAME) çağrısından sonra hiçbir video kayıt çerçevesini değiştirmemeli/erişmemelidir.

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

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

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

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

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

Aşağıdaki üç işlevin tümü, include/ui/Camera.h içinde tanımlanan mesajların bir bit maskesi olan bir 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 camera_device *)

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

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

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

Bir mesajın veya bir dizi mesajın etkin olup olmadığını sorgulayın. Bunun bir AND olarak çalıştığını unutmayın, sorgulanan mesajlardan herhangi biri kapalıysa, bu false döndürür.

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

int(*preview_enabled)(struct camera_device *)

Önizleme etkinse true döndürür.

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

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

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

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

int(* record_enabled)(struct camera_device *)

Kayıt etkinse true döndürür.

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

void(* yayın)( camera_device yapı *)

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 camera_device *, const void *opaque)

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

Kamera HAL'ı devre dışı bırakmaMsgType(CAMERA_MSG_VIDEO_FRAME) için bir çağrı almadan önce kamera HAL'ı tarafından gönderilen video kayıt karelerini serbest bırakmak kamera HAL istemcisinin sorumluluğundadır. 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 camera_device *, int32_t cmd, int32_t arg1, int32_t arg2)

Kamera sürücüsüne komut gönder.

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 *user)

Bildirimi ve veri geri aramalarını ayarlayın

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

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

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

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

int(* set_preview_window)(struct camera_device *, struct önizleme_stream_ops *penceresi)

Ö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 camera_device *)

Önizleme modunu başlatın.

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

int(* start_recording)(struct camera_device *)

Kayıt modunu başlatın. Bir kayıt görüntüsü mevcut olduğunda, ilgili çerçeveyle birlikte bir CAMERA_MSG_VIDEO_FRAME mesajı gönderilir. İstemci disableMsgType(CAMERA_MSG_VIDEO_FRAME) çağırmadan önce her kayıt karesi bir kamera HAL istemcisi tarafından releaseRecordingFrame() aracılığıyla serbest bırakılmalıdır. İstemci disableMsgType(CAMERA_MSG_VIDEO_FRAME) öğesini çağırdıktan sonra, video kayıt karelerinin yaşam döngüsünü yönetmek kamera HAL'nin sorumluluğundadır ve istemci herhangi bir video kayıt karesini değiştirmemeli/erişmemelidir.

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

void(* stop_preview)( camera_device yapısı *)

Önceden başlatılmış bir önizlemeyi durdurun.

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

void(* stop_recording)(struct camera_device *)

Önceden başlatılmış bir kaydı durdurun.

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

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

Kamera HAL'den, 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ışı, video arabelleklerinde gerçek YUV verilerini depolamaktır.

Etkili olması için bu yöntemin startRecording()'den önce çağrılması gerekir.

Video arabelleklerinde meta veriler depolanıyorsa, içeriği 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, video arabelleklerinde meta verilerin depolanmasını desteklemeyebilir, ancak tüm kamera HAL'leri, video arabelleklerinde gerçek YUV verilerinin depolanmasını desteklemelidir. Kamera HAL'ı, yapılması istendiğinde video arabelleklerinde meta verilerin depolanmasını desteklemiyorsa, INVALID_OPERATION döndürülmelidir. Video boyutu büyükse sıkıştırılmamış çerçeve verilerinin miktarı çok büyük olabileceğinden, kamera HAL'ının gerçek çerçeve verileri yerine meta verileri doğrudan video kodlayıcıya iletmesi çok yararlıdır.

parametreler
etkinleştirme kamera HAL'ına meta verileri video arabelleklerinde depolaması talimatını vermek için true ise; false , kamera HAL'ına video arabelleklerinde gerçek YUV verilerini depolaması talimatını vermek için.
İadeler
Tamam başarı.

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

int(* take_picture)( camera_device yapısı *)

Bir fotoğraf çek.

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


Bu yapı için belgeler aşağıdaki dosyadan oluşturulmuştur:
  • donanım/libdonanım/içerme/donanım/ kamera.h