Re: [Bluez-devel] Big patch to a2dpd

Brad Midgley
2006-09-06T03:06:27Z

Lea

You seem to be proposing two different changes below. Do we need to
discuss which one is best?

thanks
Brad

> I've tried it on my XScale board. It is perfect but only one line to be modified to make default alsa device work smoothly. See below patch:
> The better way is to modify the code in alsa_transfer_raw(), I think, as below:
>
> case -EPIPE:
> // To manage underrun, we will try to recover from error state
> if(xrun_recovery(alsa->playback_handle, result) == 0)
> result = 0;
> DBG("EPIPE(%d)", result);
> break;
> case -ESTRPIPE:
> if(xrun_recovery(alsa->playback_handle, result) == 0)
> result=0;
> DBG("ESTRPIPE(%d)", result);
> break;
> }
>
> ========patch begin========
> --- a2dpd.c.old 2006-09-02 13:53:31.601040096 +0800
> +++ a2dpd.c 2006-09-02 13:14:53.065511072 +0800
> @@ -716,7 +716,7 @@
> blockstart += blocksize;
> ibytespersecond += transfer;
> a2dp_timer_notifyframe(&TimerInfos);
> - } else {
> + } else if (! (lpDevice->bredirectalsa)){
> printf("Error in a2dp_transfer_raw\n");
> bError = 1;
> }
> ========patch end========
>
> Thanks,
> Lea