A2DP sink indications + autoclose after suspension
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
Luiz Augusto von Dentz
maintainerHi,
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.cdoes not support indications (am I right?). How can I detect changes of states (e.g. OPEN<->STREAMING)? I can detect suspension with EAGAIN onstream_fdbut 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