gst/flv/gstflvdemux.c: Implement position query in time format.
authorSebastian Dröge <slomo@circular-chaos.org>
Tue, 28 Oct 2008 18:44:44 +0000 (18:44 +0000)
committerSebastian Dröge <slomo@circular-chaos.org>
Tue, 28 Oct 2008 18:44:44 +0000 (18:44 +0000)
Original commit message from CVS:
* gst/flv/gstflvdemux.c: (gst_flv_demux_query):
Implement position query in time format.

ChangeLog
gst/flv/gstflvdemux.c

index c61f287b5569ad32307df308f5a453a3ae696494..9d0b6b76f30b8132615c1566df282d97088b4860 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2008-10-28  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
+
+       * gst/flv/gstflvdemux.c: (gst_flv_demux_query):
+       Implement position query in time format.
+
 2008-10-28  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
 
        * gst/flv/gstflvdemux.c: (gst_flv_demux_cleanup),
index a080c7b2b89f2688cb579fd16f32c2ea2affdf85..9e1e62f2d4359ba991b96773704af7ac6e99904a 100644 (file)
@@ -1036,6 +1036,28 @@ gst_flv_demux_query (GstPad * pad, GstQuery * query)
 
       break;
     }
+    case GST_QUERY_POSITION:
+    {
+      GstFormat format;
+
+      gst_query_parse_position (query, &format, NULL);
+
+      /* position is time only */
+      if (format != GST_FORMAT_TIME) {
+        GST_DEBUG_OBJECT (demux, "position query only supported for time "
+            "format");
+        res = FALSE;
+        goto beach;
+      }
+
+      GST_DEBUG_OBJECT (pad, "position query, replying %" GST_TIME_FORMAT,
+          GST_TIME_ARGS (demux->segment.last_stop));
+
+      gst_query_set_duration (query, GST_FORMAT_TIME, demux->segment.last_stop);
+
+      break;
+    }
+
     case GST_QUERY_LATENCY:
     default:
     {