pulsesink: Wait until there is enough room to write an entire segment
authorJan Schmidt <thaytan@noraisin.net>
Fri, 13 Mar 2009 15:40:50 +0000 (15:40 +0000)
committerJan Schmidt <thaytan@noraisin.net>
Fri, 13 Mar 2009 15:40:50 +0000 (15:40 +0000)
When trying to write out a segment, wait until there is enough free space
for the entire segment. This helps to reduce ripple in the clock reporting,
where the app might query the playback position while only half a segment
has been written (and is therefore reported by _delay(), even though
the ring buffer has not yet been advanced)

ext/pulse/pulsesink.c

index 1d74aa23164912d1d63858532843ad9f8afc5955..430d8f29e3da51b70c9d1555751e9ad42244299e 100644 (file)
@@ -896,7 +896,7 @@ gst_pulsesink_write (GstAudioSink * asink, gpointer data, guint length)
         goto unlock_and_fail;
       }
 
-      if (l > 0)
+      if (l >= length)
         break;
 
       if (pulsesink->did_reset)