Fix memory leak in btr_splice_out_node().
[paraslash.git] / spx_common.c
index ce01e23..f770be7 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * Copyright (C) 2002-2006 Jean-Marc Valin
- * Copyright (C) 2010 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2010-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
@@ -60,7 +60,7 @@
  *
  * \return Standard.
  */
-int spx_ctl(void *state, int request, void *ptr)
+static int spx_ctl(void *state, int request, void *ptr)
 {
        int ret = speex_decoder_ctl(state, request, ptr);
 
@@ -120,12 +120,12 @@ int spx_process_header(unsigned char *packet, long bytes,
        shi->nframes = h->frames_per_packet;
        shi->channels = h->nb_channels;
        if (shi->channels != 1) {
-               shi->stereo = (SpeexStereoState)SPEEX_STEREO_STATE_INIT;
                SpeexCallback callback = {
                        .callback_id = SPEEX_INBAND_STEREO,
                        .func = speex_std_stereo_request_handler,
                        .data = &shi->stereo,
                };
+               shi->stereo = (SpeexStereoState)SPEEX_STEREO_STATE_INIT;
                ret = spx_ctl(shi->state, SPEEX_SET_HANDLER, &callback);
                if (ret < 0)
                        goto out;