camera_device_ops 構造体リファレンス

camera_device_ops 構造体リファレンス

#include < camera.h >

データ フィールド

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)
 

詳細な説明

ファイル camera.h 99 行 の定義。

フィールドのドキュメント

int(* auto_focus)(struct camera_device *)

自動フォーカスを開始します。フォーカスが完了すると、通知コールバック ルーティンが CAMERA_MSG_FOCUS とともに 1 回呼び出されます。別の自動フォーカスが必要な場合は、autoFocus() が再度呼び出されます。

ファイル camera.h 227 行目 の定義。

int(* cancel_auto_focus)(struct camera_device *)

自動フォーカス機能をキャンセルします。自動フォーカスがまだ進行中の場合は、この関数によってキャンセルされます。この関数は、自動フォーカスの処理中かどうかにかかわらず、フォーカス位置をデフォルトに戻します。カメラがオートフォーカスをサポートしていない場合、これは無効です。

ファイル camera.h 235 行 の定義。

int(* cancel_picture)(struct camera_device *)

takePicture で開始された写真をキャンセルします。写真を撮影していないときにこのメソッドを呼び出しても、何も実行されません。

ファイル camera.h 246 行の定義。

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

メッセージまたはメッセージセットを無効にします。

disableMsgType(CAMERA_MSG_VIDEO_FRAME) の呼び出しを受け取ったカメラ HAL は、クライアントが releaseRecordingFrame() を呼び出して、disableMsgType(CAMERA_MSG_VIDEO_FRAME) の呼び出しの前後にカメラ HAL から送信された動画録画フレームを解放することを期待しないでください。カメラ HAL クライアントは、disableMsgType(CAMERA_MSG_VIDEO_FRAME) を呼び出した後に、動画録画フレームを変更またはアクセスしてはなりません。

ファイル camera.h 132 行 の定義。

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

カメラ ハードウェアの状態をダンプします。

ファイル camera.h 282 行目 の定義。

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

次の 3 つの関数はすべて msg_type を受け取ります。これは、include/ui/Camera.h で定義されたメッセージのビットマスクで、メッセージを有効にします。

ファイル camera.h 120 行目の定義。

char*(* get_parameters)(struct camera_device *)

カメラ パラメータを取得します。カメラ HAL から返されたバッファは、put_parameters が NULL でない場合、put_parameters を使用してカメラ HAL に返す必要があります。

ファイル camera.h 258 行 の定義。

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

メッセージまたはメッセージセットが有効かどうかをクエリします。これは AND として動作し、クエリされたメッセージのいずれかがオフになっている場合は false を返します。

ファイル camera.h 139 行 の定義。

int(* preview_enabled)(struct camera_device *)

プレビューが有効な場合は true を返します。

ファイル camera.h 154 行 の定義。

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

カメラ HAL は、get_parameters を呼び出すときに独自のメモリを使用してパラメータを渡します。put_parameters が NULL でない場合、この関数を使用してメモリを camera HAL に戻します。put_parameters が NULL の場合は、free() を使用してメモリを解放する必要があります。

ファイル camera.h 265 行の定義。

int(* recording_enabled)(struct camera_device *)

録画が有効な場合は true を返します。

ファイル camera.h の 208 行目 に定義されています。

void(* release)(struct camera_device *)

このオブジェクトが所有するハードウェア リソースを解放します。これはデストラクタで行われません。

ファイル camera.h 277 行目 の定義。

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

CAMERA_MSG_VIDEO_FRAME によって以前に返されたレコード フレームを解放します。

カメラ HAL が disableMsgType(CAMERA_MSG_VIDEO_FRAME) の呼び出しを受け取る前に、カメラ HAL から送信された動画録画フレームを解放するのはカメラ HAL クライアントの責任です。disableMsgType(CAMERA_MSG_VIDEO_FRAME) の呼び出しを受け取った後、動画録画フレームのライフサイクルを管理するのはカメラ HAL の責任です。

ファイル camera.h 219 行 の定義。

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

カメラ ドライバにコマンドを送信します。

ファイル camera.h 270 行の定義。

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)

通知とデータのコールバックを設定する

ファイル camera.h 105 行 の定義。

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

カメラ パラメータを設定します。いずれかのパラメータが無効またはサポートされていない場合、BAD_VALUE が返されます。

ファイル camera.h 252 行 の定義。

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

プレビュー フレームが送信される ANativeWindow を設定します。

ファイル camera.h の行 101 の定義。

int(* start_preview)(struct camera_device *)

プレビュー モードを開始します。

ファイル camera.h 144 行 の定義。

int(* start_recording)(struct camera_device *)

録画モードを開始します。記録画像が利用可能になると、対応するフレームとともに CAMERA_MSG_VIDEO_FRAME メッセージが送信されます。クライアントが disableMsgType(CAMERA_MSG_VIDEO_FRAME) を呼び出す前に、カメラ HAL クライアントが releaseRecordingFrame() を介してすべてのレコード フレームを解放する必要があります。クライアントが disableMsgType(CAMERA_MSG_VIDEO_FRAME) を呼び出した後、動画録画フレームのライフサイクルを管理するのはカメラ HAL の責任であり、クライアントは動画録画フレームを変更またはアクセスしてはなりません。

ファイル camera.h 198 行目 の定義。

void(* stop_preview)(struct camera_device *)

以前に開始したプレビューを停止します。

ファイル camera.h 149 行 の定義。

void(* stop_recording)(struct camera_device *)

以前に開始した録画を停止します。

ファイル camera.h 203 行 の定義。

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

カメラ HAL に、記録セッションの CAMERA_MSG_VIDEO_FRAME を介して送信される動画バッファにメタデータまたは実際の YUV データを保存するようリクエストします。呼び出されない場合、デフォルトのカメラ HAL の動作では、実際の YUV データを動画バッファに保存します。

このメソッドを有効にするには、startRecording() の前に呼び出す必要があります。

メタデータが動画バッファに保存されている場合、コンテンツを解釈し、バッファ内のメタデータを使用して実際のフレームデータを検索するのは、動画バッファの受信側に委ねられます。具体的な方法については、このメソッドの範囲外です。

一部のカメラ HAL は動画バッファへのメタデータの保存をサポートしていない場合がありますが、すべてのカメラ HAL は動画バッファへの実際の YUV データの保存をサポートする必要があります。カメラ HAL が、リクエストされたときに動画バッファへのメタデータの保存をサポートしていない場合は、INVALID_OPERATION を返す必要があります。動画サイズが大きい場合、非圧縮フレームデータの量が非常に大きくなるため、カメラ HAL が実際のフレームデータではなくメタデータを動画エンコーダに直接渡すことは非常に有用です。

パラメータ
有効にする true の場合、動画バッファにメタデータを保存するようにカメラ HAL に指示します。false の場合、動画バッファに実際の YUV データを保存するようにカメラ HAL に指示します。
戻り値
OK(成功した場合)。

ファイル camera.h 186 行 の定義。

int(* take_picture)(struct camera_device *)

写真を撮影します。

ファイル camera.h 240 行目の定義。


この構造体のドキュメントは、次のファイルから生成されました。