The following diff is to fix the detection of the libgsm header in the
standard location. OpenBSD/FreeBSD/NetBSD only provide the header in
the standard location and are patching Libav/FFmpeg to allow the libgsm
to build. Some OS's based on Linux provide a symlink but when I looked
around almost all OS's provide the header in the standard location
(.e.g. PREFIX/include/gsm.h)


diff --git a/configure b/configure
index b4ffbe6..44b706e 100755
--- a/configure
+++ b/configure
@@ -1235,6 +1235,8 @@ HAVE_LIST="
     getservbyport
     gettimeofday
     gnu_as
+    gsm_h
+    gsm_gsm_h
     ibm_asm
     inet_aton
     io_h
@@ -3408,6 +3410,8 @@ check_header direct.h
 check_header dlfcn.h
 check_header dxva.h
 check_header dxva2api.h
+check_header gsm.h
+check_header gsm/gsm.h
 check_header io.h
 check_header malloc.h
 check_header poll.h
@@ -3474,7 +3478,9 @@ enabled gnutls     && require_pkg_config gnutls 
gnutls/gnutls.h gnutls_global_in
 enabled libfaac    && require2 libfaac "stdint.h faac.h" faacEncGetVersion 
-lfaac
 enabled libfdk_aac && require  libfdk_aac fdk-aac/aacenc_lib.h aacEncOpen 
-lfdk-aac
 enabled libfreetype && require_pkg_config freetype2 "ft2build.h 
freetype/freetype.h" FT_Init_FreeType
-enabled libgsm     && require  libgsm gsm/gsm.h gsm_create -lgsm
+enabled libgsm     && { { for gsm_hdr in "gsm.h" "gsm/gsm.h"; do
+                        check_lib "${gsm_hdr}" gsm_create -lgsm && break; done 
} ||
+                        die "ERROR: libgsm not found"; }
 enabled libilbc    && require  libilbc ilbc.h WebRtcIlbcfix_InitDecode -lilbc
 enabled libmp3lame && require  "libmp3lame >= 3.98.3" lame/lame.h 
lame_set_VBR_quality -lmp3lame
 enabled libopencore_amrnb  && require libopencore_amrnb 
opencore-amrnb/interf_dec.h Decoder_Interface_init -lopencore-amrnb
diff --git a/libavcodec/libgsm.c b/libavcodec/libgsm.c
index b4d1c74..a03b148 100644
--- a/libavcodec/libgsm.c
+++ b/libavcodec/libgsm.c
@@ -27,7 +27,12 @@
 
 // The idiosyncrasies of GSM-in-WAV are explained at 
http://kbs.cs.tu-berlin.de/~jutta/toast.html
 
+#include "config.h"
+#if HAVE_GSM_H
+#include <gsm.h>
+#else
 #include <gsm/gsm.h>
+#else
 
 #include "libavutil/channel_layout.h"
 #include "libavutil/common.h"

-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.

_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to