summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnanda <ananda@latelier23.com>2014-10-22 15:28:44 +0200
committerSebastian Dröge <sebastian@centricular.com>2014-10-23 10:30:26 +0200
commitec3af50cc26be86e36368f328d5ef489a3bc1dc9 (patch)
tree3dca1a4b49f30ebeb6af34905ee2877a0c350381
parent163155715fab4a76c28a8f1f830cc43f437fa8ba (diff)
speex: Fix segfault when resetting the codecs multiple times
https://bugzilla.gnome.org/show_bug.cgi?id=738793
-rw-r--r--ext/speex/gstspeexdec.c1
-rw-r--r--ext/speex/gstspeexenc.c1
2 files changed, 2 insertions, 0 deletions
diff --git a/ext/speex/gstspeexdec.c b/ext/speex/gstspeexdec.c
index 9b62ebe72..587255d7b 100644
--- a/ext/speex/gstspeexdec.c
+++ b/ext/speex/gstspeexdec.c
@@ -136,6 +136,7 @@ gst_speex_dec_reset (GstSpeexDec * dec)
free (dec->header);
dec->header = NULL;
speex_bits_destroy (&dec->bits);
+ speex_bits_set_bit_buffer (&dec->bits, NULL, 0);
gst_buffer_replace (&dec->streamheader, NULL);
gst_buffer_replace (&dec->vorbiscomment, NULL);
diff --git a/ext/speex/gstspeexenc.c b/ext/speex/gstspeexenc.c
index fce07962a..52b97ca15 100644
--- a/ext/speex/gstspeexenc.c
+++ b/ext/speex/gstspeexenc.c
@@ -269,6 +269,7 @@ gst_speex_enc_stop (GstAudioEncoder * benc)
enc->state = NULL;
}
speex_bits_destroy (&enc->bits);
+ speex_bits_set_bit_buffer (&enc->bits, NULL, 0);
gst_tag_list_unref (enc->tags);
enc->tags = NULL;