KsStudio – Filtros e Filtros e Fábricas
Este tópico descreve como os filtros e fábricas de filtros podem ser exibidos usando o Utilitário KSStudio.
Os drivers de áudio WDM (Modelo de Driver do Microsoft Windows) representam um dispositivo de áudio como um filtro KS e representam um buffer de hardware no dispositivo como um pino no filtro. Para obter mais informações, consulte Filtrar, fixar e propriedades do nó.
Opções de enumeração KS Filter Factory
Uma sessão no KSStudio normalmente começa enumerando as fábricas de filtro KS instaladas no sistema. Por padrão, o usuário recebe uma caixa de diálogo de opções de enumeração na inicialização. Essa caixa de diálogo pode ser invocada a qualquer momento após a inicialização por meio da barra de menus (View.Options...).
Há duas maneiras pelas quais o KSStudio enumera filtros:
Configurar a API. Esse é, de longe, o meio mais comum e útil de enumeração de fábrica de filtros. Se uma fábrica de filtros estiver instalada corretamente em um sistema, ela será enumerável por meio de uma ou mais categorias de filtro (por exemplo, KSCATEGORY_AUDIO, KSCATEGORY_RENDER etc. ). Você pode escolher quais categorias enumerar, clicando em "Classes..." Botão. Isso invoca uma caixa de diálogo que apresenta todas as categorias declaradas atualmente em KSMedia.h.
Explicitamente pelo nome do dispositivo. Se a API de Instalação não enumerar sua fábrica de filtros, mas o driver estiver instalado (ou seja, ele aparece sem erro em Gerenciador de Dispositivos), talvez você possa instanciar o dispositivo explicitamente pelo nome. Isso é feito inserindo o nome do dispositivo no controle de edição "Filtros adicionais". Isso pode ser útil para solucionar problemas de enumeração (por exemplo, erros inf).
O KSStudio também fornece alguns "Filtros de Teste", que existem apenas no programa KSStudio. Esses filtros de teste podem ser usados para transmitir dados diretamente para filtros KS, o que pode ser útil para fins de solução de problemas.
As fábricas de filtros instaladas que o KSStudio enumera são mostradas no Modo de Exibição de Fábrica de Filtros discutido no Utilitário KSStudio.
Fábricas de Filtros
As fábricas de filtros enumerados são exibidas no Modo de Exibição de Fábrica de Filtros. Uma fábrica de filtros é uma faceta de um driver WDM que expõe um nome de dispositivo que pode ser passado para CreateFile
criar uma instância de um filtro (que é um objeto kernel). Para cada fábrica de filtros enumerada, o KSStudio exibe uma lista resumida de atributos recuperados usando as APIs de Instalação do Windows, sem realmente instanciar o filtro.
O atributo Nome do Dispositivo é a cadeia de caracteres passada para CreateFile
por KSStudio quando o usuário opta por instanciar o filtro.
Filtrar Instanciação
Para instanciar um filtro, clique duas vezes em uma fábrica de filtros no Modo de Exibição de Fábrica de Filtros (ou clique com o botão direito do mouse em uma fábrica e escolha instanciar). Se a instanciação for bem-sucedida, o KSStudio interrogará o filtro (por meio de uma barragem de chamadas de propriedade) e criará um perfil usando os valores obtidos. Esse perfil é usado para gerar uma representação gráfica da instância de filtro no Modo de Exibição de Topologia de Objeto, que é deduzido dos valores da propriedade e uma representação textual na Exibição de Detalhes do Objeto que mostra os valores de propriedade reais obtidos.
Para fechar um filtro, clique com o botão direito do mouse nele e escolha Fechar no menu pop-up.
Filtros de teste
O KSStudio vem com vários Filtros de Teste ou Bombas de Dados internos, assim chamados porque enviam os buffers de dados que são preenchidos ou consumidos pelo Grafo de Filtro KS.
Bomba de arquivo de onda. Esse filtro lê arquivos .wav e envia os dados para pinos capazes de consumir dados KSDATAFORMAT_TYPE_AUDIO.
Bomba de Arquivo MIDI. Esse filtro lê arquivos .mid ou .rmi e envia os dados para pinos capazes de consumir dados KSDATAFORMAT_TYPE_MUSIC.
Bomba de Captura de Onda. Esse filtro envia buffers vazios para pinos capazes de fornecer KSDATAFORMAT_AUDIO dados. Os dados são exibidos usando um medidor VU.
Bomba de Captura MIDI. Esse filtro envia buffers vazios para pinos capazes de fornecer dados KSDATAFORMAT_MUSIC. Os dados são exibidos na janela de registro em log como mensagens MIDI brutas e traduzidas.
Bomba de fluxo Duplex completa. Esse filtro envia buffers vazios para um pino de KSDATAFLOW_IN e, em seguida, reenvia os dados recuperados para um pino de KSDATAFLOW_OUT. Por exemplo, é possível usar essa bomba para capturar dados pcm de um pino de microfone e enviá-los novamente para um pino de renderização.