Camera_device_ops 構造体のリファレンス

Camera_device_ops 構造体のリファレンス

#include < camera.h >

データフィールド

int(* set_preview_window )(struct Camera_device *, structreview_stream_ops *window)
空所(* set_callbacks )(structカメラ_デバイス*,カメラ_通知_コールバック通知_cb,カメラ_データ_コールバック データ_cb,カメラ_データ_タイムスタンプ_コールバック データ_cb_タイムスタンプ, カメラ_リクエスト_メモリ get_memory, void *user)
空所(* Enable_msg_type )(struct Camera_device *, int32_t msg_type)
空所(* 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 *)
空所(* stop_preview )(struct Camera_device *)
int(*プレビュー有効)(structカメラデバイス*)
int(* store_meta_data_in_buffers )(struct Camera_device *, int Enable)
int(* start_recording )(struct Camera_device *)
空所(* stop_recording )(struct Camera_device *)
int(*録画有効)(structカメラデバイス*)
空所(* 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)
文字 *(* get_parameters )(struct Camera_device *)
空所(* put_parameters )(struct Camera_device *, char *)
int(* send_command )(struct Camera_device *, int32_t cmd, int32_t arg1, int32_t arg2)
空所(*リリース)(struct Camera_device *)
int(*ダンプ)(structカメラ_デバイス*, int fd)

詳細な説明

ファイルCamera.h99行目の定義。

フィールドドキュメント

int(* auto_focus)(struct Camera_device *)

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

ファイルCamera.h227行目の定義。

int(* cancel_auto_focus)(struct Camera_device *)

オートフォーカス機能を解除します。オートフォーカスが進行中の場合、この機能はオートフォーカスをキャンセルします。オートフォーカスの実行中かどうかにかかわらず、フォーカス位置をデフォルトに戻す機能です。カメラがオートフォーカスをサポートしていない場合、これは何も行いません。

ファイルCamera.h235行目の定義。

int(* cancel_picture)(struct Camera_device *)

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

ファイルCamera.h246行目の定義。

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

1 つのメッセージまたは一連のメッセージを無効にします。

disableMsgType(CAMERA_MSG_VIDEO_FRAME) への呼び出しを受信した後、カメラ HAL は、disableMsgType(CAMERA_MSG_VIDEO_FRAME) 呼び出しの前後にカメラ HAL によって送信されたビデオ録画フレームを解放するために releaseRecordingFrame() を呼び出すクライアントに依存すべきではありません。カメラ HAL クライアントは、disableMsgType(CAMERA_MSG_VIDEO_FRAME) を呼び出した後、ビデオ録画フレームを変更したりアクセスしたりしてはなりません。

ファイルCamera.h132行目の定義。

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

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

ファイルCamera.h282行目の定義。

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

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

ファイルCamera.h120行目の定義。

char*(* get_parameters)(struct Camera_device *)

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

ファイルCamera.h258行目の定義。

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

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

ファイルCamera.h139行目の定義。

int(* プレビュー有効)(structカメラデバイス*)

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

ファイルCamera.h154行目の定義。

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

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

ファイルCamera.h265行目の定義。

int(* 録画有効)(structカメラデバイス*)

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

ファイルCamera.h208行目の定義。

void(* release)(struct Camera_device *)

このオブジェクトが所有するハードウェア リソースを解放します。これはデストラクターでは行われないことに注意してください。

ファイルCamera.h277行目の定義。

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.h219行目の定義。

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

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

ファイルCamera.h270行目の定義。

void(* set_callbacks)(structカメラ_デバイス*,カメラ_通知_コールバック通知_cb,カメラ_データ_コールバック データ_cb,カメラ_データ_タイムスタンプ_コールバックデータ_cb_タイムスタンプ,カメラ_リクエスト_メモリ get_memory, void *user)

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

ファイルCamera.h105行目の定義。

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

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

ファイルCamera.h252行目の定義。

int(* set_preview_window)(struct Camera_device *, structreview_stream_ops *window)

プレビュー フレームの送信先となる ANativeWindow を設定します

ファイルCamera.h101行目の定義。

int(* start_preview)(struct Camera_device *)

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

ファイルCamera.h144行目の定義。

int(* start_recording)(struct Camera_device *)

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

ファイルCamera.h198行目の定義。

void(* stop_preview)(struct Camera_device *)

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

ファイルCamera.h149行目の定義。

void(* stop_recording)(struct Camera_device *)

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

ファイルCamera.h203行目の定義。

int(* store_meta_data_in_buffers)(struct Camera_device *, int Enable)

録画セッションのために CAMERA_MSG_VIDEO_FRAME 経由で送信されるビデオ バッファーにメタ データまたは実際の YUV データを保存するようにカメラ HAL に要求します。呼び出されない場合、デフォルトのカメラ HAL 動作は、実際の YUV データをビデオ バッファーに保存します。

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

メタデータがビデオ バッファに保存されている場合、コンテンツを解釈し、バッファ内のメタ データを利用して実際のフレーム データを見つけるのは、ビデオ バッファの受信側の責任になります。これがどのように行われるかについては、このメソッドの範囲外です。

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

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

ファイルCamera.h186行目の定義。

int(* take_picture)(struct Camera_device *)

写真を撮る。

ファイルCamera.h240行目の定義。


この構造体のドキュメントは次のファイルから生成されました。
  • hardware/libhardware/include/hardware/ camera.h