- Make _tell more accurate
authorWim Taymans <wim.taymans@gmail.com>
Mon, 20 Jan 2003 22:32:56 +0000 (22:32 +0000)
committerWim Taymans <wim.taymans@gmail.com>
Mon, 20 Jan 2003 22:32:56 +0000 (22:32 +0000)
Original commit message from CVS:
- Make _tell more accurate

libs/gst/bytestream/bytestream.c

index 129543a..04d7bcc 100644 (file)
@@ -239,9 +239,9 @@ gst_bytestream_peek (GstByteStream *bs, GstBuffer **buf, guint32 len)
   /* make sure we have enough */
   bs_print ("peek: there are %d bytes in the list", bs->listavail);
   if (len > bs->listavail) {
-    if (!gst_bytestream_fill_bytes (bs, len)){
+    if (!gst_bytestream_fill_bytes (bs, len)) {
       /* we must have an event coming up */
-      if (bs->listavail > 0){
+      if (bs->listavail > 0) {
         /* we have some data left, len will be shrunk to the amount of data available */
         len = bs->listavail;
       }
@@ -492,8 +492,9 @@ gst_bytestream_tell (GstByteStream *bs)
 
   format = GST_FORMAT_BYTES;
 
-  if (gst_pad_query (GST_PAD_PEER (bs->pad), GST_QUERY_POSITION, &format, &value)) 
-    return value;
+  if (gst_pad_query (GST_PAD_PEER (bs->pad), GST_QUERY_POSITION, &format, &value)) {
+    return value - bs->listavail;
+  }
   
   return -1;
 }