From 9a1ce099b7f02274efe09887a00a1b21a83be27f Mon Sep 17 00:00:00 2001 From: "Ronald S. Bultje" Date: Mon, 25 Oct 2004 09:56:12 +0000 Subject: [PATCH] ext/speex/gstspeexdec.c: sinkconvert function so oggdemux can get the file length (totem). Original commit message from CVS: * ext/speex/gstspeexdec.c: (gst_speex_dec_init), (speex_dec_convert): sinkconvert function so oggdemux can get the file length (totem). --- ChangeLog | 6 ++++++ ext/speex/gstspeexdec.c | 5 +++++ 2 files changed, 11 insertions(+) diff --git a/ChangeLog b/ChangeLog index 3df6c333c1..f125177d46 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2004-10-25 Ronald S. Bultje + + * ext/speex/gstspeexdec.c: (gst_speex_dec_init), + (speex_dec_convert): + sinkconvert function so oggdemux can get the file length (totem). + 2004-10-25 James Morrison Reviewd by: Ronald S. Bultje diff --git a/ext/speex/gstspeexdec.c b/ext/speex/gstspeexdec.c index f362c4a1a9..7b4ef94f45 100644 --- a/ext/speex/gstspeexdec.c +++ b/ext/speex/gstspeexdec.c @@ -170,6 +170,7 @@ gst_speex_dec_init (GstSpeexDec * dec) (&speex_dec_sink_factory), "sink"); gst_pad_set_chain_function (dec->sinkpad, speex_dec_chain); gst_pad_set_formats_function (dec->sinkpad, speex_dec_get_formats); + gst_pad_set_convert_function (dec->sinkpad, speex_dec_convert); gst_element_add_pad (GST_ELEMENT (dec), dec->sinkpad); dec->srcpad = @@ -203,6 +204,10 @@ speex_dec_convert (GstPad * pad, if (dec->packetno < 1) return FALSE; + if (pad == dec->sinkpad && + (src_format == GST_FORMAT_BYTES || *dest_format == GST_FORMAT_BYTES)) + return FALSE; + switch (src_format) { case GST_FORMAT_TIME: switch (*dest_format) {