pulsesink: fix sample offset calculation again
authorWim Taymans <wim.taymans@collabora.co.uk>
Thu, 16 Apr 2009 20:50:59 +0000 (22:50 +0200)
committerWim Taymans <wim@metal.(none)>
Thu, 16 Apr 2009 20:51:54 +0000 (22:51 +0200)
ext/pulse/pulsesink.c

index 8f8805f6e27a06436257189c45c583c59f17403e..23b69be6f1f6682fd888137096cd1e54caab70e6 100644 (file)
@@ -999,7 +999,8 @@ gst_pulseringbuffer_commit (GstRingBuffer * buf, guint64 * sample,
     else
       offset = 0;
   }
-  offset = *sample * bps;
+  /* offset is in bytes */
+  offset *= bps;
 
   while (*toprocess > 0) {
     size_t avail;
@@ -1088,7 +1089,7 @@ gst_pulseringbuffer_commit (GstRingBuffer * buf, guint64 * sample,
       avail = towrite / bps;
     }
     *sample += avail;
-    offset = *sample * bps;
+    offset += avail * bps;
 
     /* check if we need to uncork after writing the samples */
     if (pbuf->corked) {