Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este artigo explica a operação e a teoria do perfil viva-voz Bluetooth (HFP) que ignora o streaming de áudio.
No modo de bypass, o caminho de controle de áudio Bluetooth flui através de uma conexão de hardware alternativa à interface HCI (interface do controlador de host), como I2S, até o controlador Bluetooth. Essa outra conexão de hardware geralmente é I2S, mas pode ser qualquer interface determinada pelo controlador de host Bluetooth. Essa conexão é conhecida como uma conexão "bypass" ou "sideband".
Embora a E/S de áudio ocorra por meio da conexão de bypass, o fluxo de áudio SCO (orientado por conexão síncrona) transmitido pelo ar ainda é gerenciado por meio do HCI. O Windows 8 fornece um driver HFP (Perfil de Hands-Free Bluetooth) para simplificar o gerenciamento da conexão SCO e outros aspectos do perfil Hands-Free. No entanto, um driver de áudio personalizado controla a E/S de dados de áudio entre o Windows e a conexão de bypass.
O driver HFP e o driver de controle personalizado para dados de E/S de áudio têm funções separadas, exigindo uma comunicação eficiente entre eles. O processo de comunicação é gerenciado por um conjunto de IOCTLs passados do driver de áudio personalizado para o driver HFP do Windows.
Normalmente, a conexão de bypass está sempre presente. O serviço Plug and Play (PnP) enumera o hardware que inclui essa conexão e carrega o driver de áudio necessário. No entanto, o sistema de áudio pode ou não ter nenhum fone de ouvido HFP emparelhado, e a conexão de bypass só será útil se pelo menos um fone de ouvido HFP estiver emparelhado.
Para cada dispositivo HFP emparelhado, o driver HFP do Windows registra e habilita uma interface do dispositivo na classe de interface GUID_DEVINTERFACE_BLUETOOTH_HFP_SCO_HCIBYPASS. As seguintes condições se aplicam a dispositivos HFP:
- Quando o Windows ativa o driver HFP (geralmente durante a inicialização), o driver HFP registra e habilita uma interface para cada dispositivo HFP emparelhado.
- Quando um dispositivo HFP é emparelhado pela primeira vez com o Windows já em execução, o driver HFP registra e habilita uma interface para o dispositivo.
- Se houver n dispositivos HFP emparelhados, o driver HFP do Windows registrará n instâncias da interface do dispositivo.
- Quando um dispositivo HFP emparelhado é removido, o driver HFP do Windows desabilita a interface do dispositivo.
- Quando o Windows interrompe o driver HFP (geralmente durante o desligamento ou reinicialização), o driver HFP desabilita a interface para cada dispositivo HFP emparelhado.
- O driver de áudio deve lidar com várias chegadas e remoções de interfaces a qualquer momento, não apenas durante a inicialização ou desligamento.
Gerenciando recursos de I2S e SCO
Esta seção discute as suposições feitas no design do suporte para transmissão de áudio bypass em Bluetooth.
Atualmente, o Windows pressupõe que haja apenas um controlador de host Bluetooth. Além disso, o suporte de bypass síncrono orientado à conexão (SCO) do Perfil Hands-Free (HFP) pressupõe que haja apenas uma conexão de bypass, e qualquer canal aberto por meio da interface do driver de dispositivo HFP está associado a essa única conexão.
Os drivers de áudio devem arbitrar este canal e a única conexão de bypass para um único consumidor, seguindo o critério "primeiro a chegar, primeiro a ser atendido". A maneira mais simples de fazer isso é que o driver permita que apenas um único filtro faça a transição de seus pinos para o estado ACQUIRE.
Consulte também
Os tópicos a seguir fornecem mais informações sobre o ciclo de vida da conexão e alguns recursos de design de um dispositivo HFP e seu driver de áudio: