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. --- ext/flac/gstflacdec.c | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) (limited to 'ext/flac') diff --git a/ext/flac/gstflacdec.c b/ext/flac/gstflacdec.c index 3079c880..c609e2e5 100644 --- a/ext/flac/gstflacdec.c +++ b/ext/flac/gstflacdec.c @@ -359,7 +359,7 @@ gst_flacdec_length (const FLAC__SeekableStreamDecoder * decoder, if (!(peer = gst_pad_get_peer (flacdec->sinkpad))) return FLAC__SEEKABLE_STREAM_DECODER_TELL_STATUS_ERROR; - gst_pad_query_position (peer, &fmt, NULL, &len); + gst_pad_query_duration (peer, &fmt, &len); gst_object_unref (peer); if (fmt != GST_FORMAT_BYTES || len == -1) return FLAC__SEEKABLE_STREAM_DECODER_TELL_STATUS_ERROR; @@ -706,20 +706,30 @@ gst_flacdec_src_query (GstPad * pad, GstQuery * query) switch (GST_QUERY_TYPE (query)) { case GST_QUERY_POSITION:{ - gint64 len, pos; + gint64 pos; + GstFormat fmt = GST_FORMAT_TIME; + + pos = flacdec->total_samples; + + if (gst_flacdec_convert_src (flacdec->srcpad, + GST_FORMAT_DEFAULT, pos, &fmt, &pos)) + gst_query_set_position (query, GST_FORMAT_TIME, pos); + else + res = FALSE; + break; + } + case GST_QUERY_DURATION:{ + gint64 len; GstFormat fmt = GST_FORMAT_TIME; if (flacdec->stream_samples == 0) len = flacdec->total_samples; else len = flacdec->stream_samples; - pos = flacdec->total_samples; if (gst_flacdec_convert_src (flacdec->srcpad, - GST_FORMAT_DEFAULT, len, &fmt, &len) && - gst_flacdec_convert_src (flacdec->srcpad, - GST_FORMAT_DEFAULT, pos, &fmt, &pos)) - gst_query_set_position (query, GST_FORMAT_TIME, pos, len); + GST_FORMAT_DEFAULT, len, &fmt, &len)) + gst_query_set_duration (query, GST_FORMAT_TIME, len); else res = FALSE; break; -- cgit