From 3018802bda71918565ef78a33a435022c61fd91d Mon Sep 17 00:00:00 2001 From: =?utf8?q?Sebastian=20Dr=C3=B6ge?= Date: Mon, 5 Jul 2010 09:47:38 +0200 Subject: [PATCH] celt: Fix compilation with celt 0.8 Fixes bug #623550. --- ext/celt/gstceltdec.c | 8 ++++++++ ext/celt/gstceltenc.c | 14 ++++++++++++-- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/ext/celt/gstceltdec.c b/ext/celt/gstceltdec.c index 8db4466..2845793 100644 --- a/ext/celt/gstceltdec.c +++ b/ext/celt/gstceltdec.c @@ -518,7 +518,11 @@ celt_dec_chain_parse_header (GstCeltDec * dec, GstBuffer * buf) if (!dec->state) goto init_failed; +#ifdef HAVE_CELT_0_8 + dec->frame_size = dec->header.frame_size; +#else celt_mode_info (dec->mode, CELT_GET_FRAME_SIZE, &dec->frame_size); +#endif dec->frame_duration = gst_util_uint64_scale_int (dec->frame_size, GST_SECOND, dec->header.sample_rate); @@ -672,7 +676,11 @@ celt_dec_chain_parse_data (GstCeltDec * dec, GstBuffer * buf, GST_LOG_OBJECT (dec, "decoding frame"); +#ifdef HAVE_CELT_0_8 + error = celt_decode (dec->state, data, size, out_data, dec->frame_size); +#else error = celt_decode (dec->state, data, size, out_data); +#endif if (error != CELT_OK) { GST_WARNING_OBJECT (dec, "Decoding error: %d", error); return GST_FLOW_ERROR; diff --git a/ext/celt/gstceltenc.c b/ext/celt/gstceltenc.c index 6324f3c..f134cf4 100644 --- a/ext/celt/gstceltenc.c +++ b/ext/celt/gstceltenc.c @@ -594,8 +594,6 @@ gst_celt_enc_setup (GstCeltEnc * enc) if (!enc->mode) goto mode_initialization_failed; - celt_mode_info (enc->mode, CELT_GET_FRAME_SIZE, &enc->frame_size); - #ifdef HAVE_CELT_0_7 celt_header_init (&enc->header, enc->mode, enc->channels); #else @@ -603,6 +601,12 @@ gst_celt_enc_setup (GstCeltEnc * enc) #endif enc->header.nb_channels = enc->channels; +#ifdef HAVE_CELT_0_8 + enc->frame_size = enc->header.frame_size; +#else + celt_mode_info (enc->mode, CELT_GET_FRAME_SIZE, &enc->frame_size); +#endif + #ifdef HAVE_CELT_0_7 enc->state = celt_encoder_create (enc->mode, enc->channels, &error); #else @@ -789,6 +793,11 @@ gst_celt_enc_encode (GstCeltEnc * enc, gboolean flush) GST_DEBUG_OBJECT (enc, "encoding %d samples (%d bytes)", frame_size, bytes); +#ifdef HAVE_CELT_0_8 + outsize = + celt_encode (enc->state, data, frame_size, + GST_BUFFER_DATA (outbuf), bytes_per_packet); +#else #ifdef HAVE_CELT_0_5 outsize = celt_encode (enc->state, data, NULL, @@ -798,6 +807,7 @@ gst_celt_enc_encode (GstCeltEnc * enc, gboolean flush) celt_encode (enc->state, data, GST_BUFFER_DATA (outbuf), bytes_per_packet); #endif +#endif g_free (data); -- 2.7.4