[pulseaudio-discuss] [PATCH v0] loopback: Fix cork state not updated after move
Mikel Astiz
mikel.astiz.oss at gmail.com
Mon Jul 8 07:25:11 PDT 2013
Hi Tanu,
On Mon, Jul 8, 2013 at 3:06 PM, Tanu Kaskinen
<tanu.kaskinen at linux.intel.com> wrote:
> On Mon, 2013-07-01 at 10:27 +0200, Mikel Astiz wrote:
>> From: Mikel Astiz <mikel.astiz at bmw-carit.de>
>>
>> The source output and sink inputs should be corked if the corresponding
>> sink/source is suspended, as handled during module initialization. This
>> also needs to be handled during stream move, because the suspend state
>> of the destination sink/source might be different to the previous one.
>>
>> This fixes the issue with an infinite number of "Requesting rewind due
>> to end of underrun" traces after a stream move.
>
> module-loopback should certainly update the stream cork states when the
> streams are moved, but this patch looks like it will cause crashing. Did
> you test the patch? The moving() callback is called when i->sink is
> NULL, and pa_sink_input_cork() looks like it will crash in that
> situation.
I did test the patch and didn't reproduce the issue you describe,
neither did Georg, as it seems ([1]). Can you explain how this can be
reproduced?
You mention i->sink is NULL but how could that be the case during
*source*-output-moving?
>
> As an aside, it's not clear to me why there would be endless rewind
> requests if the cork state is wrong. I would expect there to be just
> loads of "Could not peek into queue" messages.
The issue can be reproduced easily by moving a stream from a suspended
source to a running one.
Cheers,
Mikel
[1] http://lists.freedesktop.org/archives/pulseaudio-discuss/2013-July/017735.html
>
> --
> Tanu
>
More information about the pulseaudio-discuss
mailing list