fix wrong offsets
authorThomas Vander Stichele <thomas@apestaart.org>
Fri, 25 Jun 2004 18:50:31 +0000 (18:50 +0000)
committerThomas Vander Stichele <thomas@apestaart.org>
Fri, 25 Jun 2004 18:50:31 +0000 (18:50 +0000)
Original commit message from CVS:
fix wrong offsets

ChangeLog
gst/sine/gstsinesrc.c

index bef0efd..ec8cefc 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
 2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
 
+       * gst/sine/gstsinesrc.c: (gst_sinesrc_get):
+          fix wrong offsets
+
+2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
+
        * ext/alsa/gstalsasrc.c: (gst_alsa_src_init),
        (gst_alsa_src_get_time), (gst_alsa_src_loop),
        (gst_alsa_src_change_state):
index 668716c..7d6a9c7 100644 (file)
@@ -351,7 +351,9 @@ gst_sinesrc_get (GstPad * pad)
       gst_element_wait (GST_ELEMENT (src), GST_BUFFER_TIMESTAMP (buf));
     }
   }
+  /* offset is the number of samples */
   GST_BUFFER_OFFSET (buf) = src->offset;
+  GST_BUFFER_OFFSET_END (buf) = src->offset + src->samples_per_buffer;
   GST_BUFFER_DURATION (buf) = tdiff;
 
   samples = (gint16 *) GST_BUFFER_DATA (buf);
@@ -359,7 +361,7 @@ gst_sinesrc_get (GstPad * pad)
   GST_DPMAN_PREPROCESS (src->dpman, src->samples_per_buffer, src->timestamp);
 
   src->timestamp += tdiff;
-  src->offset += GST_BUFFER_SIZE (buf);
+  src->offset += src->samples_per_buffer;
 
   while (GST_DPMAN_PROCESS (src->dpman, i)) {
 #if 0