מידע על המבנה של audio_stream_in
#include <
audio.h
>
שדות נתונים |
|
struct audio_stream | נפוץ |
int(* | set_gain )(struct audio_stream_in *stream, float gain) |
ssize_t(* | read )(struct audio_stream_in *stream, void *buffer, size_t bytes) |
uint32_t(* | get_input_frames_lost )(struct audio_stream_in *stream) |
int(* | get_capture_position )(const struct audio_stream_in *stream, int64_t *frames, int64_t *time) |
תיאור מפורט
מסמכי תיעוד של שדה
struct audio_stream common |
שיטות נפוצות של שידור האודיו. הוא חייב להיות המשתנה הראשון ב- audio_stream_in , כי משתמשים במבנה הזה יבצעו הטמעה (cast) של audio_stream למצביע audio_stream_in בהקשרים שבהם ידוע ש- audio_stream מפנה ל- audio_stream_in .
int(* get_capture_position)(const struct audio_stream_in *stream, int64_t *frames, int64_t *time) |
הפונקציה מחזירה ספירה עדכנית של מספר הפריימים של האודיו שהתקבלו ואת השעה המקומית שמשויכת למספר הפריימים הזה.
frames הוא מספר הפריימים הכולל שהתקבלו. כדאי לעשות זאת בשלב מוקדם ככל האפשר בצינור עיבוד הנתונים לצילום. באופן כללי, הפריימים צריכים להיות לא שליליים ולא צריך לעבור "לאחור".
time הוא הזמן המונוטוני של השעון שבו נמדדו הפריימים. באופן כללי, הזמן צריך להיות כמות חיובית ולא יכול לנוע "לאחור".
הסטטוס המוחזר הוא 0 אם הפעולה בוצעה בהצלחה, -ENOSYS אם המכשיר לא מוכן או לא זמין או -EINVAL אם הארגומנטים הם null או לא תקינים מסיבה אחרת.
uint32_t(* get_input_frames_lost)(struct audio_stream_in *stream) |
הפונקציה מחזירה את מספר הפריימים שהתקבלו מהקלט שאבדו במנהל האודיו מאז הקריאה האחרונה של הפונקציה הזו. מנהל האודיו אמור לאפס את הערך ל-0 ולהתחיל את הספירה מחדש לאחר החזרת הערך הנוכחי על ידי קריאת הפונקציה הזו. אובדן כזה קורה בדרך כלל כשתהליך במרחב המשתמש חסום למשך זמן ארוך יותר מהקיבולת של מאגרי ה-buffer של מנהל האודיו.
יחידה: מספר הפריימים של אודיו בקלט
ssize_t(* read)(struct audio_stream_in *stream, void *buffer, size_t bytes) |
int(* set_gain)(struct audio_stream_in *stream, float gain) |
התיעוד של המבנה הזה נוצר מהקובץ הבא:
- hardware/libhardware/include/hardware/ audio.h