basesrc: Return values in stream time for the POSITION query
authorSebastian Dröge <sebastian.droege@collabora.co.uk>
Mon, 5 Jul 2010 17:33:01 +0000 (19:33 +0200)
committerSebastian Dröge <sebastian.droege@collabora.co.uk>
Fri, 16 Jul 2010 15:26:54 +0000 (17:26 +0200)
Fixes bug #623622.

libs/gst/base/gstbasesrc.c

index ec3ac3c..1555e88 100644 (file)
@@ -883,7 +883,9 @@ gst_base_src_default_query (GstBaseSrc * src, GstQuery * query)
           GstFormat seg_format;
 
           GST_OBJECT_LOCK (src);
-          position = src->segment.last_stop;
+          position =
+              gst_segment_to_stream_time (&src->segment, src->segment.format,
+              src->segment.last_stop);
           seg_format = src->segment.format;
           GST_OBJECT_UNLOCK (src);
 
@@ -990,6 +992,7 @@ gst_base_src_default_query (GstBaseSrc * src, GstQuery * query)
         if (stop != -1)
           stop -= src->segment.time;
       }
+
       gst_query_set_segment (query, src->segment.rate, src->segment.format,
           start, stop);
       GST_OBJECT_UNLOCK (src);