XDspConnect
Estabelece uma conexão com o servidor de hardware, cria uma instância de cliente XDSP e aloca os recursos necessários para o processamento. Há um limite global de 8 clientes XDSP ativos simultaneamente.Sintaxe
Parâmetros
baseBuffer _In_Tipo: float* Buffer contíguo alocado por um chamador do XDSP para ser usado para passar dados de entrada e recuperar os dados de saída. Para obter detalhes adicionais, confira a seção Comentários abaixo. baseBufferLength _In_
Tipo: uint32_t Comprimento do baseBuffer, em bytes. Esse comprimento deve ser de pelo menos 64 KB e no máximo 500 MB. aggregateImpulseResponseInSeconds _In_
Tipo: uint32_t Representa a duração total de todas as respostas ao impulso individuais que serão ativadas simultaneamente nesse cliente. aggregateImpulseResponseInSeconds deve ser definido como um valor maior que zero para XDspProcessType::Convolution; caso contrário, deve ser zero. Há um limite global de 128 segundos de resposta ao impulso agregada em todos os clientes XDSP. handle _Outptr_
Tipo: XDspClientHandle* Identificador para um cliente XDSP que deve ser usado para ativar fluxos por meio de XDspActivate e desconectar o cliente do servidor de hardware por meio de XDspDisconnect. No máximo 256 fluxos podem estar ativos a qualquer momento para todos os XDSPClientHandles.
Valor retornado
Tipo: HRESULT Se o método for bem-sucedido, ele retornará S_OK. Se o método falhar, ele retornará um dos seguintes códigos (lista parcial):Comentários
Se a chamada for bem-sucedida, o baseBuffer poderá ser usado pelo chamador para passar dados de entrada e recuperar os dados de saída do fluxo por meio dos parâmetros de XDspCommand. Se o envelopamento for usado, esse buffer também deverá considerar os buffers para armazenar parâmetros de envelope. Confira Visão geral do envelopamento usando a API do XDSP para obter mais informações sobre envelopamento. Essa função deve ser chamada antes de ativar fluxos XDSP para registrar um grande bloco de memória suficiente para conter vários fluxos de áudio completos para uso como entrada, vários buffers de saída para todos os fluxos XDSP que serão ativados por meio de XDspActivate e vários buffers de multiplicador de bloco que podem ser usados como parte do XDspCommand para o tipo de processamento XDspProcessType::ForwardFourierTransform. Esteja ciente dos requisitos de tamanho mínimo e máximo desse buffer, conforme observado acima. Se essa chamada for bem-sucedida, todos os fluxos XDSP poderão acessar qualquer parte desse bloco de memória. Essa memória deve ser alocada por meio de XMemAlloc() com estes atributos: XALLOC_MEMTYPE_PHYSICAL_CACHEABLE, XALLOC_PAGESIZE_64KB, XALLOC_ALIGNMENT_64K Esses atributos devem ser definidos usando MAKE_XALLOC_ATTRIBUTES(). Um exemplo disso é o seguinte:Requisitos
Cabeçalho: XDspAudio.h Biblioteca: Chad.lib Plataformas compatíveis: XBOX Series X|SDocumentação conceitual
- Visão geral do envelopamento do XDSP
- Visão geral de uma convolução de fluxo único com envelope usando a API do XDSP
- Visão geral de uma convolução de fluxo único usando a API do XDSP
- Visão geral do XDSP
Confira também
XDSPXDspConnectWithMaximumStreamLimit
XDspDisconnect
Erros do XDSP
Visão geral de uma convolução de fluxo único usando a API do XDSP
Visão geral de uma FFT/IFFT de fluxo único usando a API do XDSP
Visão geral de uma convolução de fluxo único com envelope usando a API do XDSP
