* [Bluez-devel] A2DP and Alsa Plugin
@ 2006-05-04 13:30 Frederic Dalleau
2006-05-04 14:36 ` Brad Midgley
` (2 more replies)
0 siblings, 3 replies; 21+ messages in thread
From: Frederic Dalleau @ 2006-05-04 13:30 UTC (permalink / raw)
To: bluez-devel
Hi all,
I recently started to work with bluetooth-alsa (0.41) and a bluetake =
iPhono BT420 headset.
I made it work using a2play, but not using alsa-plugins. I also tried =
the latest cvs without success.
At first, I had the following message :=20
"Requested Capabilities for SEID =3D 1
Didn't receive SBC codec parameters (first) for SEID =3D 1"
As it worked with a2play, I went into the source code, and it appeared =
that pcm_a2dp.c uses O_NONBLOCK socket option. Removing the option =
allowed me to go further.
After that, I saw "DEBUG:a2dp_transfer" traces : but the write() call =
was failing with error=3DIncorrect parameter. I believe this has =
something to do with mtu because after reducing the transmitted size, =
the calls were succeeding, and the iphono started to make noise, but it =
really was not what I expected. I'm right saying there is no a2dp =
encapsulation for sbc blocks within the plugin?=20
Has anyone made the plugin work? Also, as I will have time to work with =
bt-alsa, I would be pleased to help. What must/can be done? What area =
can I investigate in order to have a2dp working with alsa?
I'm really new to bt, any help will be welcome, thank you,
Regards,
Fr=E9d=E9ric Dalleau
-------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Bluez-devel mailing list
Bluez-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bluez-devel
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [Bluez-devel] A2DP and Alsa Plugin
2006-05-04 13:30 Frederic Dalleau
@ 2006-05-04 14:36 ` Brad Midgley
2006-05-04 14:50 ` Brad Midgley
2006-05-04 15:20 ` Brad Midgley
2 siblings, 0 replies; 21+ messages in thread
From: Brad Midgley @ 2006-05-04 14:36 UTC (permalink / raw)
To: bluez-devel
Frederic
> I recently started to work with bluetooth-alsa (0.41) and a bluetake
> iPhono BT420 headset. I made it work using a2play, but not using
> alsa-plugins. I also tried the latest cvs without success.
stick with cvs for this stuff. the 0.41 release will not work (esp plugin).
> Has anyone made the plugin work? Also, as I will have time to work
> with bt-alsa, I would be pleased to help. What must/can be done? What
> area can I investigate in order to have a2dp working with alsa?
Sergey did help us get it working. I've got a csr adapter on my computer
and I'm testing with an iphono mini set. It's possible he and I are
using different versions of a2dp_transfer (a2dp_transfer2 works better
for me and that's the one cvs-head uses)
I had to put in a bunch of i/o retries that Sergey didn't so the
behavior can differ a lot from setup to setup. Alsa interrupts our
system calls so we have to be careful about calls that take time like
initially connecting to the set.
There is plenty to be done... you need to get it working first :)
seriously, alsa plugin needs bulletproofing (eg we need to watch error
messages from write() and think about how to handle them gracefully). I
also noticed that after choosing pcm.headset, gxine wouldn't even launch
when my headset was off.
Brad
-------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Bluez-devel mailing list
Bluez-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bluez-devel
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [Bluez-devel] A2DP and Alsa Plugin
2006-05-04 13:30 Frederic Dalleau
2006-05-04 14:36 ` Brad Midgley
@ 2006-05-04 14:50 ` Brad Midgley
2006-05-04 15:20 ` Brad Midgley
2 siblings, 0 replies; 21+ messages in thread
From: Brad Midgley @ 2006-05-04 14:50 UTC (permalink / raw)
To: bluez-devel
Frederic
> Has anyone made the plugin work? Also, as I will have time to work
> with bt-alsa, I would be pleased to help. What must/can be done? What
> area can I investigate in order to have a2dp working with alsa?
oh one more biggie... Marcel was working on this.
We need to keep the connection open for a few seconds after the client
closes it in case the client is going to turn around and open it again.
eg gxine opens, closes, opens, closes, opens then plays the media you
passed to it on the command line. this puts the headset in a strange
state sometimes; that last open fails and new connections won't work for
a while.
brad
-------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Bluez-devel mailing list
Bluez-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bluez-devel
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [Bluez-devel] A2DP and Alsa Plugin
2006-05-04 13:30 Frederic Dalleau
2006-05-04 14:36 ` Brad Midgley
2006-05-04 14:50 ` Brad Midgley
@ 2006-05-04 15:20 ` Brad Midgley
2 siblings, 0 replies; 21+ messages in thread
From: Brad Midgley @ 2006-05-04 15:20 UTC (permalink / raw)
To: bluez-devel
Frederic
> it really was not what I expected. I'm right saying there is no a2dp
> encapsulation for sbc blocks within the plugin?
fyi, there is not any a2dp encapsulation for the plugin or for a2play...
a2dp negotiation happens over one l2cap and a separate l2cap is
negotiated for the sbc data.
Brad
-------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Bluez-devel mailing list
Bluez-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bluez-devel
^ permalink raw reply [flat|nested] 21+ messages in thread
* RE: [Bluez-devel] A2DP and Alsa Plugin
@ 2006-05-04 15:34 Frederic Dalleau
0 siblings, 0 replies; 21+ messages in thread
From: Frederic Dalleau @ 2006-05-04 15:34 UTC (permalink / raw)
To: bluez-devel
> It's possible he and I are using different versions of a2dp_transfer
> (a2dp_transfer2 works better for me and that's the one cvs-head uses)
a2dp_transfer2 ? I have no such function.
I used cvs.sourceforge.net/cvsroot/bluetooth-alsa.=20
bluetooth-alsa.cvs.sourceforge.net/... didn't want my anonymous login.
Is it a different server?
Frederic
-------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Bluez-devel mailing list
Bluez-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bluez-devel
^ permalink raw reply [flat|nested] 21+ messages in thread
* RE: [Bluez-devel] A2DP and Alsa Plugin
@ 2006-05-04 15:58 Frederic Dalleau
2006-05-04 17:19 ` Brad Midgley
0 siblings, 1 reply; 21+ messages in thread
From: Frederic Dalleau @ 2006-05-04 15:58 UTC (permalink / raw)
To: bluez-devel
Brad,
> fyi, there is not any a2dp encapsulation for the plugin or for
a2play...
> a2dp negotiation happens over one l2cap and a separate l2cap is
negotiated for the sbc data.
By encapsulation I mean there is a packet_header and a payload_header in
a2play.c that I do not see in alsa-plugin, at least in my version!
I'm still waiting to see a2dp_transfer2
Frederic
-------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Bluez-devel mailing list
Bluez-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bluez-devel
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [Bluez-devel] A2DP and Alsa Plugin
2006-05-04 15:58 Frederic Dalleau
@ 2006-05-04 17:19 ` Brad Midgley
0 siblings, 0 replies; 21+ messages in thread
From: Brad Midgley @ 2006-05-04 17:19 UTC (permalink / raw)
To: bluez-devel
Frederic
> By encapsulation I mean there is a packet_header and a payload_header in
> a2play.c that I do not see in alsa-plugin, at least in my version!
> I'm still waiting to see a2dp_transfer2
i've been meaning to for a while, so i made a 0.42 snapshot. it's
current so you could try that if cvs is giving you trouble.
brad
-------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Bluez-devel mailing list
Bluez-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bluez-devel
^ permalink raw reply [flat|nested] 21+ messages in thread
* RE: [Bluez-devel] A2DP and Alsa Plugin
@ 2006-05-05 12:38 Frederic Dalleau
2006-05-05 17:24 ` Brad Midgley
0 siblings, 1 reply; 21+ messages in thread
From: Frederic Dalleau @ 2006-05-05 12:38 UTC (permalink / raw)
To: bluez-devel
> i've been meaning to for a while, so i made a 0.42 snapshot. it's
current so you could try that if=20
> cvs is giving you trouble.
It works!
I have lots of glitch using mpg123|a2play but none with alsa-plugin!
It's cool :D
There were minor build problems though (sbc.h and libsbc.a not
reachable)
Retried cvs but I couldn't get latest, anonymous login is not allowed.
Frederic
-------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Bluez-devel mailing list
Bluez-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bluez-devel
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [Bluez-devel] A2DP and Alsa Plugin
2006-05-05 12:38 Frederic Dalleau
@ 2006-05-05 17:24 ` Brad Midgley
0 siblings, 0 replies; 21+ messages in thread
From: Brad Midgley @ 2006-05-05 17:24 UTC (permalink / raw)
To: bluez-devel
Frederic
> It works!
>
> I have lots of glitch using mpg123|a2play but none with alsa-plugin!
> It's cool :D
> There were minor build problems though (sbc.h and libsbc.a not
> reachable)
> Retried cvs but I couldn't get latest, anonymous login is not allowed.
I'm glad to hear it works out. Is this totally a hobby thing or does it
have anything to do with your day job? :)
I assume you changed the sbc.h path and linked to libsbc.a. I'm trying
to move the sbc library out of btsco and link properly with libsbc.so;
that's why it is pointed to the system versions.
Brad
-------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Bluez-devel mailing list
Bluez-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bluez-devel
^ permalink raw reply [flat|nested] 21+ messages in thread
* RE: [Bluez-devel] A2DP and Alsa Plugin
@ 2006-05-10 8:17 Frederic Dalleau
2006-05-10 17:49 ` Brad Midgley
0 siblings, 1 reply; 21+ messages in thread
From: Frederic Dalleau @ 2006-05-10 8:17 UTC (permalink / raw)
To: bluez-devel
Hi brad,=20
> I'm glad to hear it works out. Is this totally a hobby thing=20
> or does it have anything to do with your day job? :)
You're right brad! It's my day job. As you know, PalmSource announced
recently that its next platform release called ALP will use BlueZ (BT
2.0 compliant) : see
http://www.palmsource.com/press/2006/021406_accesslinuxplatform.html.
Currently, we are still in the development phase of the ALP platform. In
this context, I will work on the a2dp profile.
Regards,
Frederic
-------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Bluez-devel mailing list
Bluez-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bluez-devel
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [Bluez-devel] A2DP and Alsa Plugin
2006-05-10 8:17 Frederic Dalleau
@ 2006-05-10 17:49 ` Brad Midgley
0 siblings, 0 replies; 21+ messages in thread
From: Brad Midgley @ 2006-05-10 17:49 UTC (permalink / raw)
To: bluez-devel
Frederic
> You're right brad! It's my day job. As you know, PalmSource announced
> recently that its next platform release called ALP will use BlueZ (BT
> 2.0 compliant) : see
> http://www.palmsource.com/press/2006/021406_accesslinuxplatform.html.
> Currently, we are still in the development phase of the ALP platform. In
> this context, I will work on the a2dp profile.
I've read about ALP. It looks exciting. I was glad to see ALP will
include gstreamer as part of the foundation. You should help me write
proper gstreamer plugins.
alsa plugins use an api that is too simple for complete headset
support... also there have been complaints about libalsa not scaling
down for embedded systems.
Brad
-------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Bluez-devel mailing list
Bluez-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bluez-devel
^ permalink raw reply [flat|nested] 21+ messages in thread
* RE: [Bluez-devel] A2DP and Alsa Plugin
@ 2006-05-11 9:15 Frederic Dalleau
2006-05-12 17:10 ` Brad Midgley
2006-08-02 14:08 ` Brad Midgley
0 siblings, 2 replies; 21+ messages in thread
From: Frederic Dalleau @ 2006-05-11 9:15 UTC (permalink / raw)
To: bluez-devel
Brad,
> I've read about ALP. It looks exciting. I was glad to see ALP=20
> will include gstreamer as part of the foundation. You should=20
> help me write proper gstreamer plugins.
I did not worry about gstreamer as I tried the gstreamer
alsasink yesterday. This allow you to create a graph with either
bluetooth output or alsa output without modifying your .asoundrc. Just
modify the device field. One address only as set in filename.
> alsa plugins use an api that is too simple for complete=20
> headset support... also there have been complaints about=20
> libalsa not scaling down for embedded systems.
I'm new to alsa and gstreamer and I don't understand you yet.
Can you point me to document you use? I just saw that volume control
wasn't available with alsa-plugin if this is what you mean.
However, I mainly worry about the following points :
* I do not get 2 apps with a2dp output on the same address. As
devices seems to manage only one socket, the second app will generally
crash. Could we implement some sort of mixing or application selection
(the foreground app or the first app started on an address, but with
proper error handling for the others)?
* How to select whether the application will output on a2dp or
speaker? Should this be application related or system related?
* What you told me with gxine may vary depending the
application. I believe one way to handle this is to maintain
asynchronous connection to target sink. The api would just enqueue the
audio packets into a common shared queue (per target). The connection
simply close when there are no more audio packets.
Did you change something since 0.42?
Frederic
-------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Bluez-devel mailing list
Bluez-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bluez-devel
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [Bluez-devel] A2DP and Alsa Plugin
2006-05-11 9:15 [Bluez-devel] A2DP and Alsa Plugin Frederic Dalleau
@ 2006-05-12 17:10 ` Brad Midgley
2006-05-17 16:51 ` Frédéric DALLEAU
2006-08-02 14:08 ` Brad Midgley
1 sibling, 1 reply; 21+ messages in thread
From: Brad Midgley @ 2006-05-12 17:10 UTC (permalink / raw)
To: bluez-devel
Frederic
> I did not worry about gstreamer as I tried the gstreamer
> alsasink yesterday. This allow you to create a graph with either
> bluetooth output or alsa output without modifying your .asoundrc. Just
> modify the device field. One address only as set in filename.
It will work (probably not much worse than direct alsa). We end up with
a plugin api that is a least-common denominator of the two this way. I'd
rather eliminate the need for the extra layers. (btw, libalsa and
alsasink probably add over a megabyte together in libraries.)
regarding docs... alsalib is poorly documented (that's one of the
problems) but gstreamer does have good plugin docs.
http://gstreamer.freedesktop.org/data/doc/gstreamer/head/pwg/html/index.html
the gstreamer approach allows us to easily snap out the software sbc
codec for a dsp task if you have one available. the decision doesn't
even have to be made until runtime and the other layers like a2dp setup
don't need to be replaced or duplicated.
>> alsa plugins use an api that is too simple for complete
>> headset support... also there have been complaints about
>> libalsa not scaling down for embedded systems.
>
> I'm new to alsa and gstreamer and I don't understand you yet.
> Can you point me to document you use? I just saw that volume control
> wasn't available with alsa-plugin if this is what you mean.
the link above goes into gstreamer and there's a good document for app
writers. it is complicated but I think it will serve the purpose well.
we may have to use "soft" volume control by manipulating the stream
before encoding it. there should be a plugin for this. i've tried to use
avrcp to control volume without any luck.
> However, I mainly worry about the following points :
> * I do not get 2 apps with a2dp output on the same address. As
> devices seems to manage only one socket, the second app will generally
> crash. Could we implement some sort of mixing or application selection
> (the foreground app or the first app started on an address, but with
> proper error handling for the others)?
we either need a sound server or we need a plugin that can use ipc so a
single instance is actually transferring data to the headset. i know
alsa can't do the latter but i'm not sure if gstreamer helps.
> * How to select whether the application will output on a2dp or
> speaker? Should this be application related or system related?
system. we need a way to change it while an app is outputing sound.
> * What you told me with gxine may vary depending the
> application. I believe one way to handle this is to maintain
> asynchronous connection to target sink. The api would just enqueue the
> audio packets into a common shared queue (per target). The connection
> simply close when there are no more audio packets.
yes. a sound server or mixer plugin via ipc could enforce this behavior.
> Did you change something since 0.42?
not yet
brad
-------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Bluez-devel mailing list
Bluez-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bluez-devel
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [Bluez-devel] A2DP and Alsa Plugin
2006-05-12 17:10 ` Brad Midgley
@ 2006-05-17 16:51 ` Frédéric DALLEAU
2006-05-17 17:40 ` Brad Midgley
2006-05-29 7:02 ` Brad Midgley
0 siblings, 2 replies; 21+ messages in thread
From: Frédéric DALLEAU @ 2006-05-17 16:51 UTC (permalink / raw)
To: bluez-devel
Hi brad,
>> * How to select whether the application will output on a2dp or
>>speaker? Should this be application related or system related?
>>
>>
>system. we need a way to change it while an app is outputing sound.
>
>
It is not that simple with alsa, as I'm really unsure whether alsa can
change output plugin at runtime unless the plugin reinject the sound
into alsa itself? It's weird... Other than socket, what sort of ipc
would allow mixing? I'm unsure a named pipe can do it. You need to
create multiple pipes but how to choose one from the client app...
How about a daemon that uses gstreamer with one or more ipc gstreamer
source, a mixmatrix, volume control (if not done by mixmatrix), (alsa
sink or (sbcfilter and a2dp sink)) to finish...
An alsa plugin and/or a gstreamer ipc plugin would just send ipc to the
daemon.
Now to be more specific, I still have some questions :
Why not sharing code between a2play and alsa-plugin?
There are some variables that are shared among instances
(bufe,lenbufe,tsend,...) why are they globals? There is a snd_pcm_a2dp_t
structure that would (IMHO) embed them very well. Is this alsa related
limitation? This forbid using multiple headsets at a time...
Now that cvs works, how to propose patches? on the list? By creating a
sf developper account?
Thanks
Frederic
-------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Bluez-devel mailing list
Bluez-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bluez-devel
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [Bluez-devel] A2DP and Alsa Plugin
2006-05-17 16:51 ` Frédéric DALLEAU
@ 2006-05-17 17:40 ` Brad Midgley
2006-05-29 7:02 ` Brad Midgley
1 sibling, 0 replies; 21+ messages in thread
From: Brad Midgley @ 2006-05-17 17:40 UTC (permalink / raw)
To: bluez-devel
Frédéric
> How about a daemon that uses gstreamer with one or more ipc gstreamer
> source, a mixmatrix, volume control (if not done by mixmatrix),
> (alsa sink or (sbcfilter and a2dp sink)) to finish... An alsa plugin
> and/or a gstreamer ipc plugin would just send ipc to the daemon.
I will ask on the gstreamer list. When reading the gstreamer docs it
seems like the "sky's the limit." I wish I could understand the
limitations better.
> Why not sharing code between a2play and alsa-plugin? There are some
> variables that are shared among instances (bufe,lenbufe,tsend,...)
> why are they globals? There is a snd_pcm_a2dp_t structure that would
> (IMHO) embed them very well. Is this alsa related limitation? This
> forbid using multiple headsets at a time...
Marcel wanted to leave this stuff out of bluez for now but avrcp/a2dp
signaling would best fit there if they are to be shared.
alsa-plugin is a little messier than our typical bluetooth-alsa
component. yes, a bunch of those should not be global variables and some
further cleanup is in line. An even bigger problem is we essentially
ignore the return value from write(). I want to figure out how things
can fail there and what we should do to recover.
> Now that cvs works, how to propose patches? on the list? By creating
> a sf developper account?
please submit patches here to the list for now.
brad
-------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Bluez-devel mailing list
Bluez-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bluez-devel
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [Bluez-devel] A2DP and Alsa Plugin
2006-05-17 16:51 ` Frédéric DALLEAU
2006-05-17 17:40 ` Brad Midgley
@ 2006-05-29 7:02 ` Brad Midgley
2006-05-30 10:20 ` Frédéric DALLEAU
1 sibling, 1 reply; 21+ messages in thread
From: Brad Midgley @ 2006-05-29 7:02 UTC (permalink / raw)
To: bluez-devel
Fr=E9d=E9ric
I've been discussing this over at the gstreamer list and I have some
more info.
>>> * How to select whether the application will output on a2dp or
>>> speaker? Should this be application related or system related?
Ideally it's a system function, but I'm not seeing a way to pull that off.
> How about a daemon that uses gstreamer with one or more ipc gstreamer
> source, a mixmatrix, volume control (if not done by mixmatrix), (alsa
> sink or (sbcfilter and a2dp sink)) to finish...
> An alsa plugin and/or a gstreamer ipc plugin would just send ipc to the
> daemon.
gstreamer has no ipc equivalent to the alsa dmix, so a pure gst
implementation will not mix multiple apps down to one stream.
that is unless you help write the ipc mixer for gst :)
sadly, gst would really be a great implementation (moving the encoder
into a hotpluggable module, allowing for late binding on choosing the
encoder, possibly a way to redirect a stream in progress to the set) but
the lack of a way to mix multiple apps is not great.
Brad
_______________________________________________
Bluez-devel mailing list
Bluez-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bluez-devel
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [Bluez-devel] A2DP and Alsa Plugin
2006-05-29 7:02 ` Brad Midgley
@ 2006-05-30 10:20 ` Frédéric DALLEAU
2006-05-30 16:38 ` Brad Midgley
2006-05-30 20:28 ` Brad Midgley
0 siblings, 2 replies; 21+ messages in thread
From: Frédéric DALLEAU @ 2006-05-30 10:20 UTC (permalink / raw)
To: BlueZ development
Hi brad,
>>>> * How to select whether the application will output on a2dp or
>>>>speaker? Should this be application related or system related?
>>>> =
>>>>
>
>Ideally it's a system function, but I'm not seeing a way to pull that off.
> =
>
gstreamer makes it easy to write applications, but application writer =
can choose whatever sink he wants. We cant rely on application being =
a2dp aware.
To provide system level functionnality, a good place is inside the sound =
daemon like esd. esd already does the mixing and ipc stuff.
The main drawback is that this would restrict usage to gnome apps.
I just saw a media system selector (gstreamer-properties) but I haven't =
figured its role. Is that a sort of default gstreamer audio sink?
>gstreamer has no ipc equivalent to the alsa dmix, so a pure gst
>implementation will not mix multiple apps down to one stream.
> =
>
I've played a bit with dmix but did not have it working. It seems to =
only redirect sound to hardware sound cards. gonna ask on alsa mailing list.
>that is unless you help write the ipc mixer for gst :)
> =
>
The only sort of ipc I know that would suit would be ip sockets... We =
will end up writing a sound server like esd and we would still need to =
write a plugin and a gstreamer sink.
gstreamer provides a tcpserver sink and source but it does not work the =
way i want it to. The server will block until a client connect. Multiple =
client are not allowed.
However, mixing might be a fake problem. Maybe we should first figure =
what applications uses alsa directly. All the popular apps (xmms/totem) =
seems esd and arts aware.
Fr=E9d=E9ric
_______________________________________________
Bluez-devel mailing list
Bluez-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bluez-devel
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [Bluez-devel] A2DP and Alsa Plugin
2006-05-30 10:20 ` Frédéric DALLEAU
@ 2006-05-30 16:38 ` Brad Midgley
2006-05-30 20:28 ` Brad Midgley
1 sibling, 0 replies; 21+ messages in thread
From: Brad Midgley @ 2006-05-30 16:38 UTC (permalink / raw)
To: BlueZ development
Fr=E9d=E9ric
> gstreamer provides a tcpserver sink and source but it does not work the =
> way i want it to.
yeah too bad... gst folks could recommend the easiest approach to code
up a fix.
> However, mixing might be a fake problem. Maybe we should first figure =
> what applications uses alsa directly. All the popular apps (xmms/totem) =
> seems esd and arts aware.
totem and amarok at least have gstreamer "ports" now, but that might be
mainly to get the best codec the os can provide.
i have not looked at all into having esd/arts working with our alsa
plugin. they may need patching to look for plugins, to open on demand,
and to briefly cache unneeded connections.
brad
_______________________________________________
Bluez-devel mailing list
Bluez-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bluez-devel
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [Bluez-devel] A2DP and Alsa Plugin
2006-05-30 10:20 ` Frédéric DALLEAU
2006-05-30 16:38 ` Brad Midgley
@ 2006-05-30 20:28 ` Brad Midgley
1 sibling, 0 replies; 21+ messages in thread
From: Brad Midgley @ 2006-05-30 20:28 UTC (permalink / raw)
To: BlueZ development
Fr=E9d=E9ric
>>Ideally it's a system function, but I'm not seeing a way to pull that off.
>> =
> gstreamer makes it easy to write applications, but application writer =
> can choose whatever sink he wants. We cant rely on application being =
> a2dp aware.
I just read this more carefully... so the system would do things like
discover headsets, pair, update .asoundrc (or equivalent). The app
should only have to search for a plugin and let the user choose it.
Brad
_______________________________________________
Bluez-devel mailing list
Bluez-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bluez-devel
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [Bluez-devel] A2DP and Alsa Plugin
2006-05-11 9:15 [Bluez-devel] A2DP and Alsa Plugin Frederic Dalleau
2006-05-12 17:10 ` Brad Midgley
@ 2006-08-02 14:08 ` Brad Midgley
2006-08-02 14:54 ` Frédéric DALLEAU
1 sibling, 1 reply; 21+ messages in thread
From: Brad Midgley @ 2006-08-02 14:08 UTC (permalink / raw)
To: bluez-devel
Frederic
>> I've read about ALP. It looks exciting. I was glad to see ALP
>> will include gstreamer as part of the foundation. You should
>> help me write proper gstreamer plugins.
>
> I did not worry about gstreamer as I tried the gstreamer
> alsasink yesterday. This allow you to create a graph with either
> bluetooth output or alsa output without modifying your .asoundrc. Just
> modify the device field. One address only as set in filename.
I was just cleaning out my mailbox and saw this discussion.
Is the memory footprint acceptable when introducing the alsa dependency
on your embedded platform? In my experience lib-alsa itself builds to
about 800KB on arm. The difference in cpu load is probably negligible.
Brad
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Bluez-devel mailing list
Bluez-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bluez-devel
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [Bluez-devel] A2DP and Alsa Plugin
2006-08-02 14:08 ` Brad Midgley
@ 2006-08-02 14:54 ` Frédéric DALLEAU
0 siblings, 0 replies; 21+ messages in thread
From: Frédéric DALLEAU @ 2006-08-02 14:54 UTC (permalink / raw)
To: BlueZ development
HI brad,
>Is the memory footprint acceptable when introducing the alsa dependency
>on your embedded platform? In my experience lib-alsa itself builds to
>about 800KB on arm. The difference in cpu load is probably negligible.
>
> =
>
Depends on what you need, at first I wanted to see how small it could be.
I had similar result by dropping alsa link from the daemon saved me a =
bit less than 1Mb ram usage as opposed to 2.6 with alsa or something =
like that.
-rwxr-xr-x 1 100 100 1188601 Jul 26 2006 =
/usr/lib/libasound.so.2.0.0
Do you min memory or disk footprint? As the daemon did not need alsa at =
all, it was one free megabit! But this may change one day ...
Is it related to the build problem Andrew had? If so I think the linking =
can be put back for now. I will do it manually if I really need it...
Fr=E9d=E9ric
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=3Djoin.php&p=3Dsourceforge&CID=3DDE=
VDEV
_______________________________________________
Bluez-devel mailing list
Bluez-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bluez-devel
^ permalink raw reply [flat|nested] 21+ messages in thread
end of thread, other threads:[~2006-08-02 14:54 UTC | newest]
Thread overview: 21+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-05-11 9:15 [Bluez-devel] A2DP and Alsa Plugin Frederic Dalleau
2006-05-12 17:10 ` Brad Midgley
2006-05-17 16:51 ` Frédéric DALLEAU
2006-05-17 17:40 ` Brad Midgley
2006-05-29 7:02 ` Brad Midgley
2006-05-30 10:20 ` Frédéric DALLEAU
2006-05-30 16:38 ` Brad Midgley
2006-05-30 20:28 ` Brad Midgley
2006-08-02 14:08 ` Brad Midgley
2006-08-02 14:54 ` Frédéric DALLEAU
-- strict thread matches above, loose matches on Subject: below --
2006-05-10 8:17 Frederic Dalleau
2006-05-10 17:49 ` Brad Midgley
2006-05-05 12:38 Frederic Dalleau
2006-05-05 17:24 ` Brad Midgley
2006-05-04 15:58 Frederic Dalleau
2006-05-04 17:19 ` Brad Midgley
2006-05-04 15:34 Frederic Dalleau
2006-05-04 13:30 Frederic Dalleau
2006-05-04 14:36 ` Brad Midgley
2006-05-04 14:50 ` Brad Midgley
2006-05-04 15:20 ` Brad Midgley
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).