Initial sources of APS-direct.

git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/aps-direct@2434 74dad513-b988-da41-8d7b-12977e46ad98
diff --git a/build.symbian/bld.inf b/build.symbian/bld.inf
index b624905..4c9c13a 100644
--- a/build.symbian/bld.inf
+++ b/build.symbian/bld.inf
@@ -1,6 +1,3 @@
-#define SND_USE_NULL	0
-#define SND_USE_APS	0
-
 prj_platforms
 winscw
 //armv5
@@ -25,13 +22,7 @@
 libspeexcodec.mmp
 
 /* Sound device impl */
-#if SND_USE_NULL
-	null_audio.mmp
-#elif SND_USE_APS
-	symbian_audio_aps.mmp
-#else
-	symbian_audio.mmp
-#endif
+symbian_audio.mmp
 
 /* Applications */
 //pjlib_test.mmp
diff --git a/build.symbian/pjmedia.mmp b/build.symbian/pjmedia.mmp
index ce2d279..6c48b6c 100644
--- a/build.symbian/pjmedia.mmp
+++ b/build.symbian/pjmedia.mmp
@@ -40,6 +40,7 @@
 SOURCE		clock_thread.c
 SOURCE		codec.c
 SOURCE		conference.c
+SOURCE		conf_switch.c
 SOURCE		echo_common.c
 SOURCE		echo_port.c
 SOURCE		echo_suppress.c
diff --git a/build.symbian/symbian_audio.mmp b/build.symbian/symbian_audio.mmp
index 571b4b0..e53f4e8 100644
--- a/build.symbian/symbian_audio.mmp
+++ b/build.symbian/symbian_audio.mmp
@@ -24,22 +24,23 @@
 SOURCEPATH	..\pjmedia\src\pjmedia
 
 OPTION		CW -lang c++
-
-//
-// GCCE optimization setting
-//
 OPTION		GCCE -O2 -fno-unit-at-a-time
 
 MACRO		PJ_M_I386=1
 MACRO		PJ_SYMBIAN=1
 
+SOURCE		nullsound.c
 SOURCE		symbian_sound.cpp
+SOURCE		symbian_sound_aps.cpp
 
 SYSTEMINCLUDE	..\pjlib\include
 SYSTEMINCLUDE	..\pjmedia\include
 
 SYSTEMINCLUDE	\epoc32\include
 SYSTEMINCLUDE	\epoc32\include\libc
+SYSTEMINCLUDE   \epoc32\include\mmf\server 
+SYSTEMINCLUDE   \epoc32\include\mmf\common 
+SYSTEMINCLUDE   \epoc32\include\mda\common 
 
 SYSTEMINCLUDE	\epoc32\include\mmf\plugin 
 
diff --git a/build.symbian/symbian_ua.mmp b/build.symbian/symbian_ua.mmp
index 938b84d..5f7f1f8 100644
--- a/build.symbian/symbian_ua.mmp
+++ b/build.symbian/symbian_ua.mmp
@@ -1,63 +1,61 @@
-#define SND_USE_NULL	0

-#define SND_USE_APS	0

-

-TARGET 		symbian_ua.exe

-TARGETTYPE 	exe

-UID		0x0 0xA000000D

-

-SOURCEPATH	..\pjsip-apps\src\symbian_ua

-

-MACRO		PJ_M_I386=1

-MACRO		PJ_SYMBIAN=1

-

-// Source files

-

-SOURCE	ua.cpp

-SOURCE	main_symbian.cpp

-

-DOCUMENT ua.h

-

-START RESOURCE  symbian_ua_reg.rss

-	TARGETPATH      \private\10003a3f\apps

-END

-

-SYSTEMINCLUDE	..\pjlib\include

-SYSTEMINCLUDE	..\pjlib-util\include

-SYSTEMINCLUDE	..\pjnath\include

-SYSTEMINCLUDE	..\pjmedia\include

-SYSTEMINCLUDE	..\pjsip\include

-

-SYSTEMINCLUDE	\epoc32\include

-SYSTEMINCLUDE	\epoc32\include\libc

-

-STATICLIBRARY	pjsua_lib.lib pjsip_ua.lib

-STATICLIBRARY	pjsip_simple.lib pjsip.lib pjsdp.lib pjmedia.lib

-STATICLIBRARY	pjnath.lib pjlib_util.lib pjlib.lib

-STATICLIBRARY	libsrtp.lib

-STATICLIBRARY	libgsmcodec.lib libspeexcodec.lib

-

-#if SND_USE_NULL

-    STATICLIBRARY	null_audio.lib

-    CAPABILITY		NetworkServices LocalServices ReadUserData WriteUserData UserEnvironment 

-#elif SND_USE_APS

-    STATICLIBRARY	symbian_audio_aps.lib

-    LIBRARY		APSSession2.lib

-    CAPABILITY		NetworkServices LocalServices ReadUserData WriteUserData UserEnvironment MultimediaDD

-    MACRO		PJMEDIA_SYM_SND_USE_APS=1

-#else

-    STATICLIBRARY	symbian_audio.lib

-    LIBRARY 		mediaclientaudiostream.lib

-    LIBRARY 		mediaclientaudioinputstream.lib

-    CAPABILITY		NetworkServices LocalServices ReadUserData WriteUserData UserEnvironment 

-#endif

-

-#ifdef WINSCW

-	STATICLIBRARY   eexe.lib ecrt0.lib

-#endif

-

-LIBRARY		esock.lib insock.lib charconv.lib euser.lib estlib.lib commdb.lib apengine.lib 

-

-// The default 8KB seems to be insufficient with all bells and

-// whistles turned on

-EPOCSTACKSIZE	12288

-

+#define SND_USE_APS	1
+#define SND_USE_VAS	0
+
+TARGET 			symbian_ua.exe
+TARGETTYPE 		exe
+UID			0x0 0xA000000D
+
+SOURCEPATH		..\pjsip-apps\src\symbian_ua
+
+MACRO			PJ_M_I386=1
+MACRO			PJ_SYMBIAN=1
+
+// Source files
+
+SOURCE			ua.cpp
+SOURCE			main_symbian.cpp
+
+DOCUMENT 		ua.h
+
+START RESOURCE  	symbian_ua_reg.rss
+	TARGETPATH      \private\10003a3f\apps
+END
+
+SYSTEMINCLUDE		..\pjlib\include
+SYSTEMINCLUDE		..\pjlib-util\include
+SYSTEMINCLUDE		..\pjnath\include
+SYSTEMINCLUDE		..\pjmedia\include
+SYSTEMINCLUDE		..\pjsip\include
+
+SYSTEMINCLUDE		\epoc32\include
+SYSTEMINCLUDE		\epoc32\include\libc
+
+STATICLIBRARY		pjsua_lib.lib pjsip_ua.lib
+STATICLIBRARY		pjsip_simple.lib pjsip.lib pjsdp.lib pjmedia.lib
+STATICLIBRARY		pjnath.lib pjlib_util.lib pjlib.lib
+STATICLIBRARY		libsrtp.lib
+STATICLIBRARY		libgsmcodec.lib libspeexcodec.lib
+STATICLIBRARY		symbian_audio.lib
+
+#if SND_USE_APS
+	LIBRARY		APSSession2.lib
+	CAPABILITY	NetworkServices LocalServices ReadUserData WriteUserData UserEnvironment MultimediaDD
+#elif SND_USE_VAS
+//	LIBRARY		
+	CAPABILITY	NetworkServices LocalServices ReadUserData WriteUserData UserEnvironment MultimediaDD
+#else
+	LIBRARY 	mediaclientaudiostream.lib
+	LIBRARY 	mediaclientaudioinputstream.lib
+	CAPABILITY	NetworkServices LocalServices ReadUserData WriteUserData UserEnvironment
+#endif
+
+#ifdef WINSCW
+	STATICLIBRARY   eexe.lib ecrt0.lib
+#endif
+
+LIBRARY			esock.lib insock.lib charconv.lib euser.lib estlib.lib commdb.lib apengine.lib 
+
+// The default 8KB seems to be insufficient with all bells and
+// whistles turned on
+EPOCSTACKSIZE	12288
+
diff --git a/build.symbian/symsndtest.mmp b/build.symbian/symsndtest.mmp
index a08f1d8..470de9d 100644
--- a/build.symbian/symsndtest.mmp
+++ b/build.symbian/symsndtest.mmp
@@ -1,53 +1,45 @@
-#define SND_USE_NULL	0
-#define SND_USE_APS	0
+#define SND_USE_APS	1
+#define SND_USE_VAS	0
 
-TARGET 		symsndtest.exe
-TARGETTYPE 	exe
-UID		0x0 0xA000000E
+TARGET 			symsndtest.exe
+TARGETTYPE 		exe
+UID			0x0 0xA000000E
 
-SOURCEPATH	..\pjsip-apps\src\symsndtest
+SOURCEPATH		..\pjsip-apps\src\symsndtest
 
-MACRO		PJ_M_I386=1
-MACRO		PJ_SYMBIAN=1
+MACRO			PJ_M_I386=1
+MACRO			PJ_SYMBIAN=1
 
 // Test files
 
-SOURCE	app_main.cpp
-SOURCE	main_symbian.cpp
+SOURCE			app_main.cpp
+SOURCE			main_symbian.cpp
 
-START RESOURCE  symsndtest_reg.rss
+START RESOURCE  	symsndtest_reg.rss
 	TARGETPATH	\private\10003a3f\apps
 END
 
-SYSTEMINCLUDE	..\pjlib\include
-SYSTEMINCLUDE	..\pjmedia\include
+SYSTEMINCLUDE		..\pjlib\include
+SYSTEMINCLUDE		..\pjmedia\include
 
-SYSTEMINCLUDE	\epoc32\include
-SYSTEMINCLUDE	\epoc32\include\libc
+SYSTEMINCLUDE		\epoc32\include
+SYSTEMINCLUDE		\epoc32\include\libc
 
-LIBRARY		charconv.lib euser.lib estlib.lib
-LIBRARY		esock.lib insock.lib
-STATICLIBRARY	pjlib.lib pjmedia.lib
+LIBRARY			charconv.lib euser.lib estlib.lib
+LIBRARY			esock.lib insock.lib
+STATICLIBRARY		pjlib.lib pjmedia.lib
+STATICLIBRARY		symbian_audio.lib
 
-#if SND_USE_NULL
-    STATICLIBRARY	null_audio.lib
-    CAPABILITY		NetworkServices LocalServices ReadUserData WriteUserData UserEnvironment 
-#elif SND_USE_APS
-    SOURCEPATH                              ..\pjmedia\src\pjmedia 
-    SOURCE                                  symbian_sound_aps.cpp 
-
-    SYSTEMINCLUDE                           \epoc32\include\mmf\server 
-    SYSTEMINCLUDE                           \epoc32\include\mmf\common 
-    SYSTEMINCLUDE                           \epoc32\include\mda\common 
-
-    //STATICLIBRARY	symbian_audio_aps.lib
-    LIBRARY		APSSession2.lib
-    CAPABILITY		NetworkServices LocalServices ReadUserData WriteUserData UserEnvironment MultimediaDD
+#if SND_USE_APS
+	LIBRARY		APSSession2.lib
+	CAPABILITY	NetworkServices LocalServices ReadUserData WriteUserData UserEnvironment MultimediaDD
+#elif SND_USE_VAS
+//	LIBRARY		
+	CAPABILITY	NetworkServices LocalServices ReadUserData WriteUserData UserEnvironment MultimediaDD
 #else
-    STATICLIBRARY	symbian_audio.lib
-    LIBRARY 		mediaclientaudiostream.lib
-    LIBRARY 		mediaclientaudioinputstream.lib
-    CAPABILITY		NetworkServices LocalServices ReadUserData WriteUserData UserEnvironment 
+	LIBRARY 	mediaclientaudiostream.lib
+	LIBRARY 	mediaclientaudioinputstream.lib
+	CAPABILITY	NetworkServices LocalServices ReadUserData WriteUserData UserEnvironment
 #endif
 
 #ifdef WINSCW