From 01e8718ad52ecae3ce3f790d3007d63bf1e5ab3c Mon Sep 17 00:00:00 2001
From: Jeremy McNamara <jj@nufone.net>
Date: Wed, 25 Jun 2003 06:48:08 +0000
Subject: [PATCH] Update to work around G.729 compile issues, for now

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1119 65c4cc65-6c06-0410-ace0-fbb531ad65f3
---
 channels/h323/Makefile     | 16 +++++++++++++---
 channels/h323/README       |  5 ++++-
 channels/h323/ast_h323.cpp |  2 ++
 channels/h323/chan_h323.c  |  2 +-
 4 files changed, 20 insertions(+), 5 deletions(-)

diff --git a/channels/h323/Makefile b/channels/h323/Makefile
index c7b7d13f37..56d8ec03d5 100755
--- a/channels/h323/Makefile
+++ b/channels/h323/Makefile
@@ -16,11 +16,21 @@ ifndef ASTETCDIR
 ASTETCDIR=/etc/asterisk
 endif
 
-CFLAGS += -DNDEBUG -DDO_CRASH -DDEBUG_THREADS
-CFLAGS  = -pipe -Wall -fPIC -Wmissing-prototypes -Wmissing-declarations 
-CFLAGS += -DP_LINUX  -D_REENTRANT -D_GNU_SOURCE
+#Uncomment if u want to attempt to include the G.729 stuff
+# This is a quick fix to work around the missing H323Capability
+# in Open H.323
+#
+#CFLAGS += -DWANT_G729
+#
 # This needs to be updated to deal with more than just little endian machines
+#
 CFLAGS += -march=$(shell uname -m) -DPBYTE_ORDER=PLITTLE_ENDIAN
+
+# Only change below if you know WTF your doing
+#
+CFLAGS += -DNDEBUG -DDO_CRASH -DDEBUG_THREADS
+CFLAGS += -pipe -Wall -fPIC -Wmissing-prototypes -Wmissing-declarations 
+CFLAGS += -DP_LINUX  -D_REENTRANT -D_GNU_SOURCE
 CFLAGS += -DP_HAS_SEMAPHORES -DP_SSL -DP_PTHREADS
 CFLAGS += -DPHAS_TEMPLATES -DPTRACING -DP_USE_PRAGMA 
 CFLAGS += -I$(PWLIBDIR)/include/ptlib/unix -I$(PWLIBDIR)/include 
diff --git a/channels/h323/README b/channels/h323/README
index 03374b8246..438067419d 100755
--- a/channels/h323/README
+++ b/channels/h323/README
@@ -29,7 +29,10 @@ Warning: Older versions than listed will NOT work, but newer  versions
 ~should~ work but are untested and you would be on your own. 
 
 As of June 16th, 2003 the release version of Open H.323 does not compile 
-due to the G729Capability is missing. 
+due to the G729Capability is missing. If you want G.729 support see
+the Makefile.  
+
+
 
 
 Most common compile error:  
diff --git a/channels/h323/ast_h323.cpp b/channels/h323/ast_h323.cpp
index efd3a9847d..15b7dbd8b1 100755
--- a/channels/h323/ast_h323.cpp
+++ b/channels/h323/ast_h323.cpp
@@ -776,10 +776,12 @@ int h323_set_capability(int cap, int dtmfMode)
 		endPoint->SetCapability(0, 0, new SpeexNarrow6AudioCapability());
 	}
 
+#if WANT_G729
 	if (cap & AST_FORMAT_G729A) {
 		H323_G729ACapability *g729aCap;
 		endPoint->SetCapability(0, 0, g729aCap = new H323_G729ACapability);
 	}
+#endif
 	
 	if (cap & AST_FORMAT_G723_1) {
 		H323_G7231Capability *g7231Cap;
diff --git a/channels/h323/chan_h323.c b/channels/h323/chan_h323.c
index 98b0069aa3..e044e2396a 100755
--- a/channels/h323/chan_h323.c
+++ b/channels/h323/chan_h323.c
@@ -1551,7 +1551,7 @@ int reload(void)
 	if (gatekeeper_disable == 0) {
 		if (h323_set_gk(gatekeeper_discover, gatekeeper, secret)) {
 			ast_log(LOG_ERROR, "Gatekeeper registration failed.\n");
-		//	h323_end_process();
+			h323_end_process();
 			return -1;
 		}
 	}
-- 
GitLab