Bluetooth HFP ignora lo streaming audio
Questo articolo illustra l'operazione e la teoria del profilo pratico Bluetooth (HFP) ignorano lo streaming audio.
In modalità bypass, il percorso del controllo audio Bluetooth passa attraverso una connessione hardware diversa dall'interfaccia del controller host (HCI), ad esempio I2S, al controller Bluetooth. Questa altra connessione hardware è spesso I2S, ma può essere qualsiasi interfaccia determinata dal controller host Bluetooth. Questa connessione viene definita "bypass" o "sideband".
Mentre l'I/O audio si verifica tramite la connessione bypass, il flusso audio sincrono (SCO) sincrono è ancora gestito tramite HCI. Windows 8 fornisce un driver HFP (Bluetooth Hands-Free Profile) per semplificare la gestione della connessione SCO e altri aspetti del profilo di Hands-Free. Tuttavia, un driver audio personalizzato controlla l'I/O audio tra Windows e la connessione di bypass.
Il driver HFP e il driver di controllo personalizzato per i dati di I/O audio hanno ruoli separati, richiedendo una comunicazione efficiente tra di essi. Questa comunicazione viene gestita da un set di IOCTLs passati dal driver audio personalizzato al driver HFP di Windows.
In genere, la connessione di bypass è sempre presente. Il servizio Plug and Play (PnP) enumera l'hardware che include questa connessione e carica il driver audio richiesto. Tuttavia, il sistema audio può o non avere alcun visore HFP associato e la connessione di bypass è utile solo se almeno un visore HFP è associato.
Per ogni dispositivo HFP associato, il driver HFP di Windows registra e abilita un'interfaccia del dispositivo nella classe di interfaccia GUID_DEVINTERFACE_BLUETOOTH_HFP_SCO_HCIBYPASS. Le condizioni seguenti si applicano ai dispositivi HFP:
- Quando Windows attiva il driver HFP (in genere durante l'avvio), il driver HFP registra e abilita un'interfaccia per ogni dispositivo HFP associato.
- Quando un dispositivo HFP è già in esecuzione con Windows, il driver HFP registra e abilita un'interfaccia per il dispositivo.
- Se sono presenti n dispositivi HFP associati, il driver HFP di Windows registra n istanze dell'interfaccia del dispositivo.
- Quando viene rimosso un dispositivo HFP associato, il driver HFP di Windows disabilita l'interfaccia del dispositivo.
- Quando Windows arresta il driver HFP (in genere durante l'arresto o il riavvio), il driver HFP disabilita l'interfaccia per ogni dispositivo HFP associato.
- Il driver audio deve gestire più arrivi e rimozione di interfacce in qualsiasi momento, non solo durante l'avvio o l'arresto.
Gestione delle risorse I2S e SCO
Questa sezione illustra i presupposti apportati nella progettazione del supporto di streaming audio di bypass Bluetooth.
Attualmente, Windows presuppone che sia presente un solo controller host Bluetooth. Inoltre, il supporto di bypass di Hands-Free Profile (HFP) sincrono (SCO) presuppone che sia presente una sola connessione di bypass e che qualsiasi canale aperto tramite l'interfaccia del driver del dispositivo HFP sia associato a tale singola connessione.
I driver audio devono arbitare questo canale e la singola connessione di bypass per un singolo consumer in base al primo servizio. Il modo più semplice per ottenere questo risultato è che il driver consenta solo a un singolo filtro di passare i pin allo stato DI ACQUISIZIONE.
Vedi anche
Gli argomenti seguenti forniscono altre informazioni sul ciclo di vita della connessione e alcune funzionalità di progettazione di un dispositivo HFP e del relativo driver audio: