summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--gst/flv/gstflvdemux.c22
2 files changed, 27 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index c61f287b..9d0b6b76 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
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),
(gst_flv_demux_loop), (gst_flv_demux_handle_seek_push),
(gst_flv_demux_handle_seek_pull), (gst_flv_demux_sink_event),
diff --git a/gst/flv/gstflvdemux.c b/gst/flv/gstflvdemux.c
index a080c7b2..9e1e62f2 100644
--- a/gst/flv/gstflvdemux.c
+++ b/gst/flv/gstflvdemux.c
@@ -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:
{