diff --git a/ChangeLog b/ChangeLog index 3df6c333c1d..f125177d46b 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 f362c4a1a97..7b4ef94f458 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) {