Método IAudioOutputEndpointRT::ReleaseOutputDataPointer (audioengineendpoint.h)
El método ReleaseOutputDataPointer libera el puntero al búfer de salida.
Sintaxis
void ReleaseOutputDataPointer(
[in] const APO_CONNECTION_PROPERTY *pConnectionProperty
);
Parámetros
[in] pConnectionProperty
Puntero a una estructura de APO_CONNECTION_PROPERTY . Los valores de la estructura no se deben cambiar. El autor de la llamada establece los miembros de la siguiente manera:
- pBuffer se establece en el puntero al búfer de datos de salida devuelto por el método IAudioOutputEndpointRT::GetOutputDataPointer .
- u32ValidFrameCount se establece en el número real de fotogramas generados por el motor de audio. Es posible que el valor no sea el mismo que el recuento de fotogramas pasado en el parámetro u32FrameCount del método GetOutputDataPointer .
- u32BufferFlags se establece en BUFFER_VALID si el búfer de salida al que apunta el miembro pBuffer contiene datos válidos. u32BufferFlags se establece en BUFFER_SILENT si el búfer de salida solo contiene datos silenciosos. Los datos del búfer no necesitan ser silencios, pero el búfer especificado en el miembro pBuffer debe ser capaz de contener todos los fotogramas de silencio contenidos en el miembro u32ValidFrameCount . Por lo tanto, si se especifica BUFFER_SILENT , el punto de conexión debe escribir silencio en el búfer de salida.
Valor devuelto
None
Observaciones
ReleaseOutputDataPointer notifica al punto de conexión que el motor de audio ha completado la tarea de escribir datos en el búfer de salida y ya no requiere el puntero de datos. Este método también retransmite información como el tiempo que corresponde a las muestras de audio en el búfer de salida, el número de fotogramas generados por el motor de audio y si el búfer está lleno de datos válidos o de silencio. En función de esta información, un punto de conexión que representa un búfer en bucle y se adjunta a la salida del motor de audio puede avanzar su posición de escritura en el búfer. Un valor de cero en el parámetro u32FrameCount del método GetOutputDataPointer indica que el motor de audio no escribió ningún dato válido en el búfer de salida. El valor del parámetro u32FrameCount debe ser menor o igual que el recuento de fotogramas especificado en GetOutputDataPointer. El punto de conexión no debe asumir que realmente se generaron todos los datos solicitados por GetOutputDataPointer .
Se puede llamar a este método desde un subproceso de procesamiento en tiempo real. La implementación de este método no debe bloquear, acceder a la memoria paginada ni llamar a las rutinas del sistema de bloqueo.
La API AudioEndpoint de Servicios de Escritorio remoto es para su uso en escenarios de Escritorio remoto; no es para las aplicaciones cliente.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 7 |
Servidor mínimo compatible | Windows Server 2008 R2 |
Plataforma de destino | Windows |
Encabezado | audioengineendpoint.h |