[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [4249] Improve audio api use in WM8750.
From: |
andrzej zaborowski |
Subject: |
Re: [Qemu-devel] [4249] Improve audio api use in WM8750. |
Date: |
Fri, 25 Apr 2008 01:34:40 +0200 |
On 24/04/2008, Jan Kiszka <address@hidden> wrote:
> Hi Andrzej,
>
> Andrzej Zaborowski wrote:
> > Revision: 4249
> ...
> > static void wm8750_audio_out_cb(void *opaque, int free_b)
> > {
> > struct wm8750_s *s = (struct wm8750_s *) opaque;
> >
> > - s->req_out = free_b;
> > - s->data_req(s->opaque, free_b >> 2, s->req_in >> 2);
> > - wm8750_out_flush(s);
> > + if (s->idx_out >= free_b) {
> > + s->idx_out = free_b;
> > + s->req_out = 0;
> > + wm8750_out_flush(s);
> > + } else
> > + s->req_out = free_b - s->idx_out;
> > +
> > + s->data_req(s->opaque, s->req_out >> 2, s->req_in >> 2);
>
> Please make sure that the callback is always issued _before_ the flush
> (keep in mind: it may increase the amount of data that has to be flushed
> ASAP!). And this change also leaves the MusicPal broken.
The idea is to output free_b bytes immediately if we have that many in
the buffer (it could happen assuming that free_b value can change
between callbacks). I'm not sure how this can break something: if
*inside* the data_req() callback we receive enough bytes to fill the
the whole buffer then dac_dat() will call out_flush().
Without that all buffering becomes useless because we flush every
sample we receive and we start to crawl.
Regards
--
Please do not print this email unless absolutely necessary. Spread
environmental awareness.
- [Qemu-devel] [4249] Improve audio api use in WM8750., Andrzej Zaborowski, 2008/04/24
- Re: [Qemu-devel] [4249] Improve audio api use in WM8750., Jan Kiszka, 2008/04/24
- Re: [Qemu-devel] [4249] Improve audio api use in WM8750.,
andrzej zaborowski <=
- Re: [Qemu-devel] [4249] Improve audio api use in WM8750., Jan Kiszka, 2008/04/24
- Re: [Qemu-devel] [4249] Improve audio api use in WM8750., Jan Kiszka, 2008/04/24
- Re: [Qemu-devel] [4249] Improve audio api use in WM8750., andrzej zaborowski, 2008/04/24
- Re: [Qemu-devel] [4249] Improve audio api use in WM8750., Jan Kiszka, 2008/04/24
- Re: [Qemu-devel] [4249] Improve audio api use in WM8750., Jan Kiszka, 2008/04/24
- Re: [Qemu-devel] [4249] Improve audio api use in WM8750., andrzej zaborowski, 2008/04/24
- Re: [Qemu-devel] [4249] Improve audio api use in WM8750., andrzej zaborowski, 2008/04/24
- Re: [Qemu-devel] [4249] Improve audio api use in WM8750., Jan Kiszka, 2008/04/24
- Re: [Qemu-devel] [4249] Improve audio api use in WM8750., andrzej zaborowski, 2008/04/24