summaryrefslogtreecommitdiffstats
path: root/ext
diff options
context:
space:
mode:
Diffstat (limited to 'ext')
-rw-r--r--ext/speex/gstspeexdec.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/ext/speex/gstspeexdec.c b/ext/speex/gstspeexdec.c
index f362c4a1..7b4ef94f 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) {