diff options
-rw-r--r-- | build.symbian/00.bat | 2 | ||||
-rw-r--r-- | build.symbian/01.bat | 2 | ||||
-rw-r--r-- | build.symbian/pjlib.mmp | 54 | ||||
-rw-r--r-- | build.symbian/pjlib_util.mmp | 32 | ||||
-rw-r--r-- | build.symbian/pjnath.mmp | 20 | ||||
-rw-r--r-- | build.symbian/pjproject.cww | 200 | ||||
-rw-r--r-- | pjlib/include/pj/compat/os_symbian.h | 1 | ||||
-rw-r--r-- | pjlib/include/pj/config.h | 8 | ||||
-rw-r--r-- | pjlib/include/pj/config_site_sample.h | 23 | ||||
-rw-r--r-- | pjlib/include/pj/errno.h | 12 | ||||
-rw-r--r-- | pjlib/src/pj/ioqueue_symbian.cpp | 59 | ||||
-rw-r--r-- | pjlib/src/pj/sock_symbian.cpp | 3 | ||||
-rw-r--r-- | pjmedia/src/pjmedia/nullsound.c | 2 | ||||
-rw-r--r-- | pjsip-apps/src/symbian_ua/main_symbian.cpp | 47 | ||||
-rw-r--r-- | pjsip-apps/src/symbian_ua/ua.cpp | 3 | ||||
-rw-r--r-- | pjsip/include/pjsip/sip_config.h | 98 |
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. */ |