Bluetooth audio packet alignment

We’re evaluating a Bluetooth device that supports Hands Free Profile (HFP) as the “Hands-Free Unit”. You can think of this as a Bluetooth telephone headset. This device interacts with our iOS application.

We observed the following. The iPhone 17 HFP Wide-Band Speech (WBS) mSBC decoder requires the WBS packet (H2 header + mSBC frame) to be sent aligned. Aligned meaning, the H2 header must be first in every packet. The WBS packet cannot span multiple eSCO packets or else the iPhone will discard the audio. This is a different implementation than the iPad (iPad Pro 11-inch M4) , presumably due to Apple’s new N1 chip. In other words, we’ve identified that older iPhones and iPads do not require this alignment. They have implemented a stateful parser/decoder of the HFP WBS audio.

A quick picture to help illustrate. The iPhone 17 requires:

| Frame | Frame | Frame | Frame |

However, a Bluetooth implementation we are evaluating does:

| me Fra | me Fra | me Fra | me Fra |

Does Apple intend to keep this implementation and continue discarding audio frames that are not aligned?

Page 115 of the Bluetooth HFP 1.8 specification mentions at the bottom that this behavior is “left up to the implementation” but that the “synchronization header enables unaligned codec audio frames to be recovered by the receiving side.” We understand and acknowledge that one whole frame per eSCO packet is the intended, optimal method for delivering WBS mSBC audio for reduced jitter, latency, and memory usage. However, the more robust solution would be to maintain a stateful receiver as previously implemented.

Any input would be appreciated.

Hello @dustinw1

We are investigating this issue, and will need to determine the impact of the change before deciding to keep the implementation or revert.

To that end we need some more information:

  1. What 3rd party product is showing this behavior?
  2. If you know, what is the Bluetooth Chip Vendor and LMP Version?
  3. Are you seeing the issue with EV3, 2-EV3 or both packet types?

And at some point, we might need some diagnostic logs from your end as well.

To that end, the best would be to file a Bug Report and give as much detail as you can there.

Once done, please post the Feedback ID of your report here, and make sure to @mention me so I can route the bug to the team right away.


Argun Tekant /  WWDR Engineering / Core Technologies

@Engineer I submitted a feedback report (ID 22193185).

@dustinw1 We are going to try to acquire a unit. Can you please add exact repro steps to the Feedback Report, if it takes more than just turning on the device and using it normally.

Bluetooth audio packet alignment
 
 
Q