Compartilhar via


Filtros de áudio

Um filtro KS é um objeto de kernel e é identificado por um identificador de objeto de kernel. Na figura a seguir, a caixa grande no centro é um filtro KS que representa um dispositivo de áudio. O fluxo de dados flui para o filtro da esquerda, passa por alguns nós para processamento e sai do filtro à direita. O filtro é criado por uma fábrica de filtros, que é mostrada como uma caixa com bordas tracejadas na parte inferior do filtro.

Diagrama mostrando um filtro KS com dois nós, representando um dispositivo de áudio com fluxo de dados.

Na figura, dois pinos são instanciados no filtro. O pino à esquerda é um coletor de dados e o pino à direita é uma fonte de dados. Os dados fluem para o filtro por meio do pino do coletor e fluem para fora do filtro por meio do pino de origem.

Por convenção, o uso dos termos fonte e sumidouro no KS é centrado em buffer (ou talvez, mais geralmente, centralizado em conexão). Um buffer de dados é frequentemente necessário no ponto em que um pino de origem em um filtro se conecta ao pino de destino de outro. O buffer suaviza as irregularidades nas taxas nas quais os dados chegam ao pino de origem e saem para o pino de destino. (Claro, nem todas as conexões exigem buffer. Uma conexão sem buffer pode ocorrer entre dois dispositivos na mesma placa de adaptador, por exemplo, onde as taxas de dados do destino e da origem são mais facilmente harmonizadas.)

Por outro lado, a terminologia da API do mixer para linhas de mixer SRC e DST (origem e destino) é centrada no dispositivo:

  • O fluxo entra em um dispositivo misturador por meio da linha do misturador SRC.

  • O fluxo sai de um dispositivo de mistura por meio da linha do misturador DST.

Em outras palavras, uma linha do misturador SRC é mapeada para um pino de coletor de dados em um filtro KS e uma linha do misturador DST é mapeada para um pin de fonte de dados. Para obter mais informações, consulte Topologia de Streaming de Kernel parade Tradução de API do Mixer de Áudio.

Para simplificar, a figura omite as fábricas de pinos do filtro, que criam as instâncias de pino.

Além de serem coletores de dados e fontes de dados, pinos e filtros também podem atuar como coletores IRP e fontes IRP. Não só os pinos e filtros podem receber IRPs, como também podem enviar IRPs. As três setas escuras na figura representam IRPs. O pino no lado esquerdo da figura é um coletor IRP. O pino à direita é uma fonte IRP. A figura também mostra um IRP sendo enviado para o próprio objeto de filtro.