summaryrefslogtreecommitdiffstats
path: root/gst/avi/gstavidemux.c
diff options
context:
space:
mode:
Diffstat (limited to 'gst/avi/gstavidemux.c')
-rw-r--r--gst/avi/gstavidemux.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/gst/avi/gstavidemux.c b/gst/avi/gstavidemux.c
index db614654..f5cfa563 100644
--- a/gst/avi/gstavidemux.c
+++ b/gst/avi/gstavidemux.c
@@ -390,10 +390,8 @@ gst_avi_demux_handle_src_query (GstPad * pad, GstQuery * query)
switch (GST_QUERY_TYPE (query)) {
case GST_QUERY_POSITION:{
- gint64 len, pos = 0;
+ gint64 pos = 0;
- len = (((gfloat) stream->strh->scale) * stream->strh->length /
- stream->strh->rate) * GST_SECOND;
if (stream->strh->type == GST_RIFF_FCC_auds) {
if (!stream->strh->samplesize) {
pos = GST_SECOND * stream->current_frame *
@@ -422,7 +420,16 @@ gst_avi_demux_handle_src_query (GstPad * pad, GstQuery * query)
}
}
if (res)
- gst_query_set_position (query, GST_FORMAT_TIME, pos, len);
+ gst_query_set_position (query, GST_FORMAT_TIME, pos);
+ break;
+ }
+ case GST_QUERY_DURATION:
+ {
+ gint64 len;
+
+ len = (((gfloat) stream->strh->scale) * stream->strh->length /
+ stream->strh->rate) * GST_SECOND;
+ gst_query_set_duration (query, GST_FORMAT_TIME, len);
break;
}
default: