This site is no longer active and is available for archival purposes only. Registration and login is disabled.

Bluetooth headset delay issue


Bluetooth headset delay issue

Postby The PocketTV Team » May 17, 2007 @ 10:57am

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
Last edited by The PocketTV Team on May 17, 2007 @ 10:16pm, edited 2 times in total.
User avatar
The PocketTV Team
pm Member
 
Posts: 43
Joined: Apr 5, 2004 @ 10:39am
Location: San Francisco, CA


Postby Dan East » May 17, 2007 @ 12:34pm

User avatar
Dan East
Site Admin
 
Posts: 5264
Joined: Jan 25, 2001 @ 5:19pm
Location: Virginia, USA


Postby The PocketTV Team » May 17, 2007 @ 12:40pm

User avatar
The PocketTV Team
pm Member
 
Posts: 43
Joined: Apr 5, 2004 @ 10:39am
Location: San Francisco, CA


Return to Windows Mobile


Sort


Forum Description

A discussion forum for mobile device developers on the Windows Mobile platform. Any platform specific topics are welcome.

Moderators:

Dan East, sponge, Digby, David Horn, Kevin Gelso, RICoder

Forum permissions

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

cron