קל לארגן דפים בעזרת אוספים
אפשר לשמור ולסווג תוכן על סמך ההעדפות שלך.
הפנייה למבנה camera_device_ops
#include < camera.h >
|
int(* | set_preview_window )(struct camera_device *, struct preview_stream_ops *window) |
|
בָּטֵל(* | 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) |
|
בָּטֵל(* | 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(* | preview_enabled )(struct camera_device *) |
|
int(* | store_meta_data_in_buffers )(struct camera_device *, int enable) |
|
int(* | start_recording )(struct camera_device *) |
|
בָּטֵל(* | stop_recording )(struct camera_device *) |
|
int(* | recording_enabled )(struct camera_device *) |
|
בָּטֵל(* | release_recording_frame )(struct camera_device *, const void *אטום) |
|
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 *) |
|
בָּטֵל(* | put_parameters )(struct camera_device *, char *) |
|
int(* | send_command )(struct camera_device *, int32_t cmd, int32_t arg1, int32_t arg2) |
|
בָּטֵל(* | release )(struct camera_device *) |
|
int(* | dump )(struct camera_device *, int fd) |
|
הגדרה בשורה 99 של הקובץ camera.h .
התחל מיקוד אוטומטי, שגרת ההתקשרות חזרה של התראות נקראת עם CAMERA_MSG_FOCUS פעם אחת כשהמיקוד הושלם. autoFocus() ייקרא שוב אם יש צורך בפוקוס אוטומטי אחר.
הגדרה בשורה 227 של הקובץ camera.h .
מבטל את פונקציית הפוקוס האוטומטי. אם המיקוד האוטומטי עדיין בעיצומו, פונקציה זו תבטל אותו. בין אם הפוקוס האוטומטי מתבצע או לא, פונקציה זו תחזיר את מיקום המיקוד לברירת המחדל. אם המצלמה אינה תומכת בפוקוס אוטומטי, מדובר בפעולה ללא הפעלה.
הגדרה בשורה 235 של הקובץ camera.h .
בטל תמונה שהתחילה עם takePicture. קריאה לשיטה זו כאשר לא מצלמים תמונה היא לא הפעלה.
הגדרה בשורה 246 של הקובץ camera.h .
void(* disable_msg_type)(struct camera_device *, int32_t msg_type) |
השבת הודעה, או קבוצה של הודעות.
לאחר קבלת קריאה ל-disableMsgType(CAMERA_MSG_VIDEO_FRAME), המצלמה HAL לא צריכה לסמוך על הלקוח שלה שיקרא releaseRecordingFrame() כדי לשחרר פריימים להקלטת וידאו שנשלחו על ידי ה-HAL המצלמה לפני ואחרי הקריאה disableMsgType(CAMERA_MSG_VIDEO_FRAME). לקוחות HAL של מצלמה אינם רשאים לשנות/לגשת לאף מסגרת הקלטת וידאו לאחר קריאת disableMsgType(CAMERA_MSG_VIDEO_FRAME).
הגדרה בשורה 132 של הקובץ camera.h .
מצב dump של חומרת המצלמה
הגדרה בשורה 282 של הקובץ camera.h .
void(* enable_msg_type)(struct camera_device *, int32_t msg_type) |
שלוש הפונקציות הבאות כולן לוקחות msg_type, שהוא מסכת סיביות של ההודעות המוגדרות ב- include/ui/Camera.h הפעל הודעה, או קבוצה של הודעות.
הגדרה בשורה 120 של הקובץ camera.h .
אחזר את פרמטרי המצלמה. יש להחזיר אליו את המאגר המוחזר על ידי המצלמה HAL עם put_parameters, אם put_parameters אינו NULL.
הגדרה בשורה 258 של הקובץ camera.h .
int(* msg_type_enabled)(struct camera_device *, int32_t msg_type) |
שאל אם הודעה, או קבוצה של הודעות, מופעלת. שים לב שזה פועל כ-AND, אם אחת מההודעות שנשאלו כבויה, זה יחזיר false.
הגדרה בשורה 139 של הקובץ camera.h .
מחזירה true אם התצוגה המקדימה מופעלת.
הגדרה בשורה 154 של הקובץ camera.h .
המצלמה HAL משתמשת בזיכרון משלה כדי להעביר לנו את הפרמטרים כאשר אנו קוראים get_parameters. השתמש בפונקציה זו כדי להחזיר את הזיכרון ל-HAL של המצלמה, אם put_parameters אינו NULL. אם put_parameters הוא NULL, אז אתה צריך להשתמש ב-free() כדי לשחרר את הזיכרון.
הגדרה בשורה 265 של הקובץ camera.h .
מחזירה true אם ההקלטה מופעלת.
הגדרה בשורה 208 של הקובץ camera.h .
שחרר את משאבי החומרה שבבעלות אובייקט זה. שימו לב שזה לא נעשה בהרס.
הגדרה בשורה 277 של הקובץ camera.h .
void(* release_recording_frame)(struct camera_device *, const void *אטום) |
שחרר מסגרת שיא שהוחזרה בעבר על ידי CAMERA_MSG_VIDEO_FRAME.
באחריות לקוח HAL המצלמה לשחרר פריימים להקלטת וידאו שנשלחו על ידי HAL המצלמה לפני שה-HAL של המצלמה מקבל קריאה ל-disableMsgType(CAMERA_MSG_VIDEO_FRAME). לאחר שהוא מקבל את הקריאה ל-disableMsgType(CAMERA_MSG_VIDEO_FRAME), באחריות המצלמה HAL לנהל את מחזור החיים של מסגרות הקלטת הווידאו.
הגדרה בשורה 219 של הקובץ camera.h .
int(* send_command)(struct camera_device *, int32_t cmd, int32_t arg1, int32_t arg2) |
שלח פקודה למנהל המצלמה.
הגדרה בשורה 270 של הקובץ camera.h .
הגדר את ההתראות וההתקשרויות חוזרות בנתונים
הגדרה בשורה 105 של הקובץ camera.h .
הגדר את פרמטרי המצלמה. זה מחזיר BAD_VALUE אם פרמטר כלשהו אינו חוקי או אינו נתמך.
הגדרה בשורה 252 של הקובץ camera.h .
הגדר את ANativeWindow שאליו נשלחות מסגרות תצוגה מקדימה
הגדרה בשורה 101 של הקובץ camera.h .
התחל מצב תצוגה מקדימה.
הגדרה בשורה 144 של הקובץ camera.h .
התחל את מצב הקלטה. כאשר תמונת שיא זמינה, נשלחת הודעת CAMERA_MSG_VIDEO_FRAME עם המסגרת המתאימה. כל פריים להקלטה חייב להיות משוחרר על ידי לקוח HAL של מצלמה דרך releaseRecordingFrame() לפני שהלקוח קורא ל-disableMsgType(CAMERA_MSG_VIDEO_FRAME). לאחר שהלקוח קורא ל-disableMsgType(CAMERA_MSG_VIDEO_FRAME), באחריות המצלמה HAL לנהל את מחזור החיים של מסגרות הקלטת הווידאו, וללקוח אסור לשנות/לגשת לאף מסגרות הקלטת וידאו.
הגדרה בשורה 198 של הקובץ camera.h .
עצור תצוגה מקדימה שהחלה בעבר.
הגדרה בשורה 149 של הקובץ camera.h .
עצור הקלטה שהחלה קודם לכן.
הגדרה בשורה 203 של הקובץ camera.h .
int(* store_meta_data_in_buffers)(struct camera_device *, int enable) |
בקש מהמצלמה HAL לאחסן מטא נתונים או נתוני YUV אמיתיים במאגרי הווידאו הנשלחים דרך CAMERA_MSG_VIDEO_FRAME לסשן הקלטה. אם זה לא נקרא, התנהגות ה-HAL של מצלמת ברירת המחדל היא לאחסן נתוני YUV אמיתיים במאגרי הווידאו.
יש לקרוא לשיטה זו לפני startRecording() כדי להיות יעילה.
אם מטא נתונים מאוחסנים במאגרי הווידאו, זה תלוי במקלט של מאגרי הווידאו לפרש את התוכן ולמצוא את נתוני הפריימים בפועל בעזרת המטא נתונים במאגר. איך זה נעשה מחוץ לתחום של שיטה זו.
ייתכן שחלק מה-HALs של מצלמות לא יתמכו באחסון מטא נתונים במאגרי הווידאו, אבל כל ה-HALs של המצלמה צריכים לתמוך באחסון נתוני YUV אמיתיים במאגרי הווידאו. אם המצלמה HAL אינה תומכת באחסון המטא נתונים במאגרי הווידאו כאשר היא מתבקשת לעשות זאת, יש להחזיר את INVALID_OPERATION. זה מאוד שימושי עבור המצלמה HAL להעביר מטא נתונים ולא את נתוני הפריימים בפועל ישירות לקודד הווידאו, מכיוון שכמות נתוני המסגרת הלא דחוסים יכולה להיות גדולה מאוד אם גודל הווידאו גדול.
- פרמטרים
לְאַפשֵׁר | אם נכון להורות למצלמה HAL לאחסן מטא נתונים במאגרי הווידאו; false להורות למצלמה HAL לאחסן נתוני YUV אמיתיים במאגרי הווידאו. |
- החזרות
- בסדר לגבי ההצלחה.
הגדרה בשורה 186 של הקובץ camera.h .
התיעוד עבור מבנה זה נוצר מהקובץ הבא:
- hardware/libhardware/include/hardware/ camera.h
דוגמאות התוכן והקוד שבדף הזה כפופות לרישיונות המפורטים בקטע רישיון לתוכן. Java ו-OpenJDK הם סימנים מסחריים או סימנים מסחריים רשומים של חברת Oracle ו/או של השותפים העצמאיים שלה.
עדכון אחרון: 2023-12-01 (שעון UTC).
[[["התוכן קל להבנה","easyToUnderstand","thumb-up"],["התוכן עזר לי לפתור בעיה","solvedMyProblem","thumb-up"],["סיבה אחרת","otherUp","thumb-up"]],[["חסרים לי מידע או פרטים","missingTheInformationINeed","thumb-down"],["התוכן מורכב מדי או עם יותר מדי שלבים","tooComplicatedTooManySteps","thumb-down"],["התוכן לא עדכני","outOfDate","thumb-down"],["בעיה בתרגום","translationIssue","thumb-down"],["בעיה בדוגמאות/בקוד","samplesCodeIssue","thumb-down"],["סיבה אחרת","otherDown","thumb-down"]],["עדכון אחרון: 2023-12-01 (שעון UTC)."],[],[]]