2006-04-27 01:34:59

by Brad Midgley

[permalink] [raw]
Subject: [Bluez-devel] a2dp alsa plugin "better"

Hey

fwiw, I switched to using a2dp_transfer2 instead of a2dp_transfer. I
don't know who wrote either one of them, but things are a little bit
better.

The elapsed time in xmms doesn't jump around and it doesn't lock up
between songs. It can still lock up however, just randomly.

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
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel


2006-04-29 11:03:32

by Sergey Krivov

[permalink] [raw]
Subject: Re: [Bluez-devel] a2dp alsa plugin "better"

Brad,

> Sergey,
>
> This is formatted as if the second statement was
> inside the if. What was
> your intent here?
>
> if (a2dp->state == BT_CONNECTED)
> a2dp->num += len / a2dp->frame_bytes; //update
> pointer
> a2dp->num %=io->buffer_size;

this code i kept from the previos version of the
plugin. looked at the other alsa pcm codes i guess it
updates the pointer to the current position in the
data buffer. it is returned in the pointer function.

Sergey

__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com


-------------------------------------------------------
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
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel

2006-04-28 22:23:05

by Brad Midgley

[permalink] [raw]
Subject: Re: [Bluez-devel] a2dp alsa plugin "better"

Sergey,

This is formatted as if the second statement was inside the if. What was
your intent here?

if (a2dp->state == BT_CONNECTED)
a2dp->num += len / a2dp->frame_bytes; //update pointer
a2dp->num %=io->buffer_size;

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
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel

2006-04-28 19:51:35

by Brad Midgley

[permalink] [raw]
Subject: Re: [Bluez-devel] a2dp alsa plugin "better"

Sergey,

I incorporated your last batch of changes in cvs. Thanks for the comments.

I need to think about how we handle i/o problems. Things fell apart when
I moved my bluetooth mouse (current xmms song ended early, next song
couldn't start and xmms crashed). It's similar if I go out of range.

Also, in a2play, we have a mode where we drop packets when they back up
too much. the plugin could behave similarly.

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
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel

2006-04-27 17:57:42

by Brad Midgley

[permalink] [raw]
Subject: Re: [Bluez-devel] a2dp alsa plugin "better"

Sergey

Thanks for looking at this more. I'll look at your changes.

Please keep your copy updated from cvs. I've been incorporating your
fixes and making fixes of my own.

The one downside you'll notice is you need to install libsbc since I'm
building against the system version.

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
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel

2006-04-27 16:41:50

by Sergey Krivov

[permalink] [raw]
Subject: Re: [Bluez-devel] a2dp alsa plugin "better"

Brad,

--- Brad Midgley <[email protected]> wrote:

> Sergey
>
> > i wrote both of them.
>
> I still have occasional lockups for a2dp_transfer2.
> Could you put in
> comments so I have an easier time figuring out these
> two transfer routines?

i think a fixed the bug, at least in my case lockups
with transfer2 disappeared. i have added comments to
a2dp_transfer function. a2dp_transfer2 is very
similar.

I still use a2dp_transfer since with a2dp_transfer2 i
can not control xmms with headphone buttons.

these functions just work, and i suspect they dont
interact properly with alsa. it would be nice to have
a simple example of alsa plugin to cast the things.

i attach the whole pcm_a2dp.c but you have to copy
just a2dp_transfer, a2dp_transfer, time_to_wait,
sleeptill functions.


>
> We also need to take steps when write() returns an
> unexpected value.
> That may be part of the reason things come crashing
> down.

did you mean write(a2dp->sk,... ?

Sergei

__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com


Attachments:
pcm_a2dp.c (30.88 kB)
1802492780-pcm_a2dp.c

2006-04-27 13:36:24

by Brad Midgley

[permalink] [raw]
Subject: Re: [Bluez-devel] a2dp alsa plugin "better"

Sergey

> i wrote both of them.

I still have occasional lockups for a2dp_transfer2. Could you put in
comments so I have an easier time figuring out these two transfer routines?

We also need to take steps when write() returns an unexpected value.
That may be part of the reason things come crashing down.

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
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel

2006-04-27 10:14:07

by Sergey Krivov

[permalink] [raw]
Subject: Re: [Bluez-devel] a2dp alsa plugin "better"

Hi,


> fwiw, I switched to using a2dp_transfer2 instead of
> a2dp_transfer. I
> don't know who wrote either one of them, but things
> are a little bit
> better.

i wrote both of them. a2dp_transfer2 sleeps required
amount of time before transmitting the data,
essentially "locking up" the code. And i thought was
the reason why mplayer goes out of sync.
while a2dp_transfer just waits for the time to
transmit
the data returning the control to the invoking call.
turns out it does not help with mplayer.

however, watching movies with xine is possible.



__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com


-------------------------------------------------------
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
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel