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
Saha Dokümantasyonu
int(* auto_focus)(struct camera_device *) |
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.
int(* iptal_resim)( kamera_aygıtı yapısı *) |
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.
int(* dump)(struct camera_device *, int fd) |
void(* enable_msg_type)(struct camera_device *, int32_t msg_type) |
char*(* get_parameters)(struct camera_device *) |
int(* msg_type_enabled)(struct camera_device *, int32_t msg_type) |
int(*preview_enabled)(struct camera_device *) |
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.
int(* record_enabled)(struct camera_device *) |
void(* yayın)( camera_device yapı *) |
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.
int(* send_command)(struct camera_device *, int32_t cmd, int32_t arg1, int32_t arg2) |
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) |
int(* set_parameters)(struct camera_device *, const char *parms) |
int(* set_preview_window)(struct camera_device *, struct önizleme_stream_ops *penceresi) |
int(* start_preview)(struct camera_device *) |
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.
void(* stop_preview)( camera_device yapısı *) |
void(* stop_recording)(struct camera_device *) |
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ı.
int(* take_picture)( camera_device yapısı *) |
Bu yapı için belgeler aşağıdaki dosyadan oluşturulmuştur:
- donanım/libdonanım/içerme/donanım/ kamera.h