]> code.delx.au - pulseaudio/commitdiff
alsa: Only set the 'first' flag to false when we actually call snd_pcm_start()
authorColin Guthrie <cguthrie@mandriva.org>
Tue, 14 Sep 2010 18:44:57 +0000 (19:44 +0100)
committerColin Guthrie <cguthrie@mandriva.org>
Tue, 14 Sep 2010 18:44:57 +0000 (19:44 +0100)
Previously, if work_done was false, we could conceivably not call snd_pcm_start().

src/modules/alsa/alsa-sink.c

index e62dcc061b8dc8356e97a076794983101a729b44..1108a79742af8b91a1cf2630a5bbaea2ca3f658a 100644 (file)
@@ -1417,6 +1417,8 @@ static void thread_func(void *userdata) {
                     snd_pcm_start(u->pcm_handle);
 
                     pa_smoother_resume(u->smoother, pa_rtclock_now(), TRUE);
+
+                    u->first = FALSE;
                 }
 
                 update_smoother(u);
@@ -1454,7 +1456,6 @@ static void thread_func(void *userdata) {
                 pa_rtpoll_set_timer_relative(u->rtpoll, PA_MIN(sleep_usec, cusec));
             }
 
-            u->first = FALSE;
             u->after_rewind = FALSE;
 
         } else if (u->use_tsched)