On Wed, 2012-11-28 at 19:20 +0100, Mikel Astiz wrote:
> From: Mikel Astiz <[email protected]>
> 
> The sink can be resumed while the source is still in PA_SOURCE_INIT.
> This is the case if a module such as module-stream-restore routes the
> audio to the sink during pa_sink_put(), leading to an inconsistent
> state: the sink stays RUNNING but the transport is not actually
> acquired.

Ack from me. I think Arun wants to check this too, so not pushing yet,
but to me the patch makes perfect sense.

Slightly related comment, maybe this

    if (u->sink->thread_info.state != PA_SINK_SUSPENDED)
        break;

just before the changed part should be changed to

    if (PA_SINK_IS_OPENED(u->sink->thread_info.state))
        break;

so that INIT->IDLE transitions will work too, if we decide some day that
it's not a good idea to start the devices suspended. (I think it makes
sense to start them suspended, but relying on module-suspend-on-idle for
unsuspending is not good.)

-- 
Tanu

_______________________________________________
pulseaudio-discuss mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss

Reply via email to