[pulseaudio-discuss] [RFC][PATCH] improve missing handling in memblockq (was Re: stream wedged in non-playing state)

Arun Raghavan arun at arunraghavan.net
Fri Jul 22 09:14:20 UTC 2016



On Wed, 8 Jun 2016, at 03:49 PM, Pierre Ossman wrote:
> On Wed, 01 Jun 2016 15:31:57 +0530
> Arun Raghavan <arun at arunraghavan.net> wrote:
> 
> > 
> > I don't have good example as such, but I do know the alsa pulse plugin
> > for example sets different flags (and buffer attrs?) from the more
> > standard async clients.
> > 
> 
> I tried a few different ALSA applications without any glitches:
> 
>  - aplay
>  - mplayer
>  - flash in firefox
> 
> > We have an old test for creating a simple set of streams as a sanity
> > check. Maybe this could be extended to run with different combinations
> > of flags and attributes.
> > 
> >   http://cgit.freedesktop.org/pulseaudio/pulseaudio/tree/src/tests/sync-playback.c
> > 
> 
> Triggering the bug requires a specific amount of data to be drained,
> which is difficult to achieve in any sensible manner just by being a
> client. :/
> 
> I added the attached test though. It doesn't test the full scope of the
> bug as it doesn't include the native protocol side of things, but it
> should verify correct minreq behaviour in the core (which in turn
> should avoid bugs further out).
> 
> Hopefully that's sufficient for now?

Yes, it is. I think the patches you posted look good. Just one question
-- you moved missing and requested to being size_ts. Is there a reason
you don't leave them as int64_ts and avoid the casts in comparison?

-- Arun


More information about the pulseaudio-discuss mailing list