Metodo IAudioOutputEndpointRT::ReleaseOutputDataPointer (audioengineendpoint.h)
Il metodo ReleaseOutputDataPointer rilascia il puntatore al buffer di output.
Sintassi
void ReleaseOutputDataPointer(
[in] const APO_CONNECTION_PROPERTY *pConnectionProperty
);
Parametri
[in] pConnectionProperty
Puntatore a una struttura APO_CONNECTION_PROPERTY . I valori nella struttura non devono essere modificati. Il chiamante imposta i membri nel modo seguente:
- pBuffer è impostato sul puntatore al buffer dei dati di output restituito dal metodo IAudioOutputEndpointRT::GetOutputDataPointer .
- u32ValidFrameCount è impostato sul numero effettivo di fotogrammi generati dal motore audio. Il valore potrebbe non corrispondere al conteggio dei fotogrammi passato nel parametro u32FrameCount del metodo GetOutputDataPointer .
- u32BufferFlags è impostato su BUFFER_VALID se il buffer di output a cui punta il membro pBuffer contiene dati validi. u32BufferFlags è impostato su BUFFER_SILENT se il buffer di output contiene solo dati invisibile all'utente. I dati nel buffer non devono effettivamente essere in silenzio, ma il buffer specificato nel membro pBuffer deve essere in grado di contenere tutti i fotogrammi di silenzio contenuti nel membro u32ValidFrameCount . Pertanto, se viene specificato BUFFER_SILENT , l'endpoint deve scrivere il silenzio nel buffer di output.
Valore restituito
nessuno
Osservazioni
ReleaseOutputDataPointer notifica all'endpoint che il motore audio ha completato l'attività di scrittura dei dati nel buffer di output e non richiede più il puntatore dati. Questo metodo inoltra anche informazioni quali l'ora che corrisponde ai campioni audio nel buffer di output, il numero di fotogrammi generati dal motore audio e se il buffer è pieno di dati validi o di dati di silenzio. In base a queste informazioni, un endpoint che rappresenta un buffer a ciclo e viene collegato all'output del motore audio può avanzare la posizione di scrittura nel buffer. Un valore pari a zero nel parametro u32FrameCount del metodo GetOutputDataPointer indica che il motore audio non ha scritto dati validi nel buffer di output. Il valore del parametro u32FrameCount deve essere minore o uguale al numero di fotogrammi specificato in GetOutputDataPointer. L'endpoint non deve presupporre che tutti i dati richiesti da GetOutputDataPointer siano stati effettivamente generati.
Questo metodo può essere chiamato da un thread di elaborazione in tempo reale. L'implementazione di questo metodo non deve bloccare, accedere alla memoria di paging o chiamare routine di sistema bloccanti.
L'API AudioEndpoint di Servizi Desktop remoto è destinata all'uso in scenari desktop remoto; non è per le applicazioni client.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 7 |
Server minimo supportato | Windows Server 2008 R2 |
Piattaforma di destinazione | Windows |
Intestazione | audioengineendpoint.h |