On Thu, 2012-09-20 at 09:42 +0300, Tanu Kaskinen wrote: > Previously thread_func() used PA_SINK_IS_OPENED() to check whether > some data should be rendered. process_render_null() used a different > check: it would return immediately if the sink was not in the RUNNING > state. This caused a busy loop when the sink was in the IDLE state, > because process_render_null() didn't update the timestamp, and > thread_func() still kept the timer active using the old timestamp. > pa_rtpoll_run() would return immediately because of the old timestamp. > > This is fixed by using the same check in both thread_func() and > process_render_null(). Since the checks are the same, it's actually > redundant to have the check in process_render_null(), so it is now an > assertion. > > BugLink: https://bugs.freedesktop.org/show_bug.cgi?id=54779 > --- Nice work pinning this down. Please go ahead and push. -- Arun