]> git.tuebingen.mpg.de Git - paraslash.git/blobdiff - vss.c
Simplify vss_preselect().
[paraslash.git] / vss.c
diff --git a/vss.c b/vss.c
index 1be4cd15d1db262dd5f79a43b19e7bba09f2087a..a7542677249e14ad71182d8d276c55177e1c0ca7 100644 (file)
--- a/vss.c
+++ b/vss.c
@@ -295,7 +295,8 @@ struct timeval *vss_preselect(fd_set *rfds, fd_set *wfds, int *max_fileno)
        else {
                if (vss_next()) {
                        vss_eof();
-                       return vss_compute_timeout();
+                       tv = vss_compute_timeout();
+                       goto out;
                }
        }
        if (vss_paused() || vss_repos()) {
@@ -317,16 +318,16 @@ struct timeval *vss_preselect(fd_set *rfds, fd_set *wfds, int *max_fileno)
        }
        tv = vss_compute_timeout();
        if (tv)
-               return tv;
+               goto out;
        if (!map && vss_playing() &&
                        !(mmd->new_vss_status_flags & VSS_NOMORE)) {
-               if (afsss == AFS_SOCKET_READY ||
-                               afsss == AFS_SOCKET_CHECK_FOR_WRITE) {
+               if (afsss != AFS_SOCKET_AFD_PENDING) {
                        PARA_DEBUG_LOG("ready and playing, but no audio file\n");
                        para_fd_set(afs_socket, wfds, max_fileno);
                        afsss = AFS_SOCKET_CHECK_FOR_WRITE;
                }
        }
+out:
        return tv;
 }