From f7d63a74e07e66b6871a6ae09b6de58ff625dbc6 Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Wed, 19 Oct 2005 15:58:01 +0000 Subject: gst/: API change fix. Original commit message from CVS: * gst/qtdemux/qtdemux.c: (gst_qtdemux_get_src_query_types), (gst_qtdemux_handle_src_query): * gst/speed/gstspeed.c: (speed_get_query_types), (speed_src_query): * gst/tta/gstttaparse.c: (gst_tta_parse_src_event), (gst_tta_parse_get_query_types), (gst_tta_parse_query): API change fix. --- gst/tta/gstttaparse.c | 25 +++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) (limited to 'gst/tta/gstttaparse.c') diff --git a/gst/tta/gstttaparse.c b/gst/tta/gstttaparse.c index f6845a68..223b6657 100644 --- a/gst/tta/gstttaparse.c +++ b/gst/tta/gstttaparse.c @@ -238,6 +238,7 @@ gst_tta_parse_get_query_types (GstPad * pad) { static const GstQueryType types[] = { GST_QUERY_POSITION, + GST_QUERY_DURATION, 0 }; @@ -253,23 +254,39 @@ gst_tta_parse_query (GstPad * pad, GstQuery * query) case GST_QUERY_POSITION: { GstFormat format; - gint64 cur, end; + gint64 cur; - gst_query_parse_position (query, &format, NULL, NULL); + gst_query_parse_position (query, &format, NULL); switch (format) { case GST_FORMAT_TIME: cur = ttaparse->index[ttaparse->current_frame].time; + break; + default: + format = GST_FORMAT_BYTES; + cur = ttaparse->index[ttaparse->current_frame].pos; + break; + } + gst_query_set_position (query, format, cur); + break; + } + case GST_QUERY_DURATION: + { + GstFormat format; + gint64 end; + + gst_query_parse_duration (query, &format, NULL); + switch (format) { + case GST_FORMAT_TIME: end = ((gdouble) ttaparse->data_length / (gdouble) ttaparse->samplerate) * GST_SECOND; break; default: format = GST_FORMAT_BYTES; - cur = ttaparse->index[ttaparse->current_frame].pos; end = ttaparse->index[ttaparse->num_frames].pos + ttaparse->index[ttaparse->num_frames].size; break; } - gst_query_set_position (query, format, cur, end); + gst_query_set_duration (query, format, end); break; } default: -- cgit v1.2.1