audio_stream_in 結構參考資料

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)
 

詳細說明

定義位於檔案 audio.h 404 行。

欄位說明文件

struct audio_stream common

音訊串流的常用方法。這個 必須是 audio_stream_in 的首個成員,因為這個結構的使用者會在已知 audio_stream 參照 audio_stream_in 的情況下,將 audio_stream 投放至 audio_stream_in 指標。

定義位於檔案 audio.h 410 行。

int(* get_capture_position)(const struct audio_stream_in *stream, int64_t *frames, int64_t *time)

傳回最近的音訊影格接收次數,以及與該影格計數相關聯的時間。

frames 是收到的總影格數量。這應盡可能在擷取管道中提早執行。一般來說,影格不得為負值,也不應「倒轉」。

time 是影格測量時的 MONOTONIC 時鐘時間。一般來說,時間應為正值,且不得「倒轉」。

成功時,傳回的狀態為 0;裝置未就緒/可用時,傳回 -ENOSYS;如果引數為空值或其他無效,則傳回 -EINVAL。

定義位於檔案 audio.h 449 行。

uint32_t(* get_input_frames_lost)(struct audio_stream_in *stream)

傳回自上次呼叫此函式以來,音訊驅動程式遺失的輸入影格數量。音訊驅動程式應將值重設為 0,並在這個函式呼叫傳回目前值時重新開始計數。這種損失通常會發生在使用者空間程序的封鎖時間超過音訊驅動程式緩衝區的容量時。

單位:輸入音訊影格數

定義位於檔案 audio.h 433 行。

ssize_t(* read)(struct audio_stream_in *stream, void *buffer, size_t bytes)

從音訊驅動程式讀取音訊緩衝區。傳回已讀取的位元組數,或負值 status_t。如果在發生錯誤之前至少讀取一個影格,read 應會傳回該位元組計數,然後在後續呼叫中傳回錯誤。

定義位於檔案 audio.h 420 行。

int(* set_gain)(struct audio_stream_in *stream, float gain)

設定音訊驅動程式的輸入增益。這個方法是供日後使用

定義位於檔案 audio.h 414 行。


這個結構體的說明文件是由下列檔案產生:
  • hardware/libhardware/include/hardware/ audio.h