mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-06-07 07:58:51 +00:00
speexdec: Use speex_stereo_state_init() instead of the deprecated initialization macro
Fixes bug #612777.
This commit is contained in:
parent
c69c5cb0d7
commit
fdc7b73675
2 changed files with 10 additions and 4 deletions
|
@ -151,6 +151,12 @@ gst_speex_dec_reset (GstSpeexDec * dec)
|
||||||
free (dec->header);
|
free (dec->header);
|
||||||
dec->header = NULL;
|
dec->header = NULL;
|
||||||
speex_bits_destroy (&dec->bits);
|
speex_bits_destroy (&dec->bits);
|
||||||
|
|
||||||
|
if (dec->stereo) {
|
||||||
|
speex_stereo_state_destroy (dec->stereo);
|
||||||
|
dec->stereo = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
if (dec->state) {
|
if (dec->state) {
|
||||||
speex_decoder_destroy (dec->state);
|
speex_decoder_destroy (dec->state);
|
||||||
dec->state = NULL;
|
dec->state = NULL;
|
||||||
|
@ -532,10 +538,10 @@ speex_dec_chain_parse_header (GstSpeexDec * dec, GstBuffer * buf)
|
||||||
speex_decoder_ctl (dec->state, SPEEX_GET_FRAME_SIZE, &dec->frame_size);
|
speex_decoder_ctl (dec->state, SPEEX_GET_FRAME_SIZE, &dec->frame_size);
|
||||||
|
|
||||||
if (dec->header->nb_channels != 1) {
|
if (dec->header->nb_channels != 1) {
|
||||||
|
dec->stereo = speex_stereo_state_init ();
|
||||||
dec->callback.callback_id = SPEEX_INBAND_STEREO;
|
dec->callback.callback_id = SPEEX_INBAND_STEREO;
|
||||||
dec->callback.func = speex_std_stereo_request_handler;
|
dec->callback.func = speex_std_stereo_request_handler;
|
||||||
dec->callback.data = &dec->stereo;
|
dec->callback.data = dec->stereo;
|
||||||
dec->stereo = (SpeexStereoState) SPEEX_STEREO_STATE_INIT;
|
|
||||||
speex_decoder_ctl (dec->state, SPEEX_SET_HANDLER, &dec->callback);
|
speex_decoder_ctl (dec->state, SPEEX_SET_HANDLER, &dec->callback);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -713,7 +719,7 @@ speex_dec_chain_parse_data (GstSpeexDec * dec, GstBuffer * buf,
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (dec->header->nb_channels == 2)
|
if (dec->header->nb_channels == 2)
|
||||||
speex_decode_stereo_int (out_data, dec->frame_size, &dec->stereo);
|
speex_decode_stereo_int (out_data, dec->frame_size, dec->stereo);
|
||||||
|
|
||||||
GST_BUFFER_TIMESTAMP (outbuf) = timestamp;
|
GST_BUFFER_TIMESTAMP (outbuf) = timestamp;
|
||||||
GST_BUFFER_DURATION (outbuf) = dec->frame_duration;
|
GST_BUFFER_DURATION (outbuf) = dec->frame_duration;
|
||||||
|
|
|
@ -53,7 +53,7 @@ struct _GstSpeexDec {
|
||||||
GstPad *srcpad;
|
GstPad *srcpad;
|
||||||
|
|
||||||
void *state;
|
void *state;
|
||||||
SpeexStereoState stereo;
|
SpeexStereoState *stereo;
|
||||||
#ifdef SPEEX_1_0
|
#ifdef SPEEX_1_0
|
||||||
SpeexMode *mode;
|
SpeexMode *mode;
|
||||||
#else
|
#else
|
||||||
|
|
Loading…
Reference in a new issue