[libav-devel] [PATCH] libspeexenc: Use speex_lib_get_mode instead of the speex_foo_mode data symbols

Luca Barbato lu_zero at gentoo.org
Fri Nov 3 12:30:57 CET 2017


On 03/11/2017 11:05, Martin Storsjö wrote:
> This avoids issues linking to a DLL version of libspeex, since the
> libspeex headers lack proper dllimport declarations for the data
> symbols.
> 
> This isn't an issue when building with mingw with GNU binutils, since
> GNU ld can fix up that kind of data import automatically.
> ---
>   libavcodec/libspeexenc.c | 6 +++---
>   1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/libavcodec/libspeexenc.c b/libavcodec/libspeexenc.c
> index f3a31e9879..eb02e8ec6d 100644
> --- a/libavcodec/libspeexenc.c
> +++ b/libavcodec/libspeexenc.c
> @@ -158,9 +158,9 @@ static av_cold int encode_init(AVCodecContext *avctx)
>   
>       /* sample rate and encoding mode */
>       switch (avctx->sample_rate) {
> -    case  8000: mode = &speex_nb_mode;  break;
> -    case 16000: mode = &speex_wb_mode;  break;
> -    case 32000: mode = &speex_uwb_mode; break;
> +    case  8000: mode = speex_lib_get_mode(SPEEX_MODEID_NB);  break;
> +    case 16000: mode = speex_lib_get_mode(SPEEX_MODEID_WB);  break;
> +    case 32000: mode = speex_lib_get_mode(SPEEX_MODEID_UWB); break;
>       default:
>           av_log(avctx, AV_LOG_ERROR, "Sample rate of %d Hz is not supported. "
>                  "Resample to 8, 16, or 32 kHz.\n", avctx->sample_rate);
> 

Ok.


More information about the libav-devel mailing list