only do IO if we are RUNNING or IDLE, but not when we are in INIT
authorLennart Poettering <lennart@poettering.net>
Fri, 28 Sep 2007 12:22:56 +0000 (12:22 +0000)
committerLennart Poettering <lennart@poettering.net>
Fri, 28 Sep 2007 12:22:56 +0000 (12:22 +0000)
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1912 fefdeb5f-60dc-0310-8127-8f9354f1896f

src/modules/module-oss.c

index 8d08899..82b5b6c 100644 (file)
@@ -849,7 +849,7 @@ static void thread_func(void *userdata) {
 
         /* Render some data and write it to the dsp */
 
-        if (u->sink && u->sink->thread_info.state != PA_SINK_UNLINKED && u->fd >= 0 && (revents & POLLOUT)) {
+        if (u->sink && PA_SINK_OPENED(u->sink->thread_info.state) && (revents & POLLOUT)) {
 
             if (u->use_mmap) {
 
@@ -939,7 +939,7 @@ static void thread_func(void *userdata) {
 
         /* Try to read some data and pass it on to the source driver */
 
-        if (u->source && u->source->thread_info.state != PA_SOURCE_UNLINKED && u->fd >= 0 && ((revents & POLLIN))) {
+        if (u->source && PA_SOURCE_OPENED(u->source->thread_info.state) && ((revents & POLLIN))) {
 
             if (u->use_mmap) {