]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - snd_alsa.c
changed "sample frames missing" and similar warnings to require developer 1000 or...
[xonotic/darkplaces.git] / snd_alsa.c
index 23d66bd9285d59aa0bd2dc49d9bd9094bd0b1ad3..433e8859cbe16d4561544cf82839e0f72e878bbd 100644 (file)
@@ -283,7 +283,7 @@ static snd_pcm_sframes_t SndSys_Write (const unsigned char* buffer, unsigned int
        written = snd_pcm_writei (pcm_handle, buffer, nbframes);
        if (written < 0)
        {
-               if (developer.integer >= 100)
+               if (developer.integer >= 1000)
                        Con_Printf ("SndSys_Write: audio write returned %ld (%s)!\n",
                                                 written, snd_strerror (written));
 
@@ -295,6 +295,11 @@ static snd_pcm_sframes_t SndSys_Write (const unsigned char* buffer, unsigned int
                                                         written, snd_strerror (written));
                }
        }
+       if (written > 0)
+       {
+               snd_renderbuffer->startframe += written;
+               expected_delay += written;
+       }
        
        return written;
 }
@@ -325,12 +330,7 @@ void SndSys_Submit (void)
        if (nbframes > limit)
        {
                written = SndSys_Write (&snd_renderbuffer->ring[startoffset * factor], limit);
-               if (written < 0)
-                       return;
-               snd_renderbuffer->startframe += written;
-               expected_delay += written;
-
-               if ((snd_pcm_uframes_t)written != limit)
+               if (written < 0 || (snd_pcm_uframes_t)written != limit)
                        return;
                
                nbframes -= limit;
@@ -340,9 +340,6 @@ void SndSys_Submit (void)
        written = SndSys_Write (&snd_renderbuffer->ring[startoffset * factor], nbframes);
        if (written < 0)
                return;
-
-       snd_renderbuffer->startframe += written;
-       expected_delay += written;
 }
 
 
@@ -364,7 +361,7 @@ unsigned int SndSys_GetSoundTime (void)
        err = snd_pcm_delay (pcm_handle, &delay);
        if (err != 0)
        {
-               if (developer.integer >= 100)
+               if (developer.integer >= 1000)
                        Con_DPrintf ("SndSys_GetSoundTime: can't get playback delay (%s)\n",
                                                 snd_strerror (err));