summaryrefslogtreecommitdiff
path: root/ext/sbc
diff options
context:
space:
mode:
authorWim Taymans <wim.taymans@collabora.co.uk>2012-10-30 18:41:56 +0000
committerTim-Philipp Müller <tim@centricular.net>2013-03-27 22:21:17 +0000
commitdcb57780efb9d4b63f59f7404f37a1756d942bf3 (patch)
tree946c5a1c48275466921086ee78623bd8a7cb4986 /ext/sbc
parenta559bb7060a68dff1fcc2e99fc7c67149a570ec4 (diff)
downloadgstreamer-plugins-bad-dcb57780efb9d4b63f59f7404f37a1756d942bf3.tar.gz
sbc: sbcdec: skip the frame on decoding error
Diffstat (limited to 'ext/sbc')
-rw-r--r--ext/sbc/gstsbcdec.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/ext/sbc/gstsbcdec.c b/ext/sbc/gstsbcdec.c
index 98aa94b6f..808344617 100644
--- a/ext/sbc/gstsbcdec.c
+++ b/ext/sbc/gstsbcdec.c
@@ -108,8 +108,10 @@ sbc_dec_chain (GstPad * pad, GstBuffer * buffer)
GST_BUFFER_DATA (output), codesize, NULL);
GST_INFO_OBJECT (dec, "consumed %d bytes", consumed);
- if (consumed <= 0)
- break;
+ if (consumed <= 0) {
+ offset += sbc_get_frame_length (&dec->sbc);
+ continue;
+ }
rate = gst_sbc_parse_rate_from_sbc (dec->sbc.frequency);
channels = gst_sbc_get_channel_number (dec->sbc.mode);