diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | gst/flv/gstflvdemux.c | 22 |
2 files changed, 27 insertions, 0 deletions
@@ -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: { |