2007-10-07 18:54:53

by Fabien Chevalier

[permalink] [raw]
Subject: [PATCH] Alsa plugin fix

Index: pcm_bluetooth.c
===================================================================
--- pcm_bluetooth.c (révision 74)
+++ pcm_bluetooth.c (copie de travail)
@@ -764,6 +764,25 @@
return ret;
}

+static int bluetooth_playback_delay(snd_pcm_ioplug_t *io,
+ snd_pcm_sframes_t *delayp)
+{
+ DBG("");
+
+ /* This updates io->hw_ptr value using pointer() function */
+ snd_pcm_hwsync(io->pcm);
+
+ *delayp = io->appl_ptr - io->hw_ptr;
+ if ((io->state == SND_PCM_STATE_RUNNING) && (*delayp < 0)) {
+ io->callback->stop(io);
+ io->state = SND_PCM_STATE_XRUN;
+ *delayp = 0;
+ }
+ /* This should never fail, ALSA API is really not
+ prepared to handle a non zero return value */
+ return 0;
+}
+
static snd_pcm_ioplug_callback_t bluetooth_hsp_playback = {
.start = bluetooth_playback_start,
.stop = bluetooth_playback_stop,
@@ -774,6 +793,7 @@
.transfer = bluetooth_hsp_write,
.poll_descriptors = bluetooth_playback_poll_descriptors,
.poll_revents = bluetooth_playback_poll_revents,
+ .delay = bluetooth_playback_delay,
};

static snd_pcm_ioplug_callback_t bluetooth_hsp_capture = {
@@ -798,6 +818,7 @@
.transfer = bluetooth_a2dp_write,
.poll_descriptors = bluetooth_playback_poll_descriptors,
.poll_revents = bluetooth_playback_poll_revents,
+ .delay = bluetooth_playback_delay,
};

static snd_pcm_ioplug_callback_t bluetooth_a2dp_capture = {


Attachments:
plugin-xun-fix.diff (1.36 kB)

2007-10-09 08:04:45

by Fabien Chevalier

[permalink] [raw]
Subject: Re: [Bluez-devel] [PATCH] Alsa plugin fix

Hi Marcel,

> Hi Fabien,
>
>> I 100% agree with you. :-)
>
> you know that you can edit the wiki by yourself ;)
>

Sure, just wanted to make sure you guys would agree before to make the
changes :-)

Cheers,

Fabien

-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel

2007-10-08 16:53:51

by Marcel Holtmann

[permalink] [raw]
Subject: Re: [Bluez-devel] [PATCH] Alsa plugin fix

Hi Fabien,

> I 100% agree with you. :-)

you know that you can edit the wiki by yourself ;)

Regards

Marcel



-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel

2007-10-08 14:09:04

by Fabien Chevalier

[permalink] [raw]
Subject: Re: [Bluez-devel] [PATCH] Alsa plugin fix


>> Btw, maybe we should put Audacious on the HOWTO/Audiodevices pages and
>> recommand its usage instead of XMMS/BMP, which both seem to have been
>> abandonned ?
>
> It doen't hurt to leave xmms in there since it is just a few lines to
> explain how to
> enable its support, we just need to mark it as not recommended and include
> Audacious as a recommended player along with gstreamer based ones.

Hello Luiz,

I 100% agree with you. :-)

Cheers,

Fabien

-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel

2007-10-08 13:40:50

by Luiz Augusto von Dentz

[permalink] [raw]
Subject: Re: [Bluez-devel] [PATCH] Alsa plugin fix

Hi,

On 10/8/07, Fabien Chevalier <[email protected]> wrote:
> > Fabien,
> >
> > I noticed the same problem with xmms, but it works great now. I
> > committed your fix.
>
> Thanks !
>
> Btw, maybe we should put Audacious on the HOWTO/Audiodevices pages and
> recommand its usage instead of XMMS/BMP, which both seem to have been
> abandonned ?

It doen't hurt to leave xmms in there since it is just a few lines to
explain how to
enable its support, we just need to mark it as not recommended and include
Audacious as a recommended player along with gstreamer based ones.

btw, great work!

-- =

Luiz Augusto von Dentz
Engenheiro de Computa=E7=E3o

-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel

2007-10-08 08:01:46

by Fabien Chevalier

[permalink] [raw]
Subject: Re: [Bluez-devel] [PATCH] Alsa plugin fix

> Fabien,
>
> I noticed the same problem with xmms, but it works great now. I
> committed your fix.

Thanks !

Btw, maybe we should put Audacious on the HOWTO/Audiodevices pages and
recommand its usage instead of XMMS/BMP, which both seem to have been
abandonned ?

Fabien

-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel

2007-10-08 00:22:26

by Brad Midgley

[permalink] [raw]
Subject: Re: [Bluez-devel] [PATCH] Alsa plugin fix

Fabien,

I noticed the same problem with xmms, but it works great now. I
committed your fix.

thanks
Brad

On 10/7/07, Fabien Chevalier <[email protected]> wrote:
> All,
>
> I've spent most of my afternoon fixing the support for my favorite media
> player, the descendant of XMMS : audacious. :-)
>
> Audacious was almost working except for a *very* annoying bug (in our
> side :-( ). It would
> eventually stop playing at the end of each song, which meant i would
> have to manually select the next song and hit play again... not very
> funny :-(
>
> Now it looks it works perfectly (didn't have time to check that in
> details, but that should be fixed as soon i tomorrow, after i would
> have spent the most part of the day listening to music with Audacious ;-)=
)
>
> The patch is fairly simple, it implements the delay() call to make sure
> we change the pcm state to the XRUN state whenever the hw_ptr moves
> on top of appl_ptr.
>
> Anybody to review it and commit to CVS ?
>
> Cheers,
>
> Fabien
>
> Index: pcm_bluetooth.c
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> --- pcm_bluetooth.c (r=E9vision 74)
> +++ pcm_bluetooth.c (copie de travail)
> @@ -764,6 +764,25 @@
> return ret;
> }
>
> +static int bluetooth_playback_delay(snd_pcm_ioplug_t *io,
> + snd_pcm_sframes_t *delayp)
> +{
> + DBG("");
> +
> + /* This updates io->hw_ptr value using pointer() function */
> + snd_pcm_hwsync(io->pcm);
> +
> + *delayp =3D io->appl_ptr - io->hw_ptr;
> + if ((io->state =3D=3D SND_PCM_STATE_RUNNING) && (*delayp < 0)) {
> + io->callback->stop(io);
> + io->state =3D SND_PCM_STATE_XRUN;
> + *delayp =3D 0;
> + }
> + /* This should never fail, ALSA API is really not
> + prepared to handle a non zero return value */
> + return 0;
> +}
> +
> static snd_pcm_ioplug_callback_t bluetooth_hsp_playback =3D {
> .start =3D bluetooth_playback_start,
> .stop =3D bluetooth_playback_stop,
> @@ -774,6 +793,7 @@
> .transfer =3D bluetooth_hsp_write,
> .poll_descriptors =3D bluetooth_playback_poll_descriptors,
> .poll_revents =3D bluetooth_playback_poll_revents,
> + .delay =3D bluetooth_playback_delay,
> };
>
> static snd_pcm_ioplug_callback_t bluetooth_hsp_capture =3D {
> @@ -798,6 +818,7 @@
> .transfer =3D bluetooth_a2dp_write,
> .poll_descriptors =3D bluetooth_playback_poll_descriptors,
> .poll_revents =3D bluetooth_playback_poll_revents,
> + .delay =3D bluetooth_playback_delay,
> };
>
> static snd_pcm_ioplug_callback_t bluetooth_a2dp_capture =3D {
>
> -------------------------------------------------------------------------
> This SF.net email is sponsored by: Splunk Inc.
> Still grepping through log files to find problems? Stop.
> Now Search log events and configuration files using AJAX and a browser.
> Download your FREE copy of Splunk now >> http://get.splunk.com/
> _______________________________________________
> Bluez-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/bluez-devel
>
>

-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel