مرجع هيكل الكاميرا_device_ops
#include < camera.h >
حقول البيانات | |
كثافة العمليات (* | set_preview_window )(struct Camera_device *، struct Preview_stream_ops *window) |
فارغ(* | set_callbacks ) (هيكل كاميرا_device *، كاميرا_notify_callback notify_cb، كاميرا_بيانات_رد الاتصال data_cb، كاميرا_بيانات_timestamp_callback data_cb_timestamp، كاميرا_طلب_ذاكرة get_memory، باطلة * مستخدم) |
فارغ(* | Enable_msg_type )(هيكل جهاز الكاميرا *، int32_t msg_type) |
فارغ(* | Disable_msg_type )(struct Camera_device *, int32_t msg_type) |
كثافة العمليات (* | msg_type_enabled )(هيكل جهاز الكاميرا *، int32_t msg_type) |
كثافة العمليات (* | start_preview )(هيكل الكاميرا_الجهاز *) |
فارغ(* | stop_preview )(هيكل الكاميرا_الجهاز *) |
كثافة العمليات (* | Preview_enabled )(هيكل الكاميرا_الجهاز *) |
كثافة العمليات (* | store_meta_data_in_buffers ) (هيكل الكاميرا_الجهاز *، تمكين int) |
كثافة العمليات (* | start_recording )(هيكل الكاميرا_الجهاز *) |
فارغ(* | stop_recording )(هيكل الكاميرا_الجهاز *) |
كثافة العمليات (* | التسجيل_ممكّن )(هيكل الكاميرا_الجهاز *) |
فارغ(* | Release_recording_frame )(هيكل جهاز الكاميرا *، ثابت باطل * معتم) |
كثافة العمليات (* | التركيز التلقائي )(هيكل الكاميرا_الجهاز *) |
كثافة العمليات (* | Cancel_auto_focus )(هيكل الكاميرا_الجهاز *) |
كثافة العمليات (* | take_picture )(هيكل الكاميرا_الجهاز *) |
كثافة العمليات (* | Cancel_picture )(هيكل الكاميرا_الجهاز *) |
كثافة العمليات (* | set_parameters )(struct Camera_device *, const char *parms) |
شار *(* | get_parameters )(هيكل الكاميرا_الجهاز *) |
فارغ(* | put_parameters )(struct Camera_device *, char *) |
كثافة العمليات (* | send_command )(struct Camera_device *, int32_t cmd, int32_t arg1, int32_t arg2) |
فارغ(* | الإصدار )(هيكل الكاميرا_الجهاز *) |
كثافة العمليات (* | تفريغ )(struct Camera_device *, int fd) |
وصف تفصيلي
التوثيق الميداني
كثافة العمليات (* auto_focus) (هيكل الكاميرا_الجهاز *) |
ابدأ التركيز التلقائي، ويتم استدعاء روتين رد اتصال الإشعارات باستخدام CAMERA_MSG_FOCUS مرة واحدة عند اكتمال التركيز. سيتم استدعاء autoFocus() مرة أخرى إذا كانت هناك حاجة إلى تركيز تلقائي آخر.
التعريف في السطر 227 من ملف الكاميرا.ح .
int(* Cancel_auto_focus)(هيكل كاميرا_جهاز *) |
يلغي وظيفة التركيز التلقائي. إذا كان التركيز التلقائي لا يزال قيد التقدم، فستقوم هذه الوظيفة بإلغائه. سواء كان التركيز التلقائي قيد التقدم أم لا، ستعيد هذه الوظيفة موضع التركيز إلى الوضع الافتراضي. إذا كانت الكاميرا لا تدعم التركيز التلقائي، فهذا أمر محظور.
التعريف في السطر 235 من ملف الكاميرا.ح .
int(* Cancel_picture)(هيكل كاميرا_جهاز *) |
باطلة (* Disable_msg_type) (هيكل كاميرا_الجهاز *، int32_t msg_type) |
تعطيل رسالة، أو مجموعة من الرسائل.
بمجرد تلقي مكالمة لتعطيل MsgType(CAMERA_MSG_VIDEO_FRAME)، يجب ألا تعتمد HAL للكاميرا على العميل الخاص بها لاستدعاء ReleaseRecordingFrame() لتحرير إطارات تسجيل الفيديو المرسلة بواسطة HAL للكاميرا قبل وبعد استدعاء DisableMsgType(CAMERA_MSG_VIDEO_FRAME). يجب على عملاء HAL للكاميرا عدم تعديل/الوصول إلى أي إطار تسجيل فيديو بعد استدعاء DisableMsgType(CAMERA_MSG_VIDEO_FRAME).
التعريف في السطر 132 من ملف الكاميرا.ح .
كثافة العمليات (* تفريغ) (هيكل كاميرا_الجهاز *، كثافة العمليات فد) |
حالة تفريغ أجهزة الكاميرا
التعريف في السطر 282 من ملف الكاميرا.ح .
باطلة(*enable_msg_type)(هيكل كاميرا_الجهاز *، int32_t msg_type) |
شار*(* get_parameters)(هيكل كاميرا_جهاز *) |
int(* msg_type_enabled)(هيكل الكاميرا_الجهاز *، int32_t msg_type) |
الاستعلام عما إذا تم تمكين رسالة أو مجموعة من الرسائل. لاحظ أن هذا يعمل كـ AND، إذا كانت أي من الرسائل التي تم الاستعلام عنها معطلة، فسوف يُرجع هذا خطأ.
التعريف في السطر 139 من ملف الكاميرا.ح .
int(* Preview_enabled)(هيكل كاميرا_جهاز *) |
يعود صحيحًا إذا تم تمكين المعاينة.
التعريف في السطر 154 من ملف الكاميرا.ح .
باطلة (* put_parameters) (هيكل كاميرا_جهاز *، شار *) |
تستخدم الكاميرا HAL ذاكرتها الخاصة لتمرير المعلمات إلينا عندما نستدعي get_parameters. استخدم هذه الوظيفة لإعادة الذاكرة إلى HAL للكاميرا، إذا لم تكن قيمة put_parameters فارغة. إذا كانت قيمة put_parameters NULL، فيجب عليك استخدام free() لتحرير الذاكرة.
التعريف في السطر 265 من ملف الكاميرا.ح .
كثافة العمليات (* Record_enabled) (هيكل Camera_device *) |
باطلة (* الإصدار) (هيكل الكاميرا_الجهاز *) |
باطلة (* Release_recording_frame) (هيكل جهاز الكاميرا *، ثابت باطل * معتم) |
قم بتحرير إطار التسجيل الذي تم إرجاعه مسبقًا بواسطة CAMERA_MSG_VIDEO_FRAME.
تقع على عاتق عميل كاميرا HAL مسؤولية تحرير إطارات تسجيل الفيديو المرسلة بواسطة كاميرا HAL قبل أن تتلقى الكاميرا مكالمة لتعطيل MsgType(CAMERA_MSG_VIDEO_FRAME). بعد أن تتلقى استدعاء DisableMsgType(CAMERA_MSG_VIDEO_FRAME)، تقع على عاتق HAL للكاميرا مسؤولية إدارة دورة حياة إطارات تسجيل الفيديو.
التعريف في السطر 219 من ملف الكاميرا.ح .
int(* send_command)(struct Camera_device *, int32_t cmd, int32_t arg1, int32_t arg2) |
إرسال الأمر إلى سائق الكاميرا.
التعريف في السطر 270 من ملف الكاميرا.ح .
باطلة(* set_callbacks)(هيكل كاميرا_جهاز *، كاميرا_notify_callback notify_cb، كاميرا_بيانات_callback data_cb، كاميرا_بيانات_timestamp_callback data_cb_timestamp، كاميرا_request_memory get_memory، باطلة * مستخدم) |
قم بتعيين عمليات الاسترجاعات للإشعارات والبيانات
التعريف في السطر 105 من ملف الكاميرا.ح .
int(* set_parameters)(struct Camera_device *, const char *parms) |
اضبط معلمات الكاميرا. يؤدي هذا إلى إرجاع BAD_VALUE إذا كانت أي معلمة غير صالحة أو غير مدعومة.
التعريف في السطر 252 من ملف الكاميرا.ح .
int(* set_preview_window)(struct Camera_device *, struct Preview_stream_ops *window) |
كثافة العمليات (* start_preview) (هيكل الكاميرا_الجهاز *) |
بدء وضع المعاينة.
التعريف في السطر 144 من ملف الكاميرا.ح .
int(* start_recording)(هيكل كاميرا_جهاز *) |
بدء وضع التسجيل. عندما تكون صورة التسجيل متاحة، يتم إرسال رسالة CAMERA_MSG_VIDEO_FRAME مع الإطار المقابل. يجب تحرير كل إطار سجل بواسطة عميل HAL للكاميرا عبر ReleaseRecordingFrame() قبل أن يستدعي العميل DisableMsgType(CAMERA_MSG_VIDEO_FRAME). بعد أن يقوم العميل باستدعاء DisableMsgType(CAMERA_MSG_VIDEO_FRAME)، تقع على عاتق HAL للكاميرا مسؤولية إدارة دورة حياة إطارات تسجيل الفيديو، ويجب ألا يقوم العميل بتعديل/الوصول إلى أي إطارات تسجيل فيديو.
باطلة(* stop_preview)(هيكل كاميرا_جهاز *) |
إيقاف المعاينة التي بدأت مسبقًا.
التعريف في السطر 149 من ملف الكاميرا.ح .
باطلة(* stop_recording)(هيكل كاميرا_جهاز *) |
int(* store_meta_data_in_buffers)(هيكل كاميرا_device *، تمكين int) |
اطلب من الكاميرا HAL تخزين بيانات التعريف أو بيانات YUV الحقيقية في مخازن الفيديو المؤقتة المرسلة عبر CAMERA_MSG_VIDEO_FRAME لجلسة التسجيل. إذا لم يتم استدعاؤه، فإن سلوك HAL الافتراضي للكاميرا هو تخزين بيانات YUV الحقيقية في مخازن الفيديو المؤقتة.
يجب استدعاء هذه الطريقة قبل startRecording() لتكون فعالة.
إذا تم تخزين بيانات التعريف في مخازن الفيديو المؤقتة، فإن الأمر متروك لمستقبل مخازن الفيديو المؤقتة لتفسير المحتويات والعثور على بيانات الإطار الفعلية بمساعدة بيانات التعريف الموجودة في المخزن المؤقت. كيف يتم ذلك هو خارج نطاق هذه الطريقة.
قد لا تدعم بعض شرائح HAL الخاصة بالكاميرا تخزين بيانات التعريف في مخازن الفيديو المؤقتة، ولكن يجب أن تدعم جميع شرائح HAL الخاصة بالكاميرا تخزين بيانات YUV الحقيقية في مخازن الفيديو المؤقتة. إذا كان HAL الخاص بالكاميرا لا يدعم تخزين بيانات التعريف في مخازن الفيديو المؤقتة عندما يُطلب منها القيام بذلك، فيجب إرجاع INVALID_OPERATION. من المفيد جدًا أن تقوم كاميرا HAL بتمرير بيانات التعريف بدلاً من بيانات الإطار الفعلية مباشرة إلى برنامج تشفير الفيديو، نظرًا لأن كمية بيانات الإطار غير المضغوطة يمكن أن تكون كبيرة جدًا إذا كان حجم الفيديو كبيرًا.
- حدود
يُمكَِن إذا كان هذا صحيحًا، قم بتوجيه الكاميرا HAL لتخزين البيانات الوصفية في مخازن الفيديو المؤقتة؛ خطأ لتوجيه الكاميرا HAL لتخزين بيانات YUV الحقيقية في مخازن الفيديو المؤقتة.
- عائدات
- موافق على النجاح.
كثافة العمليات (* take_picture) (هيكل الكاميرا_الجهاز *) |
تم إنشاء وثائق هذه البنية من الملف التالي:
- الأجهزة/libhardware/تشمل/الأجهزة/ الكاميرا.ح