From ba7ee6ae6cc73b5620b517e03ddac8a2b4badb90 Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Wed, 19 Oct 2005 15:57:04 +0000 Subject: API change fix. Original commit message from CVS: * ext/dv/gstdvdemux.c: (gst_dvdemux_get_src_query_types), (gst_dvdemux_src_query): * ext/flac/gstflacdec.c: (gst_flacdec_length), (gst_flacdec_src_query): * ext/raw1394/gstdv1394src.c: (gst_dv1394src_query): * ext/speex/gstspeexdec.c: (speex_dec_src_query): * gst/avi/gstavidemux.c: (gst_avi_demux_handle_src_query): * gst/debug/gstnavseek.c: (gst_navseek_seek): * gst/debug/progressreport.c: (gst_progress_report_report): * gst/matroska/ebml-read.c: (gst_ebml_read_get_length): * gst/matroska/matroska-demux.c: (gst_matroska_demux_handle_src_query): * gst/matroska/matroska-mux.c: (gst_matroska_mux_start): * gst/wavparse/gstwavparse.c: (gst_wavparse_handle_seek), (gst_wavparse_stream_headers), (gst_wavparse_stream_data), (gst_wavparse_pad_convert), (gst_wavparse_pad_query), (gst_wavparse_srcpad_event): API change fix. --- gst/wavparse/gstwavparse.c | 32 ++++++++++++++++++++++++++------ 1 file changed, 26 insertions(+), 6 deletions(-) (limited to 'gst/wavparse') diff --git a/gst/wavparse/gstwavparse.c b/gst/wavparse/gstwavparse.c index 19a7697d..af081a0e 100644 --- a/gst/wavparse/gstwavparse.c +++ b/gst/wavparse/gstwavparse.c @@ -1163,32 +1163,52 @@ gst_wavparse_pad_query (GstPad * pad, GstQuery * query) switch (GST_QUERY_TYPE (query)) { case GST_QUERY_POSITION: { - gint64 curb, endb; - gint64 cur, end; + gint64 curb; + gint64 cur; GstFormat format; gboolean res = TRUE; curb = wav->offset - wav->datastart; - endb = wav->datasize; - gst_query_parse_position (query, &format, NULL, NULL); + gst_query_parse_position (query, &format, NULL); switch (format) { case GST_FORMAT_TIME: res &= gst_wavparse_pad_convert (pad, GST_FORMAT_BYTES, curb, &format, &cur); + break; + default: + format = GST_FORMAT_BYTES; + cur = curb; + break; + } + if (res) + gst_query_set_position (query, format, cur); + break; + } + case GST_QUERY_DURATION: + { + gint64 endb; + gint64 end; + GstFormat format; + gboolean res = TRUE; + + endb = wav->datasize; + gst_query_parse_duration (query, &format, NULL); + + switch (format) { + case GST_FORMAT_TIME: res &= gst_wavparse_pad_convert (pad, GST_FORMAT_BYTES, endb, &format, &end); break; default: format = GST_FORMAT_BYTES; - cur = curb; end = endb; break; } if (res) - gst_query_set_position (query, format, cur, end); + gst_query_set_duration (query, format, end); break; } case GST_QUERY_CONVERT: -- cgit