summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenny Prijono <bennylp@teluu.com>2007-05-02 18:54:19 +0000
committerBenny Prijono <bennylp@teluu.com>2007-05-02 18:54:19 +0000
commitfaede3bfd55af757bd3b76b075d435d6b31b2c0f (patch)
treebadc8973453990054ecbc923e5c80cc23f628d6b
parent4b5a9b5ec7f7dd042d7fb40bccdf4ee44d28122b (diff)
Errno and memory size tweaking for Symbian
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@1244 74dad513-b988-da41-8d7b-12977e46ad98
-rw-r--r--build.symbian/00.bat2
-rw-r--r--build.symbian/01.bat2
-rw-r--r--build.symbian/pjlib.mmp54
-rw-r--r--build.symbian/pjlib_util.mmp32
-rw-r--r--build.symbian/pjnath.mmp20
-rw-r--r--build.symbian/pjproject.cww200
-rw-r--r--pjlib/include/pj/compat/os_symbian.h1
-rw-r--r--pjlib/include/pj/config.h8
-rw-r--r--pjlib/include/pj/config_site_sample.h23
-rw-r--r--pjlib/include/pj/errno.h12
-rw-r--r--pjlib/src/pj/ioqueue_symbian.cpp59
-rw-r--r--pjlib/src/pj/sock_symbian.cpp3
-rw-r--r--pjmedia/src/pjmedia/nullsound.c2
-rw-r--r--pjsip-apps/src/symbian_ua/main_symbian.cpp47
-rw-r--r--pjsip-apps/src/symbian_ua/ua.cpp3
-rw-r--r--pjsip/include/pjsip/sip_config.h98
16 files changed, 337 insertions, 229 deletions
diff --git a/build.symbian/00.bat b/build.symbian/00.bat
index 4889059f..908c635b 100644
--- a/build.symbian/00.bat
+++ b/build.symbian/00.bat
@@ -1,5 +1,5 @@
rem set MWSym2Libraries=1
-set EPOCROOT=\Symbian\9.1\S60_3rd\
+rem set EPOCROOT=\Symbian\9.1\S60_3rd\
rem set EPOCROOT=\Symbian\9.1\S60_3rd_MR_2\
rem set EPOCROOT=\Symbian\UIQ3SDK\
bldmake bldfiles
diff --git a/build.symbian/01.bat b/build.symbian/01.bat
index 2542ced9..6a3f0a3e 100644
--- a/build.symbian/01.bat
+++ b/build.symbian/01.bat
@@ -1,6 +1,6 @@
rem set MWSym2Libraries=1
rem set MWSym2Libraries=\Symbian\9.1\S60_3rd\Epoc32\release\winscw\udeb
-set EPOCROOT=\Symbian\9.1\S60_3rd\
+rem set EPOCROOT=\Symbian\9.1\S60_3rd\
rem set EPOCROOT=\Symbian\9.1\S60_3rd_MR_2\
call abld build -v vs6 udeb
diff --git a/build.symbian/pjlib.mmp b/build.symbian/pjlib.mmp
index 94b3951f..1e52ba4f 100644
--- a/build.symbian/pjlib.mmp
+++ b/build.symbian/pjlib.mmp
@@ -58,35 +58,35 @@ SOURCE unicode_symbian.cpp
DOCUMENT os_symbian.h
-DOCUMENT pj\\addr_resolv.h
-DOCUMENT pj\\array.h
-DOCUMENT pj\\assert.h
-DOCUMENT pj\\config.h
-DOCUMENT pj\\config_site.h
-DOCUMENT pj\\config_site_sample.h
-DOCUMENT pj\\ctype.h
-DOCUMENT pj\\errno.h
-DOCUMENT pj\\except.h
-DOCUMENT pj\\file_access.h
-DOCUMENT pj\\file_io.h
-DOCUMENT pj\\guid.h
-DOCUMENT pj\\hash.h
-DOCUMENT pj\\ioqueue.h
-DOCUMENT pj\\ip_helper.h
-DOCUMENT pj\\list.h
-DOCUMENT pj\\lock.h
-DOCUMENT pj\\log.h
-DOCUMENT pj\\os.h
+DOCUMENT pj\addr_resolv.h
+DOCUMENT pj\array.h
+DOCUMENT pj\assert.h
+DOCUMENT pj\config.h
+DOCUMENT pj\config_site.h
+//DOCUMENT pj\config_site_sample.h
+DOCUMENT pj\ctype.h
+DOCUMENT pj\errno.h
+DOCUMENT pj\except.h
+DOCUMENT pj\file_access.h
+DOCUMENT pj\file_io.h
+DOCUMENT pj\guid.h
+DOCUMENT pj\hash.h
+DOCUMENT pj\ioqueue.h
+DOCUMENT pj\ip_helper.h
+DOCUMENT pj\list.h
+DOCUMENT pj\lock.h
+DOCUMENT pj\log.h
+DOCUMENT pj\os.h
DOCUMENT pj\\pool.h
DOCUMENT pj\\pool_buf.h
-DOCUMENT pj\\rand.h
-DOCUMENT pj\\rbtree.h
-DOCUMENT pj\\sock.h
-DOCUMENT pj\\sock_select.h
-DOCUMENT pj\\string.h
-DOCUMENT pj\\timer.h
-DOCUMENT pj\\types.h
-DOCUMENT pj\\unicode.h
+DOCUMENT pj\rand.h
+DOCUMENT pj\rbtree.h
+DOCUMENT pj\sock.h
+DOCUMENT pj\sock_select.h
+DOCUMENT pj\string.h
+DOCUMENT pj\timer.h
+DOCUMENT pj\types.h
+DOCUMENT pj\unicode.h
SYSTEMINCLUDE ..\pjlib\include
diff --git a/build.symbian/pjlib_util.mmp b/build.symbian/pjlib_util.mmp
index 870dfbc6..9315d730 100644
--- a/build.symbian/pjlib_util.mmp
+++ b/build.symbian/pjlib_util.mmp
@@ -33,22 +33,22 @@ SOURCE xml.c
//
// Header files
//
-DOCUMENT pjlib-util\\config.h
-DOCUMENT pjlib-util\\crc32.h
-DOCUMENT pjlib-util\\dns.h
-DOCUMENT pjlib-util\\errno.h
-DOCUMENT pjlib-util\\getopt.h
-DOCUMENT pjlib-util\\hmac_md5.h
-DOCUMENT pjlib-util\hmac_sha1.h
-DOCUMENT pjlib-util\md5.h
-DOCUMENT pjlib-util\resolver.h
-DOCUMENT pjlib-util\scanner.h
-DOCUMENT pjlib-util\sha1.h
-DOCUMENT pjlib-util\srv_resolver.h
-DOCUMENT pjlib-util\string.h
-DOCUMENT pjlib-util\stun_simple.h
-DOCUMENT pjlib-util\types.h
-DOCUMENT pjlib-util\xml.h
+//DOCUMENT pjlib-util\\config.h
+//DOCUMENT pjlib-util\\crc32.h
+//DOCUMENT pjlib-util\\dns.h
+//DOCUMENT pjlib-util\\errno.h
+//DOCUMENT pjlib-util\\getopt.h
+//DOCUMENT pjlib-util\\hmac_md5.h
+//DOCUMENT pjlib-util\hmac_sha1.h
+//DOCUMENT pjlib-util\md5.h
+//DOCUMENT pjlib-util\resolver.h
+//DOCUMENT pjlib-util\scanner.h
+//DOCUMENT pjlib-util\sha1.h
+//DOCUMENT pjlib-util\srv_resolver.h
+//DOCUMENT pjlib-util\string.h
+//DOCUMENT pjlib-util\stun_simple.h
+//DOCUMENT pjlib-util\types.h
+//DOCUMENT pjlib-util\xml.h
SYSTEMINCLUDE ..\pjlib\include
diff --git a/build.symbian/pjnath.mmp b/build.symbian/pjnath.mmp
index 44ef14b6..8e648dd6 100644
--- a/build.symbian/pjnath.mmp
+++ b/build.symbian/pjnath.mmp
@@ -25,16 +25,16 @@ SOURCE stun_transaction.c
//
// Include files
//
-DOCUMENT pjnath\config.h
-DOCUMENT pjnath\\errno.h
-DOCUMENT pjnath\\ice_session.h
-DOCUMENT pjnath\\ice_strans.h
-DOCUMENT pjnath\\stun_auth.h
-DOCUMENT pjnath\\stun_config.h
-DOCUMENT pjnath\\stun_msg.h
-DOCUMENT pjnath\\stun_session.h
-DOCUMENT pjnath\\stun_transaction.h
-DOCUMENT pjnath\\types.h
+//DOCUMENT pjnath\config.h
+//DOCUMENT pjnath\\errno.h
+//DOCUMENT pjnath\\ice_session.h
+//DOCUMENT pjnath\\ice_strans.h
+//DOCUMENT pjnath\\stun_auth.h
+//DOCUMENT pjnath\\stun_config.h
+//DOCUMENT pjnath\\stun_msg.h
+//DOCUMENT pjnath\\stun_session.h
+//DOCUMENT pjnath\\stun_transaction.h
+//DOCUMENT pjnath\\types.h
diff --git a/build.symbian/pjproject.cww b/build.symbian/pjproject.cww
index 70321762..f30e19fa 100644
--- a/build.symbian/pjproject.cww
+++ b/build.symbian/pjproject.cww
@@ -54,32 +54,7 @@
<COLUMN>0</COLUMN>
<DOCKBARID>59420</DOCKBARID>
<PCTWIDTH>1.000000</PCTWIDTH>
- <HGT>506</HGT>
- <GROUPID>
- <GIDHIGHPART>4294967294</GIDHIGHPART>
- <GIDLOWPART>4294967294</GIDLOWPART>
- </GROUPID>
- </DOCKINFO>
- </WINDOW>
- <WINDOW>
- <SESSION>-1</SESSION>
- <EDOCTYPE>0</EDOCTYPE>
- <PATH USERELATIVEPATHS = "true">pjlib_test.mcp</PATH>
- <FRAMELOC>
- <X>0</X>
- <Y>0</Y>
- </FRAMELOC>
- <FRAMESIZE>
- <W>347</W>
- <H>128</H>
- </FRAMESIZE>
- <DOCKINFO>
- <STATUS>1</STATUS>
- <ROW>0</ROW>
- <COLUMN>0</COLUMN>
- <DOCKBARID>59420</DOCKBARID>
- <PCTWIDTH>1.000000</PCTWIDTH>
- <HGT>506</HGT>
+ <HGT>294</HGT>
<GROUPID>
<GIDHIGHPART>4294967294</GIDHIGHPART>
<GIDLOWPART>4294967294</GIDLOWPART>
@@ -104,7 +79,7 @@
<COLUMN>0</COLUMN>
<DOCKBARID>59420</DOCKBARID>
<PCTWIDTH>1.000000</PCTWIDTH>
- <HGT>506</HGT>
+ <HGT>294</HGT>
<GROUPID>
<GIDHIGHPART>4294967294</GIDHIGHPART>
<GIDLOWPART>4294967294</GIDLOWPART>
@@ -129,7 +104,7 @@
<COLUMN>0</COLUMN>
<DOCKBARID>59420</DOCKBARID>
<PCTWIDTH>1.000000</PCTWIDTH>
- <HGT>506</HGT>
+ <HGT>294</HGT>
<GROUPID>
<GIDHIGHPART>4294967294</GIDHIGHPART>
<GIDLOWPART>4294967294</GIDLOWPART>
@@ -154,7 +129,7 @@
<COLUMN>0</COLUMN>
<DOCKBARID>59420</DOCKBARID>
<PCTWIDTH>1.000000</PCTWIDTH>
- <HGT>506</HGT>
+ <HGT>294</HGT>
<GROUPID>
<GIDHIGHPART>4294967294</GIDHIGHPART>
<GIDLOWPART>4294967294</GIDLOWPART>
@@ -164,7 +139,7 @@
<WINDOW>
<SESSION>-1</SESSION>
<EDOCTYPE>0</EDOCTYPE>
- <PATH USERELATIVEPATHS = "true">pjsdp.mcp</PATH>
+ <PATH USERELATIVEPATHS = "true">pjsip.mcp</PATH>
<FRAMELOC>
<X>0</X>
<Y>0</Y>
@@ -179,7 +154,7 @@
<COLUMN>0</COLUMN>
<DOCKBARID>59420</DOCKBARID>
<PCTWIDTH>1.000000</PCTWIDTH>
- <HGT>506</HGT>
+ <HGT>294</HGT>
<GROUPID>
<GIDHIGHPART>4294967294</GIDHIGHPART>
<GIDLOWPART>4294967294</GIDLOWPART>
@@ -189,10 +164,10 @@
<WINDOW>
<SESSION>-1</SESSION>
<EDOCTYPE>0</EDOCTYPE>
- <PATH USERELATIVEPATHS = "true">pjsip.mcp</PATH>
+ <PATH USERELATIVEPATHS = "true">pjsua_lib.mcp</PATH>
<FRAMELOC>
- <X>0</X>
- <Y>0</Y>
+ <X>634</X>
+ <Y>231</Y>
</FRAMELOC>
<FRAMESIZE>
<W>347</W>
@@ -204,7 +179,7 @@
<COLUMN>0</COLUMN>
<DOCKBARID>59420</DOCKBARID>
<PCTWIDTH>1.000000</PCTWIDTH>
- <HGT>506</HGT>
+ <HGT>294</HGT>
<GROUPID>
<GIDHIGHPART>4294967294</GIDHIGHPART>
<GIDLOWPART>4294967294</GIDLOWPART>
@@ -214,14 +189,14 @@
<WINDOW>
<SESSION>-1</SESSION>
<EDOCTYPE>0</EDOCTYPE>
- <PATH USERELATIVEPATHS = "true">pjsip_ua.mcp</PATH>
+ <PATH USERELATIVEPATHS = "true">symbian_ua.mcp</PATH>
<FRAMELOC>
- <X>548</X>
- <Y>123</Y>
+ <X>571</X>
+ <Y>149</Y>
</FRAMELOC>
<FRAMESIZE>
- <W>400</W>
- <H>372</H>
+ <W>347</W>
+ <H>128</H>
</FRAMESIZE>
<DOCKINFO>
<STATUS>1</STATUS>
@@ -229,7 +204,7 @@
<COLUMN>0</COLUMN>
<DOCKBARID>59420</DOCKBARID>
<PCTWIDTH>1.000000</PCTWIDTH>
- <HGT>506</HGT>
+ <HGT>294</HGT>
<GROUPID>
<GIDHIGHPART>4294967294</GIDHIGHPART>
<GIDLOWPART>4294967294</GIDLOWPART>
@@ -238,90 +213,90 @@
</WINDOW>
<WINDOW>
<SESSION>-1</SESSION>
- <EDOCTYPE>0</EDOCTYPE>
- <PATH USERELATIVEPATHS = "true">pjsip_simple.mcp</PATH>
+ <EDOCTYPE>1</EDOCTYPE>
+ <PATH USERELATIVEPATHS = "true">..\pjlib\src\pj\sock_symbian.cpp</PATH>
<FRAMELOC>
- <X>0</X>
- <Y>0</Y>
+ <X>8</X>
+ <Y>27</Y>
</FRAMELOC>
<FRAMESIZE>
- <W>347</W>
- <H>128</H>
+ <W>646</W>
+ <H>464</H>
</FRAMESIZE>
<DOCKINFO>
- <STATUS>1</STATUS>
- <ROW>0</ROW>
- <COLUMN>0</COLUMN>
- <DOCKBARID>59420</DOCKBARID>
- <PCTWIDTH>1.000000</PCTWIDTH>
- <HGT>506</HGT>
+ <STATUS>0</STATUS>
+ <ROW></ROW>
+ <COLUMN></COLUMN>
+ <DOCKBARID></DOCKBARID>
+ <PCTWIDTH></PCTWIDTH>
+ <HGT></HGT>
<GROUPID>
- <GIDHIGHPART>4294967294</GIDHIGHPART>
- <GIDLOWPART>4294967294</GIDLOWPART>
+ <GIDHIGHPART></GIDHIGHPART>
+ <GIDLOWPART></GIDLOWPART>
</GROUPID>
</DOCKINFO>
</WINDOW>
<WINDOW>
<SESSION>-1</SESSION>
- <EDOCTYPE>0</EDOCTYPE>
- <PATH USERELATIVEPATHS = "true">pjsua_lib.mcp</PATH>
+ <EDOCTYPE>1</EDOCTYPE>
+ <PATH USERELATIVEPATHS = "true">..\pjsip-apps\src\symbian_ua\main_symbian.cpp</PATH>
<FRAMELOC>
- <X>631</X>
- <Y>228</Y>
+ <X>8</X>
+ <Y>27</Y>
</FRAMELOC>
<FRAMESIZE>
- <W>400</W>
- <H>372</H>
+ <W>638</W>
+ <H>437</H>
</FRAMESIZE>
<DOCKINFO>
- <STATUS>1</STATUS>
- <ROW>0</ROW>
- <COLUMN>0</COLUMN>
- <DOCKBARID>59420</DOCKBARID>
- <PCTWIDTH>1.000000</PCTWIDTH>
- <HGT>506</HGT>
+ <STATUS>0</STATUS>
+ <ROW></ROW>
+ <COLUMN></COLUMN>
+ <DOCKBARID></DOCKBARID>
+ <PCTWIDTH></PCTWIDTH>
+ <HGT></HGT>
<GROUPID>
- <GIDHIGHPART>4294967294</GIDHIGHPART>
- <GIDLOWPART>4294967294</GIDLOWPART>
+ <GIDHIGHPART></GIDHIGHPART>
+ <GIDLOWPART></GIDLOWPART>
</GROUPID>
</DOCKINFO>
</WINDOW>
<WINDOW>
<SESSION>-1</SESSION>
- <EDOCTYPE>0</EDOCTYPE>
- <PATH USERELATIVEPATHS = "true">symbian_ua.mcp</PATH>
+ <EDOCTYPE>1</EDOCTYPE>
+ <PATH USERELATIVEPATHS = "true">..\pjsip-apps\src\symbian_ua\ua.cpp</PATH>
<FRAMELOC>
- <X>568</X>
- <Y>146</Y>
+ <X>4</X>
+ <Y>23</Y>
</FRAMELOC>
<FRAMESIZE>
- <W>400</W>
- <H>372</H>
+ <W>565</W>
+ <H>643</H>
</FRAMESIZE>
<DOCKINFO>
- <STATUS>1</STATUS>
- <ROW>0</ROW>
- <COLUMN>0</COLUMN>
- <DOCKBARID>59420</DOCKBARID>
- <PCTWIDTH>1.000000</PCTWIDTH>
- <HGT>506</HGT>
+ <STATUS>0</STATUS>
+ <ROW></ROW>
+ <COLUMN></COLUMN>
+ <DOCKBARID></DOCKBARID>
+ <PCTWIDTH></PCTWIDTH>
+ <HGT></HGT>
<GROUPID>
- <GIDHIGHPART>4294967294</GIDHIGHPART>
- <GIDLOWPART>4294967294</GIDLOWPART>
+ <GIDHIGHPART></GIDHIGHPART>
+ <GIDLOWPART></GIDLOWPART>
</GROUPID>
</DOCKINFO>
</WINDOW>
<WINDOW>
<SESSION>-1</SESSION>
<EDOCTYPE>1</EDOCTYPE>
- <PATH USERELATIVEPATHS = "true">..\pjsip-apps\src\symbian_ua\ua.cpp</PATH>
+ <PATH USERELATIVEPATHS = "true">..\pjlib\src\pj\ioqueue_symbian.cpp</PATH>
<FRAMELOC>
- <X>4</X>
- <Y>23</Y>
+ <X>10</X>
+ <Y>40</Y>
</FRAMELOC>
<FRAMESIZE>
- <W>731</W>
- <H>822</H>
+ <W>630</W>
+ <H>410</H>
</FRAMESIZE>
<DOCKINFO>
<STATUS>0</STATUS>
@@ -339,14 +314,14 @@
<WINDOW>
<SESSION>-1</SESSION>
<EDOCTYPE>1</EDOCTYPE>
- <PATH USERELATIVEPATHS = "true">..\pjsip\src\pjsua-lib\pjsua_media.c</PATH>
+ <PATH USERELATIVEPATHS = "true">..\pjlib\src\pj\os_core_symbian.cpp</PATH>
<FRAMELOC>
- <X>10</X>
- <Y>40</Y>
+ <X>6</X>
+ <Y>23</Y>
</FRAMELOC>
<FRAMESIZE>
- <W>630</W>
- <H>410</H>
+ <W>638</W>
+ <H>437</H>
</FRAMESIZE>
<DOCKINFO>
<STATUS>0</STATUS>
@@ -364,14 +339,14 @@
<WINDOW>
<SESSION>-1</SESSION>
<EDOCTYPE>1</EDOCTYPE>
- <PATH USERELATIVEPATHS = "true">..\pjmedia\src\pjmedia\nullsound.c</PATH>
+ <PATH USERELATIVEPATHS = "true">..\pjlib\src\pj\os_error_symbian.cpp</PATH>
<FRAMELOC>
- <X>10</X>
- <Y>40</Y>
+ <X>8</X>
+ <Y>27</Y>
</FRAMELOC>
<FRAMESIZE>
- <W>630</W>
- <H>410</H>
+ <W>638</W>
+ <H>437</H>
</FRAMESIZE>
<DOCKINFO>
<STATUS>0</STATUS>
@@ -389,14 +364,14 @@
<WINDOW>
<SESSION>-1</SESSION>
<EDOCTYPE>1</EDOCTYPE>
- <PATH USERELATIVEPATHS = "true">..\pjmedia\include\pjmedia\sound.h</PATH>
+ <PATH USERELATIVEPATHS = "true">..\pjlib\src\pj\errno.c</PATH>
<FRAMELOC>
- <X>10</X>
- <Y>40</Y>
+ <X>4</X>
+ <Y>23</Y>
</FRAMELOC>
<FRAMESIZE>
- <W>630</W>
- <H>410</H>
+ <W>646</W>
+ <H>464</H>
</FRAMESIZE>
<DOCKINFO>
<STATUS>0</STATUS>
@@ -435,9 +410,10 @@
<GIDLOWPART></GIDLOWPART>
</GROUPID>
</DOCKINFO>
- <SYMBOLICSWINSETTINGS EXECUTABLEPATH = "C:\Symbian\9.1\S60_3rd\EPOC32\RELEASE\WINSCW\UDEB\euser.dll" MACHINENAME = "Local Windows PC"/>
- <SYMBOLICSWINSETTINGS EXECUTABLEPATH = "C:\Symbian\9.1\S60_3rd\EPOC32\RELEASE\WINSCW\UDEB\ekern.exe" MACHINENAME = "Local Windows PC"/>
- <SYMBOLICSWINSETTINGS EXECUTABLEPATH = "C:\WINDOWS\system32\ntdll.dll" MACHINENAME = "Local Windows PC"/>
+ <SYMBOLICSWINSETTINGS EXECUTABLEPATH = "C:\Symbian\9.1\S60_3rd_MR_2\EPOC32\RELEASE\WINSCW\UDEB\euser.dll" MACHINENAME = "Local Windows PC"/>
+ <SYMBOLICSWINSETTINGS EXECUTABLEPATH = "C:\Symbian\9.1\S60_3rd_MR_2\EPOC32\RELEASE\WINSCW\UDEB\ekern.exe" MACHINENAME = "Local Windows PC"/>
+ <SYMBOLICSWINSETTINGS EXECUTABLEPATH = "C:\WINNT\system32\ntdll.dll" MACHINENAME = "Local Windows PC"/>
+ <SYMBOLICSWINSETTINGS EXECUTABLEPATH = "C:\Symbian\9.1\S60_3rd_MR_2\EPOC32\RELEASE\WINSCW\UDEB\econs.dll" MACHINENAME = "Local Windows PC"/>
</WINDOW>
<WINDOW>
<SESSION>-2147483648</SESSION>
@@ -448,8 +424,8 @@
<Y>23</Y>
</FRAMELOC>
<FRAMESIZE>
- <W>414</W>
- <H>516</H>
+ <W>390</W>
+ <H>435</H>
</FRAMESIZE>
<DOCKINFO>
<STATUS>0</STATUS>
@@ -488,13 +464,15 @@
<GIDLOWPART></GIDLOWPART>
</GROUPID>
</DOCKINFO>
- <SYMBOLICSWINSETTINGS EXECUTABLEPATH = "C:\Symbian\9.1\S60_3rd\EPOC32\RELEASE\WINSCW\UDEB\euser.dll" MACHINENAME = "Local Windows PC"/>
- <SYMBOLICSWINSETTINGS EXECUTABLEPATH = "C:\Symbian\9.1\S60_3rd\EPOC32\RELEASE\WINSCW\UDEB\ekern.exe" MACHINENAME = "Local Windows PC"/>
- <SYMBOLICSWINSETTINGS EXECUTABLEPATH = "C:\WINDOWS\system32\ntdll.dll" MACHINENAME = "Local Windows PC"/>
+ <SYMBOLICSWINSETTINGS EXECUTABLEPATH = "C:\Symbian\9.1\S60_3rd_MR_2\EPOC32\RELEASE\WINSCW\UDEB\euser.dll" MACHINENAME = "Local Windows PC"/>
+ <SYMBOLICSWINSETTINGS EXECUTABLEPATH = "C:\Symbian\9.1\S60_3rd_MR_2\EPOC32\RELEASE\WINSCW\UDEB\ekern.exe" MACHINENAME = "Local Windows PC"/>
+ <SYMBOLICSWINSETTINGS EXECUTABLEPATH = "C:\WINNT\system32\ntdll.dll" MACHINENAME = "Local Windows PC"/>
+ <SYMBOLICSWINSETTINGS EXECUTABLEPATH = "C:\Symbian\9.1\S60_3rd_MR_2\EPOC32\RELEASE\WINSCW\UDEB\econs.dll" MACHINENAME = "Local Windows PC"/>
</WINDOW>
<WINDOW>
<SESSION>-2147483648</SESSION>
<EDOCTYPE>23</EDOCTYPE>
+ <DEFAULT>true</DEFAULT>
<FRAMELOC>
<X>6</X>
<Y>81</Y>
diff --git a/pjlib/include/pj/compat/os_symbian.h b/pjlib/include/pj/compat/os_symbian.h
index 2871fe0a..b1b1cd1a 100644
--- a/pjlib/include/pj/compat/os_symbian.h
+++ b/pjlib/include/pj/compat/os_symbian.h
@@ -121,6 +121,7 @@
#define PJ_OS_HAS_CHECK_STACK 0
#define PJ_TERM_HAS_COLOR 0
#define PJ_NATIVE_STRING_IS_UNICODE 0
+#define PJ_NATIVE_ERR_POSITIVE 0
#define PJ_ATOMIC_VALUE_TYPE int
#define PJ_THREAD_DESC_SIZE 128
diff --git a/pjlib/include/pj/config.h b/pjlib/include/pj/config.h
index e6d4fd4c..197e525c 100644
--- a/pjlib/include/pj/config.h
+++ b/pjlib/include/pj/config.h
@@ -599,6 +599,14 @@
#endif
/**
+ * Is native platform error positive number?
+ * Default: 1 (yes)
+ */
+#ifndef PJ_NATIVE_ERR_POSITIVE
+# define PJ_NATIVE_ERR_POSITIVE 1
+#endif
+
+/**
* Include error message string in the library (pj_strerror()).
* This is very much desirable!
*
diff --git a/pjlib/include/pj/config_site_sample.h b/pjlib/include/pj/config_site_sample.h
index c4821de4..439d3512 100644
--- a/pjlib/include/pj/config_site_sample.h
+++ b/pjlib/include/pj/config_site_sample.h
@@ -26,23 +26,46 @@
# define PJMEDIA_HAS_SPEEX_AEC 0
#endif
+
/*
* Typical configuration for Symbian OS target
*/
#if defined(PJ_SYMBIAN) && PJ_SYMBIAN!=0
+ /* We don't want to use float, for now */
# undef PJ_HAS_FLOATING_POINT
# define PJ_HAS_FLOATING_POINT 0
# define PJMEDIA_SOUND_IMPLEMENTATION PJMEDIA_SOUND_NULL_SOUND
+
+ /* Disable these */
# define PJMEDIA_HAS_LIBRESAMPLE 0
# define PJMEDIA_HAS_SPEEX_AEC 0
+ /* Disable all codecs but G.711, for now */
# define PJMEDIA_HAS_L16_CODEC 0
# define PJMEDIA_HAS_GSM_CODEC 0
# define PJMEDIA_HAS_ILBC_CODEC 0
# define PJMEDIA_HAS_SPEEX_CODEC 0
+# define PJSIP_MAX_PKT_LEN 8000
+
+ /* Since we don't have threads, log buffer can use static buffer */
+# define PJ_LOG_USE_STACK_BUFFER 0
+
+ /* Symbian has problem with too many large blocks */
+# define PJSIP_POOL_LEN_ENDPT 1000
+# define PJSIP_POOL_INC_ENDPT 1000
+# define PJSIP_POOL_RDATA_LEN 2000
+# define PJSIP_POOL_RDATA_INC 2000
+# define PJSIP_POOL_LEN_TDATA 2000
+# define PJSIP_POOL_INC_TDATA 512
+# define PJSIP_POOL_LEN_UA 2000
+# define PJSIP_POOL_INC_UA 1000
+# define PJSIP_POOL_TSX_LAYER_LEN 256
+# define PJSIP_POOL_TSX_LAYER_INC 256
+# define PJSIP_POOL_TSX_LEN 512
+# define PJSIP_POOL_TSX_INC 128
#endif
diff --git a/pjlib/include/pj/errno.h b/pjlib/include/pj/errno.h
index 71ba69fd..cd5d9164 100644
--- a/pjlib/include/pj/errno.h
+++ b/pjlib/include/pj/errno.h
@@ -167,7 +167,11 @@ PJ_DECL(pj_status_t) pj_register_strerror(pj_status_t start_code,
* @warning Macro implementation; the syserr argument may be evaluated
* multiple times.
*/
-#define PJ_STATUS_FROM_OS(e) (e == 0 ? PJ_SUCCESS : e + PJ_ERRNO_START_SYS)
+#if PJ_NATIVE_ERR_POSITIVE
+# define PJ_STATUS_FROM_OS(e) (e == 0 ? PJ_SUCCESS : e + PJ_ERRNO_START_SYS)
+#else
+# define PJ_STATUS_FROM_OS(e) (e == 0 ? PJ_SUCCESS : PJ_ERRNO_START_SYS - e)
+#endif
/**
* @hideinitializer
@@ -179,7 +183,11 @@ PJ_DECL(pj_status_t) pj_register_strerror(pj_status_t start_code,
* multiple times. If the statcode was not created by
* pj_get_os_error or PJ_STATUS_FROM_OS, the results are undefined.
*/
-#define PJ_STATUS_TO_OS(e) (e == 0 ? PJ_SUCCESS : e - PJ_ERRNO_START_SYS)
+#if PJ_NATIVE_ERR_POSITIVE
+# define PJ_STATUS_TO_OS(e) (e == 0 ? PJ_SUCCESS : e - PJ_ERRNO_START_SYS)
+#else
+# define PJ_STATUS_TO_OS(e) (e == 0 ? PJ_SUCCESS : PJ_ERRNO_START_SYS - e)
+#endif
/**
diff --git a/pjlib/src/pj/ioqueue_symbian.cpp b/pjlib/src/pj/ioqueue_symbian.cpp
index 50f33503..df1fa46c 100644
--- a/pjlib/src/pj/ioqueue_symbian.cpp
+++ b/pjlib/src/pj/ioqueue_symbian.cpp
@@ -216,23 +216,8 @@ pj_status_t CIoqueueCallback::StartRead(pj_ioqueue_op_key_t *op_key,
sock_->Socket().Recv(aBufferPtr_, flags, iStatus);
}
- if (iStatus==KRequestPending) {
- SetActive();
- return PJ_EPENDING;
- } else {
- // Complete immediately (with success or error)
- if (iStatus == KErrNone) {
- *size = aBufferPtr_.Length();
- HandleReadCompletion();
- return PJ_SUCCESS;
- }
- else {
- pending_data_.read_.op_key_ = NULL;
- pending_data_.read_.addr_ = NULL;
- pending_data_.read_.addrlen_ = NULL;
- return PJ_RETURN_OS_ERROR(iStatus.Int());
- }
- }
+ SetActive();
+ return PJ_EPENDING;
}
@@ -260,24 +245,8 @@ pj_status_t CIoqueueCallback::StartAccept(pj_ioqueue_op_key_t *op_key,
type_ = TYPE_ACCEPT;
sock_->Socket().Accept(blank_sock_, iStatus);
- if (iStatus==KRequestPending) {
- SetActive();
- return PJ_EPENDING;
- } else {
- // Accept() completed immediately (with success or error).
- if (iStatus == KErrNone) {
- HandleAcceptCompletion();
- return PJ_SUCCESS;
- }
- else {
- pending_data_.accept_.op_key_ = NULL;
- pending_data_.accept_.new_sock_ = NULL;
- pending_data_.accept_.local_ = NULL;
- pending_data_.accept_.remote_ = NULL;
- pending_data_.accept_.addrlen_ = NULL;
- return PJ_RETURN_OS_ERROR(iStatus.Int());
- }
- }
+ SetActive();
+ return PJ_EPENDING;
}
@@ -286,17 +255,17 @@ pj_status_t CIoqueueCallback::StartAccept(pj_ioqueue_op_key_t *op_key,
//
void CIoqueueCallback::HandleReadCompletion()
{
- if (pending_data_.read_.addr_) {
- PjSymbianOS::Addr2pj(aAddress_,
- *(pj_sockaddr_in*)pending_data_.read_.addr_);
- pending_data_.read_.addr_ = NULL;
- }
- if (pending_data_.read_.addrlen_) {
- *pending_data_.read_.addrlen_ = sizeof(pj_sockaddr_in);
- pending_data_.read_.addrlen_ = NULL;
- }
+ if (pending_data_.read_.addr_) {
+ PjSymbianOS::Addr2pj(aAddress_,
+ *(pj_sockaddr_in*)pending_data_.read_.addr_);
+ pending_data_.read_.addr_ = NULL;
+ }
+ if (pending_data_.read_.addrlen_) {
+ *pending_data_.read_.addrlen_ = sizeof(pj_sockaddr_in);
+ pending_data_.read_.addrlen_ = NULL;
+ }
- pending_data_.read_.op_key_ = NULL;
+ pending_data_.read_.op_key_ = NULL;
}
diff --git a/pjlib/src/pj/sock_symbian.cpp b/pjlib/src/pj/sock_symbian.cpp
index 1b79098a..5615dde7 100644
--- a/pjlib/src/pj/sock_symbian.cpp
+++ b/pjlib/src/pj/sock_symbian.cpp
@@ -151,8 +151,7 @@ void CPjSocketReader::StartRecvFrom(void (*cb)(void *key),
if (fromAddr == NULL) fromAddr = &recvAddr_;
sock_.Socket().RecvFrom(*aDesc, *fromAddr, flags, iStatus);
- if (iStatus == KRequestPending)
- SetActive();
+ SetActive();
}
void CPjSocketReader::DoCancel()
diff --git a/pjmedia/src/pjmedia/nullsound.c b/pjmedia/src/pjmedia/nullsound.c
index 2e95c3c2..2b82bd19 100644
--- a/pjmedia/src/pjmedia/nullsound.c
+++ b/pjmedia/src/pjmedia/nullsound.c
@@ -67,7 +67,7 @@ PJ_DEF(int) pjmedia_snd_get_dev_count(void)
PJ_DEF(const pjmedia_snd_dev_info*) pjmedia_snd_get_dev_info(unsigned index)
{
- PJ_ASSERT_RETURN(index==0, NULL);
+ PJ_ASSERT_RETURN(index==0 || index==-1, NULL);
return &null_info;
}
diff --git a/pjsip-apps/src/symbian_ua/main_symbian.cpp b/pjsip-apps/src/symbian_ua/main_symbian.cpp
index a90ea167..640fb2d4 100644
--- a/pjsip-apps/src/symbian_ua/main_symbian.cpp
+++ b/pjsip-apps/src/symbian_ua/main_symbian.cpp
@@ -132,9 +132,54 @@ LOCAL_C void DoStartL()
}
+////////////////////////////////////////////////////////////////////////////
+
+class TMyTrapHandler : public TTrapHandler
+{
+public:
+ void Install();
+ void Uninstall();
+ virtual IMPORT_C void Trap();
+ virtual IMPORT_C void UnTrap();
+ virtual IMPORT_C void Leave(TInt aValue);
+
+private:
+ TTrapHandler *prev_;
+};
+
+void TMyTrapHandler::Install() {
+ prev_ = User::SetTrapHandler(this);
+}
+
+void TMyTrapHandler::Uninstall() {
+ User::SetTrapHandler(prev_);
+}
+
+IMPORT_C void TMyTrapHandler::Trap()
+{
+ prev_->Trap();
+}
+
+IMPORT_C void TMyTrapHandler::UnTrap()
+{
+ prev_->UnTrap();
+}
+
+IMPORT_C void TMyTrapHandler::Leave(TInt aValue)
+{
+ prev_->Leave(aValue);
+}
+
+
+////////////////////////////////////////////////////////////////////////////
+
// Global Functions
GLDEF_C TInt E32Main()
{
+ TMyTrapHandler th;
+
+ th.Install();
+
// Create cleanup stack
//__UHEAP_MARK;
CTrapCleanup* cleanup = CTrapCleanup::New();
@@ -152,6 +197,8 @@ GLDEF_C TInt E32Main()
delete console;
delete cleanup;
//__UHEAP_MARKEND;
+
+ th.Uninstall();
return KErrNone;
}
diff --git a/pjsip-apps/src/symbian_ua/ua.cpp b/pjsip-apps/src/symbian_ua/ua.cpp
index 8044226d..cc224563 100644
--- a/pjsip-apps/src/symbian_ua/ua.cpp
+++ b/pjsip-apps/src/symbian_ua/ua.cpp
@@ -301,7 +301,7 @@ int ua_main()
pj_status_t status;
// Initialize pjsua
- status = app_startup(NULL);
+ status = app_startup("sip:192.168.0.66:5061");
if (status != PJ_SUCCESS)
return status;
@@ -311,6 +311,7 @@ int ua_main()
ConsoleUI *con = new ConsoleUI(asw, console);
con->Run();
+
asw->Start();
delete con;
diff --git a/pjsip/include/pjsip/sip_config.h b/pjsip/include/pjsip/sip_config.h
index b0d3375c..a95a4189 100644
--- a/pjsip/include/pjsip/sip_config.h
+++ b/pjsip/include/pjsip/sip_config.h
@@ -284,19 +284,68 @@
/* Endpoint. */
#define PJSIP_MAX_TIMER_COUNT (2*PJSIP_MAX_TSX_COUNT + 2*PJSIP_MAX_DIALOG_COUNT)
-#define PJSIP_POOL_LEN_ENDPT (4000)
-#define PJSIP_POOL_INC_ENDPT (4000)
+
+/**
+ * Initial memory block for the endpoint.
+ */
+#ifndef PJSIP_POOL_LEN_ENDPT
+# define PJSIP_POOL_LEN_ENDPT (4000)
+#endif
+
+/**
+ * Memory increment for endpoint.
+ */
+#ifndef PJSIP_POOL_INC_ENDPT
+# define PJSIP_POOL_INC_ENDPT (4000)
+#endif
+
/* Transport related constants. */
-#define PJSIP_POOL_RDATA_LEN 4000
-#define PJSIP_POOL_RDATA_INC 4000
+/**
+ * Initial memory block for rdata.
+ */
+#ifndef PJSIP_POOL_RDATA_LEN
+# define PJSIP_POOL_RDATA_LEN 4000
+#endif
+
+/**
+ * Memory increment for rdata.
+ */
+#ifndef PJSIP_POOL_RDATA_INC
+# define PJSIP_POOL_RDATA_INC 4000
+#endif
+
#define PJSIP_POOL_LEN_TRANSPORT 512
#define PJSIP_POOL_INC_TRANSPORT 512
-#define PJSIP_POOL_LEN_TDATA 4000
-#define PJSIP_POOL_INC_TDATA 4000
-#define PJSIP_POOL_LEN_UA 4000
-#define PJSIP_POOL_INC_UA 4000
+
+/**
+ * Initial memory block size for tdata.
+ */
+#ifndef PJSIP_POOL_LEN_TDATA
+# define PJSIP_POOL_LEN_TDATA 4000
+#endif
+
+/**
+ * Memory increment for tdata.
+ */
+#ifndef PJSIP_POOL_INC_TDATA
+# define PJSIP_POOL_INC_TDATA 4000
+#endif
+
+/**
+ * Initial memory size for UA layer
+ */
+#ifndef PJSIP_POOL_LEN_UA
+# define PJSIP_POOL_LEN_UA 4000
+#endif
+
+/**
+ * Memory increment for UA layer.
+ */
+#ifndef PJSIP_POOL_INC_UA
+# define PJSIP_POOL_INC_UA 4000
+#endif
#define PJSIP_MAX_FORWARDS_VALUE 70
@@ -304,10 +353,35 @@
#define PJSIP_RFC3261_BRANCH_LEN 7
/* Transaction related constants. */
-#define PJSIP_POOL_TSX_LAYER_LEN 4000
-#define PJSIP_POOL_TSX_LAYER_INC 4000
-#define PJSIP_POOL_TSX_LEN 1536 /* 768 */
-#define PJSIP_POOL_TSX_INC 256
+
+/**
+ * Initial memory size for transaction layer
+ */
+#ifndef PJSIP_POOL_TSX_LAYER_LEN
+# define PJSIP_POOL_TSX_LAYER_LEN 4000
+#endif
+
+/**
+ * Memory increment for transaction layer.
+ */
+#ifndef PJSIP_POOL_TSX_LAYER_INC
+# define PJSIP_POOL_TSX_LAYER_INC 4000
+#endif
+
+/**
+ * Initial memory size for a SIP transaction object.
+ */
+#ifndef PJSIP_POOL_TSX_LEN
+# define PJSIP_POOL_TSX_LEN 1536 /* 768 */
+#endif
+
+/**
+ * Memory increment for transaction object.
+ */
+#ifndef PJSIP_POOL_TSX_INC
+# define PJSIP_POOL_TSX_INC 256
+#endif
+
#define PJSIP_MAX_TSX_KEY_LEN (PJSIP_MAX_URL_SIZE*2)
/* User agent. */