Page 1 of 1

Bluetooth headset delay issue

PostPosted: May 17, 2007 @ 10:57am
by The PocketTV Team
Apparently, based on user reports, some bluetooth headsets (A2DP i.e. stereo profile) or bluetooth drivers introduce an important audio delay (1/4 to 1/2 sec) which causes audio to appear out-of-sync with video when playing movies or other audio-video content (e.g. games).

This is clearly not a problem when having a phone conversation or listening to music.

But with video, this causes a serious issue and, from what we heard, it affects all applications that rely on audio-video being sync'ed, including Microsoft's own media player. Any audio delay >= 0.1 sec is very noticeable with lip-sync (the maximum acceptable delay is generally considered to be 2 frames at 30 frames/sec, i.e. 0.06 sec).

This audio delay is caused by buffering of audio samples after they have been output by the audio driver (the delay in the audio driver itself is not a problem since there is an API to determine the number of audio samples in the driver's FIFO).

Our understanding is that the audio delay observed with a bluetooth headsets can be a combination of a buffering delay in the device itself (in the bluetooth driver) and possibly another buffering delay in the bluetooth device (headset) itself. Those two delays that add-up can naturally depend on the device (presumably different bluetooth drivers can introduce different delays depending on their buffering), and on the model of bluetooth headset.

Apparently some video applications have implemented a workaround where the user can manually correct the "audio delay" in the application (e.g. using a slider or entering a number), but this is definitely not a user-friendly solution.

Our questions are the following:

- Is there an API to determine if a bluetooth headset is being used? (there is a bluetooth API but i couldn't find a tutorial explaining how to determine if a bluetooth device using the profile A2DP is being used, in C++)

- Is there an API that applications can use to determine this exact additional total audio delay with the A2DP bluetooth headset that is being used? (i.e. the buffering delay in the bluetooth driver on the device, and any additional buffering delay in the bluetooth headset itself)

- What is the solution that Microsoft recomends to mobile video / games applications developers for dealing with this Bluetooth audio delay issue?

-- The PocketTV Team

PostPosted: May 17, 2007 @ 12:34pm
by Dan East

PostPosted: May 17, 2007 @ 12:40pm
by The PocketTV Team