Strukturreferenz für „audio_stream_in“
#include <
audio.h
>
Datenfelder |
|
struct audio_stream | common |
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) |
Detaillierte Beschreibung
Felddokumentation
struct audio_stream common |
Gängige Methoden für den Audiostream Dies muss das erste Mitglied von audio_stream_in sein, da Nutzer dieser Struktur einen audio_stream in einen audio_stream_in -Pointer umwandeln, wenn bekannt ist, dass audio_stream auf audio_stream_in verweist.
int(* get_capture_position)(const struct audio_stream_in *stream, int64_t *frames, int64_t *time) |
Gibt die Anzahl der empfangenen Audioframes und die zugehörige Uhrzeit zurück.
frames ist die Gesamtzahl der empfangenen Frames. Dies sollte so früh wie möglich in der Aufnahmepipeline erfolgen. Frames sollten im Allgemeinen nicht negativ sein und dürfen nicht „rückwärts“ gehen.
„time“ ist die MONOTONIC-Uhrzeit, zu der die Frames gemessen wurden. Im Allgemeinen sollte die Zeit eine positive Größe sein und nicht „rückwärts“ gehen.
Bei Erfolg wird der Status 0 zurückgegeben, bei nicht betriebsbereitem Gerät -ENOSYS und bei ungültigen Argumenten -EINVAL.
uint32_t(* get_input_frames_lost)(struct audio_stream_in *stream) |
Gibt die Anzahl der Eingabeframes zurück, die seit dem letzten Aufruf dieser Funktion im Audiotreiber verloren gegangen sind. Der Audiotreiber sollte den Wert auf 0 zurücksetzen und die Zählung nach dem Zurückgeben des aktuellen Werts durch diesen Funktionsaufruf neu starten. Solche Verluste treten in der Regel auf, wenn der User-Space-Prozess länger blockiert ist als die Kapazität der Audiotreiber-Buffer.
Einheit: Anzahl der Eingabe-Audioframes
ssize_t(* read)(struct audio_stream_in *stream, void *buffer, size_t bytes) |
int(* set_gain)(struct audio_stream_in *stream, float gain) |
Die Dokumentation für diese Struktur wurde aus der folgenden Datei generiert:
- hardware/libhardware/include/hardware/ audio.h