audio_stream_out Riferimento strutturale

audio_stream_out Riferimento strutturale

#include < audio.h >

Campi dati

struttura audio_stream Comune
uint32_t(* get_latency )(const struct audio_stream_out *stream)
int(* set_volume )(struct audio_stream_out *stream, float a sinistra, float a destra)
taglia_t(* write )(struct audio_stream_out *stream, const void *buffer, size_t byte)
int(* get_render_position )(const struct audio_stream_out *stream, uint32_t *dsp_frames)
int(* get_next_write_timestamp )(const struct audio_stream_out *stream, int64_t *timestamp)
int(* set_callback )(struct audio_stream_out *stream, stream_callback_t callback, void *cookie)
int(* pause )(struct audio_stream_out *stream)
int(* resume )(struct audio_stream_out *stream)
int(* drain )(struct audio_stream_out *stream, audio_drain_type_t type)
int(* flush )(struct audio_stream_out *stream)
int(* get_presentation_position )(const struct audio_stream_out *stream, uint64_t *frames, struct timespec *timestamp)

Descrizione dettagliata

audio_stream_out è l'interfaccia di astrazione per l'hardware di uscita audio.

Fornisce informazioni su varie proprietà del driver hardware di uscita audio.

Definizione alla riga 276 del file audio.h .

Documentazione sul campo

struct audio_stream comune

Metodi comuni di uscita del flusso audio. Questo deve essere il primo membro di audio_stream_out poiché gli utenti di questa struttura trasmetteranno un audio_stream al puntatore audio_stream_out in contesti in cui è noto che audio_stream fa riferimento a audio_stream_out .

Definizione alla riga 282 del file audio.h .

int(* drain)(struct audio_stream_out *stream, tipo audio_drain_type_t )

Richiede una notifica quando i dati memorizzati nel buffer dal driver/hardware sono stati riprodotti. Se set_callback() è stato precedentemente chiamato per abilitare la modalità non bloccante, drain() non deve bloccare, invece dovrebbe tornare rapidamente e il completamento del drain viene notificato tramite il callback. Se set_callback() non è stato chiamato, drain() deve essere bloccato fino al completamento. Se type==AUDIO_DRAIN_ALL, il drain viene completato quando tutti i dati precedentemente scritti sono stati riprodotti. Se type==AUDIO_DRAIN_EARLY_NOTIFY, il drain viene completato poco prima che tutti i dati per la traccia corrente siano stati riprodotti per consentire al framework di eseguire un cambio di traccia gapless.

Drain deve tornare immediatamente alla chiamata di stop() e flush()

L'implementazione di questa funzione è obbligatoria per la riproduzione scaricata.

Definizione alla riga 372 del file audio.h .

int(* flush)(struct audio_stream_out *stream)

Notifica al driver audio di svuotare i dati in coda. Stream deve essere già stato messo in pausa prima di chiamare flush() .

L'implementazione di questa funzione è obbligatoria per la riproduzione scaricata.

Definizione alla riga 380 del file audio.h .

uint32_t(* get_latency)(const struct audio_stream_out *stream)

Restituisce la latenza stimata del driver hardware audio in millisecondi.

Definizione alla riga 287 del file audio.h .

int(* get_next_write_timestamp)(const struct audio_stream_out *stream, int64_t *timestamp)

ottenere l'ora locale in cui verrà presentata la prossima scrittura sul driver audio. Le unità sono microsecondi, dove l'epoca è decisa dall'audio locale HAL.

Definizione alla riga 324 del file audio.h .

int(* get_presentation_position)(const struct audio_stream_out *stream, uint64_t *frames, struct timespec *timestamp)

Restituisce un conteggio recente del numero di frame audio presentati a un osservatore esterno. Sono esclusi i frame che sono stati scritti ma sono ancora in fase di elaborazione. Il conteggio non viene azzerato quando l'uscita entra in standby. Restituisce anche il valore di CLOCK_MONOTONIC a partire da questo conteggio di presentazione. Il conteggio restituito dovrebbe essere "recente", ma non è necessario che sia il valore più recente possibile. Tuttavia, l'ora associata dovrebbe corrispondere a qualsiasi conteggio restituito. Esempio: supponiamo che siano stati presentati N+M frame, dove M è un numero 'piccolo'. Quindi è consentito restituire N anziché N+M e il timestamp dovrebbe corrispondere a N anziché a N+M. I termini "recente" e "piccolo" non sono definiti. Riflettono la qualità dell'attuazione.

Solo 3.0 e versioni successive.

Definizione alla riga 398 del file audio.h .

int(* get_render_position)(const struct audio_stream_out *stream, uint32_t *dsp_frames)

Definizione alla riga 317 del file audio.h .

int(* pause)(struct audio_stream_out *stream)

Notifica al driver audio di interrompere la riproduzione, tuttavia i buffer in coda vengono mantenuti dall'hardware. Utile per implementare la pausa/ripresa. L'implementazione vuota se non supportata, tuttavia, dovrebbe essere implementata per hardware con latenza non banale. Nello stato di pausa l'hardware audio potrebbe ancora utilizzare l'alimentazione. L'utente può prendere in considerazione la sospensione della chiamata dopo un timeout.

L'implementazione di questa funzione è obbligatoria per la riproduzione scaricata.

Definizione alla riga 345 del file audio.h .

int(* resume)(struct audio_stream_out *stream)

Notifica al driver audio di riprendere la riproduzione dopo una pausa. Restituisce un errore se chiamato senza corrispondenza con la pausa.

L'implementazione di questa funzione è obbligatoria per la riproduzione scaricata.

Definizione alla riga 353 del file audio.h .

int(* set_callback)(struct audio_stream_out *stream, stream_callback_t callback, void *cookie)

impostare la funzione di callback per notificare il completamento della scrittura e dello svuotamento non bloccanti. Chiamare questa funzione implica che tutte le future write() e drain() devono essere non bloccanti e utilizzare il callback per segnalare il completamento.

Definizione alla riga 333 del file audio.h .

int(* set_volume)(struct audio_stream_out *stream, float a sinistra, float a destra)

Utilizzare questo metodo nelle situazioni in cui il missaggio audio viene eseguito nell'hardware. Questo metodo funge da interfaccia diretta con l'hardware, consentendo di impostare direttamente il volume come opposto tramite il framework. Questo metodo potrebbe produrre più uscite PCM o codec con accelerazione hardware, come MP3 o AAC.

Definizione alla riga 296 del file audio.h .

ssize_t(* write)(struct audio_stream_out *stream, const void *buffer, size_t byte)

Scrivi il buffer audio sul driver. Restituisce il numero di byte scritti o uno status_t negativo. Se almeno un frame è stato scritto correttamente prima dell'errore, si suggerisce che il driver restituisca quel conteggio di byte riuscito (breve) e quindi restituisca un errore nella chiamata successiva.

Se set_callback() è stato precedentemente chiamato per abilitare la modalità non bloccante, write() non può bloccare. Deve scrivere solo il numero di byte che si trovano attualmente nel buffer del driver/hardware e quindi restituire questo conteggio di byte. Se questa è inferiore alla dimensione di scrittura richiesta, la funzione di callback deve essere chiamata quando è disponibile più spazio nel buffer del driver/hardware.

Definizione alla riga 311 del file audio.h .


La documentazione per questa struttura è stata generata dal seguente file:
  • hardware/libhardware/include/hardware/ audio.h
,

audio_stream_out Riferimento strutturale

audio_stream_out Riferimento strutturale

#include < audio.h >

Campi dati

struttura audio_stream Comune
uint32_t(* get_latency )(const struct audio_stream_out *stream)
int(* set_volume )(struct audio_stream_out *stream, float a sinistra, float a destra)
taglia_t(* write )(struct audio_stream_out *stream, const void *buffer, size_t byte)
int(* get_render_position )(const struct audio_stream_out *stream, uint32_t *dsp_frames)
int(* get_next_write_timestamp )(const struct audio_stream_out *stream, int64_t *timestamp)
int(* set_callback )(struct audio_stream_out *stream, stream_callback_t callback, void *cookie)
int(* pause )(struct audio_stream_out *stream)
int(* resume )(struct audio_stream_out *stream)
int(* drain )(struct audio_stream_out *stream, audio_drain_type_t type)
int(* flush )(struct audio_stream_out *stream)
int(* get_presentation_position )(const struct audio_stream_out *stream, uint64_t *frames, struct timespec *timestamp)

Descrizione dettagliata

audio_stream_out è l'interfaccia di astrazione per l'hardware di uscita audio.

Fornisce informazioni su varie proprietà del driver hardware di uscita audio.

Definizione alla riga 276 del file audio.h .

Documentazione sul campo

struct audio_stream comune

Metodi comuni di uscita del flusso audio. Questo deve essere il primo membro di audio_stream_out poiché gli utenti di questa struttura trasmetteranno un audio_stream al puntatore audio_stream_out in contesti in cui è noto che audio_stream fa riferimento a audio_stream_out .

Definizione alla riga 282 del file audio.h .

int(* drain)(struct audio_stream_out *stream, tipo audio_drain_type_t )

Richiede una notifica quando i dati memorizzati nel buffer dal driver/hardware sono stati riprodotti. Se set_callback() è stato precedentemente chiamato per abilitare la modalità non bloccante, drain() non deve bloccare, invece dovrebbe tornare rapidamente e il completamento del drain viene notificato tramite il callback. Se set_callback() non è stato chiamato, drain() deve essere bloccato fino al completamento. Se type==AUDIO_DRAIN_ALL, il drain viene completato quando tutti i dati precedentemente scritti sono stati riprodotti. Se type==AUDIO_DRAIN_EARLY_NOTIFY, il drain viene completato poco prima che tutti i dati per la traccia corrente siano stati riprodotti per consentire al framework di eseguire un cambio di traccia gapless.

Drain deve tornare immediatamente alla chiamata di stop() e flush()

L'implementazione di questa funzione è obbligatoria per la riproduzione scaricata.

Definizione alla riga 372 del file audio.h .

int(* flush)(struct audio_stream_out *stream)

Notifica al driver audio di svuotare i dati in coda. Stream deve essere già stato messo in pausa prima di chiamare flush() .

L'implementazione di questa funzione è obbligatoria per la riproduzione scaricata.

Definizione alla riga 380 del file audio.h .

uint32_t(* get_latency)(const struct audio_stream_out *stream)

Restituisce la latenza stimata del driver hardware audio in millisecondi.

Definizione alla riga 287 del file audio.h .

int(* get_next_write_timestamp)(const struct audio_stream_out *stream, int64_t *timestamp)

ottenere l'ora locale in cui verrà presentata la prossima scrittura sul driver audio. Le unità sono microsecondi, dove l'epoca è decisa dall'audio locale HAL.

Definizione alla riga 324 del file audio.h .

int(* get_presentation_position)(const struct audio_stream_out *stream, uint64_t *frames, struct timespec *timestamp)

Restituisce un conteggio recente del numero di frame audio presentati a un osservatore esterno. Sono esclusi i frame che sono stati scritti ma sono ancora in fase di elaborazione. Il conteggio non viene azzerato quando l'uscita entra in standby. Restituisce anche il valore di CLOCK_MONOTONIC a partire da questo conteggio di presentazione. Il conteggio restituito dovrebbe essere "recente", ma non è necessario che sia il valore più recente possibile. Tuttavia, l'ora associata dovrebbe corrispondere a qualsiasi conteggio restituito. Esempio: supponiamo che siano stati presentati N+M frame, dove M è un numero 'piccolo'. Quindi è consentito restituire N anziché N+M e il timestamp dovrebbe corrispondere a N anziché a N+M. I termini "recente" e "piccolo" non sono definiti. Riflettono la qualità dell'attuazione.

Solo 3.0 e versioni successive.

Definizione alla riga 398 del file audio.h .

int(* get_render_position)(const struct audio_stream_out *stream, uint32_t *dsp_frames)

Definizione alla riga 317 del file audio.h .

int(* pause)(struct audio_stream_out *stream)

Notifica al driver audio di interrompere la riproduzione, tuttavia i buffer in coda vengono mantenuti dall'hardware. Utile per implementare la pausa/ripresa. L'implementazione vuota se non supportata, tuttavia, dovrebbe essere implementata per hardware con latenza non banale. Nello stato di pausa l'hardware audio potrebbe ancora utilizzare l'alimentazione. L'utente può prendere in considerazione la sospensione della chiamata dopo un timeout.

L'implementazione di questa funzione è obbligatoria per la riproduzione scaricata.

Definizione alla riga 345 del file audio.h .

int(* resume)(struct audio_stream_out *stream)

Notifica al driver audio di riprendere la riproduzione dopo una pausa. Restituisce un errore se chiamato senza corrispondenza con la pausa.

L'implementazione di questa funzione è obbligatoria per la riproduzione scaricata.

Definizione alla riga 353 del file audio.h .

int(* set_callback)(struct audio_stream_out *stream, stream_callback_t callback, void *cookie)

impostare la funzione di callback per notificare il completamento della scrittura e dello svuotamento non bloccanti. Chiamare questa funzione implica che tutte le future write() e drain() devono essere non bloccanti e utilizzare il callback per segnalare il completamento.

Definizione alla riga 333 del file audio.h .

int(* set_volume)(struct audio_stream_out *stream, float a sinistra, float a destra)

Utilizzare questo metodo nelle situazioni in cui il missaggio audio viene eseguito nell'hardware. Questo metodo funge da interfaccia diretta con l'hardware, consentendo di impostare direttamente il volume come opposto tramite il framework. Questo metodo potrebbe produrre più uscite PCM o codec con accelerazione hardware, come MP3 o AAC.

Definizione alla riga 296 del file audio.h .

ssize_t(* write)(struct audio_stream_out *stream, const void *buffer, size_t byte)

Scrivi il buffer audio sul driver. Restituisce il numero di byte scritti o uno status_t negativo. Se almeno un frame è stato scritto correttamente prima dell'errore, si suggerisce che il driver restituisca quel conteggio di byte riuscito (breve) e quindi restituisca un errore nella chiamata successiva.

Se set_callback() è stato precedentemente chiamato per abilitare la modalità non bloccante, write() non può bloccare. Deve scrivere solo il numero di byte che si trovano attualmente nel buffer del driver/hardware e quindi restituire questo conteggio di byte. Se questa è inferiore alla dimensione di scrittura richiesta, la funzione di callback deve essere chiamata quando è disponibile più spazio nel buffer del driver/hardware.

Definizione alla riga 311 del file audio.h .


La documentazione per questa struttura è stata generata dal seguente file:
  • hardware/libhardware/include/hardware/ audio.h