Bagikan melalui


Bluetooth HFP melewati streaming audio

Artikel ini menjelaskan operasi dan teori profil hands-free Bluetooth (HFP) melewati streaming audio.

Dalam mode bypass, jalur kontrol audio Bluetooth mengalir melalui koneksi perangkat keras selain antarmuka pengontrol host (HCI), seperti I2S, ke pengontrol Bluetooth. Koneksi perangkat keras lainnya ini sering kali I2S, tetapi dapat menjadi antarmuka apa pun yang ditentukan oleh pengontrol host Bluetooth. Koneksi ini disebut sebagai koneksi "bypass" atau "sideband".

Meskipun I/O audio terjadi melalui koneksi bypass, aliran audio over-the-air synchronous connection oriented (SCO) masih dikelola melalui HCI. Windows 8 menyediakan driver Bluetooth Hands-Free Profile (HFP) untuk menyederhanakan pengelolaan koneksi SCO dan aspek lain dari Profil Hands-Free. Namun, driver audio kustom mengontrol I/O data audio antara Windows dan koneksi bypass.

Driver HFP dan driver kontrol kustom untuk data I/O audio memiliki peran terpisah, membutuhkan komunikasi yang efisien di antara mereka. Komunikasi ini ditangani oleh sekumpulan IOCTL yang diteruskan dari driver audio kustom ke driver HFP Windows.

Biasanya, koneksi bypass selalu ada. Layanan Plug and Play (PnP) menghitung perangkat keras yang mencakup koneksi ini dan memuat driver audio yang diperlukan. Namun, sistem audio mungkin atau mungkin tidak memiliki headset HFP yang dipasangkan, dan koneksi bypass hanya berguna jika setidaknya satu headset HFP dipasangkan.

Untuk setiap perangkat HFP yang dipasangkan, driver HFP Windows mendaftar dan mengaktifkan antarmuka perangkat di kelas antarmuka GUID_DEVINTERFACE_BLUETOOTH_HFP_SCO_HCIBYPASS. Kondisi berikut berlaku untuk perangkat HFP:

  • Ketika Windows mengaktifkan driver HFP (biasanya selama boot up), driver HFP mendaftar dan mengaktifkan antarmuka untuk setiap perangkat HFP yang dipasangkan.
  • Ketika perangkat HFP pertama kali dipasangkan dengan Windows yang sudah berjalan, driver HFP mendaftar dan mengaktifkan antarmuka untuk perangkat.
  • Jika ada perangkat HFP yang dipasangkan n, driver HFP Windows mendaftarkan n instans antarmuka perangkat.
  • Ketika perangkat HFP yang dipasangkan dihapus, driver HFP Windows menonaktifkan antarmuka perangkat.
  • Ketika Windows menghentikan pengandar HFP (biasanya selama pematian atau boot ulang), driver HFP menonaktifkan antarmuka untuk setiap perangkat HFP yang dipasangkan.
  • Driver audio harus menangani beberapa kedatangan dan penghapusan antarmuka kapan saja, tidak hanya selama startup atau shutdown.

Mengelola sumber daya I2S dan SCO

Bagian ini membahas asumsi yang dibuat dalam desain dukungan streaming audio bypass Bluetooth.

Saat ini, Windows mengasumsikan hanya ada satu pengontrol host Bluetooth. Selain itu, dukungan bypass Hands-Free Profile (HFP) synchronous connection-oriented (SCO) mengasumsikan hanya ada satu koneksi bypass, dan saluran apa pun yang dibuka melalui antarmuka driver perangkat HFP dikaitkan dengan koneksi tunggal tersebut.

Driver audio harus membuat arbitrase saluran ini dan koneksi bypass tunggal untuk satu konsumen berdasarkan first-come, first-serve. Cara paling sederhana untuk mencapai ini adalah agar driver hanya mengizinkan satu filter untuk mentransisikan pinnya ke status ACQUIRE.

Lihat juga

Topik berikut memberikan informasi selengkapnya tentang siklus hidup koneksi dan beberapa fitur desain perangkat HFP dan driver audionya: