Alteração de formato dinâmico
A alteração de formato dinâmico é um recurso no Windows 7 e versões posteriores do sistema operacional Windows que permite que o formato usado para transmitir dados de áudio entre um aplicativo de áudio e um adaptador de áudio seja alterado dinamicamente. A alteração de formato dinâmico acomoda o comportamento do streaming de áudio em dispositivos HDMI (interface multimídia de alta definição). Este tópico fornece uma visão geral da alteração de formato dinâmico e descreve como ela funciona.
A lista a seguir mostra os cenários nos quais a alteração de formato dinâmico é usada.
Os dispositivos HDMI apresentam novos recursos. Quando um dispositivo HDMI transmite dados de áudio ou vídeo ou ambos, a largura de banda HDMI total usada para a transferência de áudio e vídeo é corrigida e o sinal de vídeo recebe preferência na alocação de capacidade. Isso significa que, se você tiver um dispositivo de vídeo HDMI conectado a um computador e alterar a resolução de exibição, isso afetará o tamanho da largura de banda que permanece para transferência de dados de áudio para o computador.
Suponha, por exemplo, que seu dispositivo HDMI esteja inicialmente configurado com o formato de dados definido como 192 KHz, estéreo de 16 bits com um modo de exibição específico. Quando você muda para um modo de exibição diferente, a largura de banda restante para transmitir dados de áudio pode não ser suficiente para o formato de 192 KHz. Portanto, o driver de dispositivo notifica o serviço de áudio para o computador conectado sobre a alteração no modo de exibição, e isso faz com que o driver de áudio e o serviço de áudio reordem o formato de dados de áudio. Se o formato de 192 KHz selecionado no momento não puder ser transmitido dentro da largura de banda restante, um novo formato será selecionado. Para obter mais informações sobre o processo de negociação de formato, consulte Format Negotiation.
Em outro cenário de alteração de formato dinâmico relacionado ao HDMI, um dispositivo de áudio é desconectado e um novo dispositivo compatível com HDMI está conectado. O driver do dispositivo para o dispositivo HDMI gera um evento de alteração de formato e o serviço de áudio renegocia o formato de dados de áudio com o driver do dispositivo.
Alguns dispositivos de áudio autônomos fornecem controles de hardware que um usuário pode usar para alterar o formato de dados de áudio. Nesse cenário, o usuário manipula um botão de controle em um amplificador de som surround, por exemplo, para selecionar um formato de dados de áudio. Se houver um computador conectado ao dispositivo de áudio autônomo, esse formato de dados recém-selecionado fará com que o driver de áudio no computador conectado renegocie o formato de dados e, possivelmente, altere-o.
A interface do usuário de terceiros para o miniaplicativo Sound no Painel de Controle fornece opções para habilitar ou desabilitar efeitos do sistema. Ao desenvolver seus próprios sAPOs (objetos de processamento de áudio) de efeitos do sistema, você também pode fornecer uma interface do usuário personalizada para o miniaplicativo Sound no Painel de Controle. Essa interface do usuário personalizada pode incluir modificações nas guias Avançado ou Avançado do miniaplicativo Sound ou ambos. Nesse cenário, um usuário seleciona uma caixa de marcar na guia Avançado para habilitar ou desabilitar um recurso de efeitos globais do sistema (GFX) que exige que o formato de dados de áudio seja alterado. A seleção feita pelo usuário faz com que o driver HDMI gere um evento de alteração de formato. O serviço de áudio recebe a notificação sobre esse evento e renegocia com o driver de áudio para selecionar um novo formato para os dados de áudio.
Para fornecer suporte para formatos de áudio compactados compatíveis com HDMI e IEC61937, como Dolby Digital e DTS (som de teatro digital), os sistemas operacionais Windows 7 e posteriores fornecem um novo conjunto de GUIDs de subtipo para uso pelas propriedades e estruturas de streaming de kernel (KS). O padrão IEC (International Electrotechnical Commission), IEC 61937, aplica-se a interfaces de áudio digital que transferem fluxos de bits codificados por PCM não lineares. Para obter mais informações sobre os GUIDs de subtipo, consulte o KSDATAFORMAT_SUBTYPE_IEC61937_Xxx GUIDs em Ksmedia.h.
Nota Quando o construtor de ponto de extremidade de áudio recebe a notificação de alteração de formato dinâmico e o formato de dados proposto não tem suporte do driver de dispositivo, o construtor de ponto de extremidade recalculará um novo formato de dados de dispositivo padrão.
E no caso em que um driver de áudio reprojetado agora dá suporte a um novo formato, ele pode forçar o construtor de ponto de extremidade a selecionar o novo formato como o formato padrão para o dispositivo. Para forçar uma alteração para o novo formato como o padrão para o dispositivo, o driver de áudio deve falhar na consulta de suporte de formato que recebe em relação ao formato antigo. A consulta de suporte ao formato com falha dispara uma notificação de alteração de formato e o construtor de ponto de extremidade calcula um novo formato padrão para o dispositivo.