camera_device_ops Yapı Referansı

camera_device_ops Yapı Referansı

#include < camera.h >

Veri Alanları

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

Ayrıntılı Açıklama

camera.h dosyasının 99 satırı

Alan Belgeleri

int(* auto_focus)(struct camera_device *)

Otomatik odağı başlatır. Odak tamamlandığında bildirim geri çağırma rutini CAMERA_MSG_FOCUS ile bir kez çağrılır. Başka bir otomatik odaklama gerekirse autoFocus() tekrar çağrılır.

Tanım, camera.h dosyasının 227. satırı içindedir.

int(* cancel_auto_focus)(struct camera_device *)

Otomatik odaklama işlevini iptal eder. Otomatik odaklama işlemi devam ediyorsa bu işlev otomatik odaklamayı iptal eder. Otomatik odaklama işlemi devam ediyor olsun veya olmasın bu işlev, odak konumunu varsayılan değere döndürür. Kamera otomatik odaklama özelliğini desteklemiyorsa bu işlem yapılmaz.

Tanım, camera.h dosyasının 235. satırı içindedir.

int(* cancel_picture)(struct camera_device *)

takePicture ile başlatılan bir fotoğrafı iptal edin. Fotoğraf çekilmediğinde bu yöntem çağrılırsa hiçbir işlem yapılmaz.

camera.h dosyasının 246 satırındadır.

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

Bir mesajı veya mesaj grubunu devre dışı bırakma

disableMsgType(CAMERA_MSG_VIDEO_FRAME) çağrısı alındıktan sonra kamera HAL'i, disableMsgType(CAMERA_MSG_VIDEO_FRAME) çağrısından önce ve sonra kamera HAL'i tarafından gönderilen video kaydı karelerini serbest bırakmak için istemcisinin releaseRecordingFrame() işlevini çağırmasına güvenmemelidir. Kamera HAL istemcileri, disableMsgType(CAMERA_MSG_VIDEO_FRAME) çağrısından sonra hiçbir video kaydı çerçevesini değiştirmemeli/erişmemelidir.

Tanımı, camera.h dosyasının 132 satırındadır.

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

Kamera donanımının durumunu dökme

Tanımı, camera.h dosyasının 282 satırı

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

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

Tanımı, camera.h dosyasının 120 satırndandır.

char*(* get_parameters)(struct camera_device *)

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

Tanımı, camera.h dosyasının 258 satırı

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

Bir ileti veya ileti grubunun etkin olup olmadığını sorgulayın. Bu işlemin VE olarak çalıştığını unutmayın. Sorgulanan mesajlardan herhangi biri kapalıysa yanlış değerini döndürür.

Tanımı, camera.h dosyasının 139. satırı içindedir.

int(* preview_enabled)(struct camera_device *)

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

Tanımı, camera.h dosyasının 154. satırı içinde bulabilirsiniz.

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

Kamera HAL'i, 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'e 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.

Tanımı, camera.h dosyasının 265. satırı içindedir.

int(* recording_enabled)(struct camera_device *)

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

Tanımı, camera.h dosyasının 208. satırı içinde bulabilirsiniz.

void(* release)(struct camera_device *)

Bu nesnenin sahip olduğu donanım kaynaklarını serbest bırakın. Bunun, yok edicide yapılmadığını unutmayın.

Tanımı, camera.h dosyasının 277 satırı

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 karesini yayınlayın.

Kamera HAL istemcisinin, kamera HAL'i disableMsgType(CAMERA_MSG_VIDEO_FRAME) çağrısı almadan önce kamera HAL tarafından gönderilen video kaydı çerçevelerini yayınlaması gerekir. disableMsgType(CAMERA_MSG_VIDEO_FRAME) çağrısını aldıktan sonra video kaydı çerçevelerinin yaşam döngüsünü yönetmek kamera HAL'inin sorumluluğundadır.

Tanımı, camera.h dosyasının 219 satırı

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

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

Tanımı, camera.h dosyasının 270 satırı

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)

Bildirim ve veri geri çağırma işlevlerini ayarlama

Tanımı, camera.h dosyasının 105. satırı içindedir.

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

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

Tanımı, camera.h dosyasının 252 satırı

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

Önizleme karelerinin gönderildiği ANativeWindow'u ayarlama

Tanımın bulunduğu dosya: camera.h 101 satırı

int(* start_preview)(struct camera_device *)

Önizleme modunu başlatın.

Tanımı, camera.h dosyasının 144. satırı içindedir.

int(* start_recording)(struct camera_device *)

Kayıt modunu başlatın. 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ğrısını yapmadan ö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) işlevini çağırdıktan sonra video kaydı çerçevelerinin yaşam döngüsünü yönetmek kamera HAL'inin sorumluluğundadır ve istemci hiçbir video kaydı çerçevesini değiştirmemeli/erişmemelidir.

Tanım, şu dosyanın 198. satırı içindedir: camera.h .

void(* stop_preview)(struct camera_device *)

Daha önce başlatılmış bir önizlemeyi durdurabilirsiniz.

Tanımı, camera.h dosyasının 149. satırı içindedir.

void(* stop_recording)(struct camera_device *)

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

camera.h dosyasının 203 satırı

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

Kamera HAL'den, 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.

Bu yöntemin etkili olabilmesi için startRecording() yönteminden önce çağrılması gerekir.

Meta veriler video arabelleklerinde depolanıyorsa içeriği yorumlamak ve arabellekteki meta verilerin yardımıyla gerçek kare verilerini bulmak, video arabelleklerini alan tarafa bağlıdır. Bu işlemin nasıl yapıldığı bu yöntemin kapsamı dışındadır.

Bazı kamera HAL'leri, meta verilerin video arabelleklerinde depolanmasını desteklemeyebilir ancak tüm kamera HAL'leri, gerçek YUV verilerinin video arabelleklerinde depolanmasını desteklemelidir. Kamera HAL'i, meta verilerin video arabelleklerinde depolanması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, kamera HAL'inin doğrudan video kodlayıcıya gerçek kare verileri yerine meta verileri iletmesi çok yararlıdır.

Parametreler
etkinleştir Kamera HAL'ine meta verileri video arabelleklerinde depolaması talimatını vermek için doğru, kamera HAL'ine gerçek YUV verilerini video arabelleklerinde depolaması talimatını vermek için yanlış değerini girin.
İlerlemeler
Başarılı olduğunda OK.

Tanımı, camera.h dosyasının 186 satırdadır.

int(* take_picture)(struct camera_device *)

Fotoğraf çekin.

camera.h dosyasının 240 satırı


Bu yapının dokümanları aşağıdaki dosyadan oluşturulmuştur: