Método IAudioOutputEndpointRT::ReleaseOutputDataPointer (audioengineendpoint.h)
O método ReleaseOutputDataPointer libera o ponteiro para o buffer de saída.
Sintaxe
void ReleaseOutputDataPointer(
[in] const APO_CONNECTION_PROPERTY *pConnectionProperty
);
Parâmetros
[in] pConnectionProperty
Um ponteiro para uma estrutura APO_CONNECTION_PROPERTY . Os valores na estrutura não devem ser alterados. O chamador define os membros da seguinte maneira:
- pBuffer é definido como o ponteiro para o buffer de dados de saída retornado pelo método IAudioOutputEndpointRT::GetOutputDataPointer .
- u32ValidFrameCount é definido como o número real de quadros que foram gerados pelo mecanismo de áudio. O valor pode não ser o mesmo que a contagem de quadros passada no parâmetro u32FrameCount do método GetOutputDataPointer .
- u32BufferFlags será definido como BUFFER_VALID se o buffer de saída apontado pelo membro pBuffer contiver dados válidos. u32BufferFlags será definido como BUFFER_SILENT se o buffer de saída contiver apenas dados silenciosos. Os dados no buffer realmente não precisam ser silenciados, mas o buffer especificado no membro pBuffer deve ser capaz de manter todos os quadros de silêncio contidos no membro u32ValidFrameCount . Portanto, se BUFFER_SILENT for especificado, o ponto de extremidade deverá gravar o silêncio no buffer de saída.
Retornar valor
Nenhum
Comentários
ReleaseOutputDataPointer notifica o ponto de extremidade de que o mecanismo de áudio concluiu a tarefa de gravar dados no buffer de saída e não requer mais o ponteiro de dados. Esse método também retransmite informações como o tempo que corresponde aos exemplos de áudio no buffer de saída, o número de quadros gerados pelo mecanismo de áudio e se o buffer está cheio de dados válidos ou dados de silêncio. Com base nessas informações, um ponto de extremidade que representa um buffer em loop e é anexado à saída do mecanismo de áudio pode avançar sua posição de gravação no buffer. Um valor zero no parâmetro u32FrameCount do método GetOutputDataPointer indica que o mecanismo de áudio não gravou nenhum dado válido no buffer de saída. O valor do parâmetro u32FrameCount deve ser menor ou igual à contagem de quadros especificada em GetOutputDataPointer. O ponto de extremidade não deve assumir que todos os dados solicitados por GetOutputDataPointer foram realmente gerados.
Esse método pode ser chamado de um thread de processamento em tempo real. A implementação desse método não deve bloquear, acessar memória paginada ou chamar rotinas do sistema de bloqueio.
A API AudioEndpoint dos Serviços de Área de Trabalho Remota é usada em cenários de Área de Trabalho Remota; não é para aplicativos cliente.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 7 |
Servidor mínimo com suporte | Windows Server 2008 R2 |
Plataforma de Destino | Windows |
Cabeçalho | audioengineendpoint.h |