Skip to contentSkip to conversation

A2DP sink indications + autoclose after suspension

DISCUSSION Jacek Szczech 2 participants 2 messages Feb 23, 2010 Bluetooth drivers

lore
Share & tools
lore
#0 lore raw

Hi,

I succeeded writing a program that receives a2dp stream (from my mobile phone), decodes and sends to stdout using unix/ipc interface. It'll be run on old hw without X enviroment, that's why I didn't use already available software (like pulseaudio).

I faced a few problems connected with suspension of stream:

1) Unix.c does not support indications (am I right?). How can I detect changes of states (e.g. OPEN<->STREAMING)? I can detect suspension with EAGAIN on stream_fd but it does not seem to be proper solution. Do you plan to support indications in unix/ipc interface?

2) Will it be possible to get indications concerning OPEN<->STREAMING changes on dbus Media interface?

3) After suspension of stream (SUSPEND sent from SRC) the stream is CLOSEd after about 10 seconds. What part of code disconnects this? Is it a way to avoid this?

regards,
Jacek

#1 lore raw

Hi,

2010/2/23 Jacek Szczech <[email protected]>:

Quoted 7 lines

Hi,

I succeeded writing a program that receives a2dp stream (from my mobile phone), decodes and sends to stdout using unix/ipc interface. It'll be run on old hw without X enviroment, that's why I didn't use already available software (like pulseaudio).

Quoted 6 lines

I faced a few problems connected with suspension of stream:

1) Unix.c does not support indications (am I right?). How can I detect changes of states (e.g. OPEN<->STREAMING)? I can detect suspension with EAGAIN on stream_fd but it does not seem to be proper solution. Do you plan to support indications in unix/ipc interface?

You can listen for State on Audio interface or in the profile specific interfaces such as AudioSource/AudioSink/Headset.

Quoted 2 lines

2) Will it be possible to get indications concerning OPEN<->STREAMING changes on dbus Media interface?

Media interface is just for endpoint registration, but again you can achieve the same by listen to State changes e.g. Connected <-> Playing

Quoted 3 lines

3) After suspension of stream (SUSPEND sent from SRC) the stream is CLOSEd after about 10 seconds. What part of code disconnects this? Is it a way to avoid this?

Afaik this is not triggered if there is a unix client holding a lock, so if e.g. the headset reconnects you have to claim the socket otherwise it will timeout.

Signature · 2 lines
Luiz Augusto von Dentz
Computer Engineer