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 1d74aa2..430d8f2 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)