~ubuntu-branches/ubuntu/trusty/sflphone/trusty

« back to all changes in this revision

Viewing changes to daemon/libs/pjproject-2.1.0/pjlib/include/pj/config_site_sample.h

  • Committer: Package Import Robot
  • Author(s): Mark Purcell
  • Date: 2014-01-28 18:23:36 UTC
  • mfrom: (4.3.4 sid)
  • Revision ID: package-import@ubuntu.com-20140128182336-jrsv0k9u6cawc068
Tags: 1.3.0-1
* New upstream release 
  - Fixes "New Upstream Release" (Closes: #735846)
  - Fixes "Ringtone does not stop" (Closes: #727164)
  - Fixes "[sflphone-kde] crash on startup" (Closes: #718178)
  - Fixes "sflphone GUI crashes when call is hung up" (Closes: #736583)
* Build-Depends: ensure GnuTLS 2.6
  - libucommon-dev (>= 6.0.7-1.1), libccrtp-dev (>= 2.0.6-3)
  - Fixes "FTBFS Build-Depends libgnutls{26,28}-dev" (Closes: #722040)
* Fix "boost 1.49 is going away" unversioned Build-Depends: (Closes: #736746)
* Add Build-Depends: libsndfile-dev, nepomuk-core-dev

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 * This file contains several sample settings especially for Windows
 
3
 * Mobile and Symbian targets. You can include this file in your
 
4
 * <pj/config_site.h> file.
 
5
 *
 
6
 * The Windows Mobile and Symbian settings will be activated
 
7
 * automatically if you include this file.
 
8
 *
 
9
 * In addition, you may specify one of these macros (before including
 
10
 * this file) to activate additional settings:
 
11
 *
 
12
 * #define PJ_CONFIG_NOKIA_APS_DIRECT
 
13
 *   Use this macro to activate the APS-Direct feature. Please see
 
14
 *   http://trac.pjsip.org/repos/wiki/Nokia_APS_VAS_Direct for more 
 
15
 *   info.
 
16
 *
 
17
 * #define PJ_CONFIG_WIN32_WMME_DIRECT
 
18
 *   Configuration to activate "APS-Direct" media mode on Windows or
 
19
 *   Windows Mobile, useful for testing purposes only.
 
20
 */
 
21
 
 
22
 
 
23
/*
 
24
 * Typical configuration for WinCE target.
 
25
 */
 
26
#if defined(PJ_WIN32_WINCE) && PJ_WIN32_WINCE!=0
 
27
 
 
28
    /*
 
29
     * PJLIB settings.
 
30
     */
 
31
 
 
32
    /* Disable floating point support */
 
33
    #define PJ_HAS_FLOATING_POINT               0
 
34
 
 
35
    /*
 
36
     * PJMEDIA settings
 
37
     */
 
38
 
 
39
    /* Select codecs to disable */
 
40
    #define PJMEDIA_HAS_L16_CODEC               0
 
41
    #define PJMEDIA_HAS_ILBC_CODEC              0
 
42
 
 
43
    /* We probably need more buffers on WM, so increase the limit */
 
44
    #define PJMEDIA_SOUND_BUFFER_COUNT          32
 
45
 
 
46
    /* Fine tune Speex's default settings for best performance/quality */
 
47
    #define PJMEDIA_CODEC_SPEEX_DEFAULT_QUALITY 5
 
48
 
 
49
    /* For CPU reason, disable speex AEC and use the echo suppressor. */
 
50
    #define PJMEDIA_HAS_SPEEX_AEC               0
 
51
 
 
52
    /* Previously, resampling is disabled due to performance reason and
 
53
     * this condition prevented some 'light' wideband codecs (e.g: G722.1)
 
54
     * to work along with narrowband codecs. Lately, some tests showed
 
55
     * that 16kHz <-> 8kHz resampling using libresample small filter was 
 
56
     * affordable on ARM9 260 MHz, so here we decided to enable resampling.
 
57
     * Note that it is important to make sure that libresample is created
 
58
     * using small filter. For example PJSUA_DEFAULT_CODEC_QUALITY must
 
59
     * be set to 3 or 4 so pjsua-lib will apply small filter resampling.
 
60
     */
 
61
    //#define PJMEDIA_RESAMPLE_IMP              PJMEDIA_RESAMPLE_NONE
 
62
    #define PJMEDIA_RESAMPLE_IMP                PJMEDIA_RESAMPLE_LIBRESAMPLE
 
63
 
 
64
    /* Use the lighter WSOLA implementation */
 
65
    #define PJMEDIA_WSOLA_IMP                   PJMEDIA_WSOLA_IMP_WSOLA_LITE
 
66
 
 
67
    /*
 
68
     * PJSIP settings.
 
69
     */
 
70
 
 
71
    /* Set maximum number of dialog/transaction/calls to minimum to reduce
 
72
     * memory usage 
 
73
     */
 
74
    #define PJSIP_MAX_TSX_COUNT                 31
 
75
    #define PJSIP_MAX_DIALOG_COUNT              31
 
76
    #define PJSUA_MAX_CALLS                     4
 
77
 
 
78
    /*
 
79
     * PJSUA settings
 
80
     */
 
81
 
 
82
    /* Default codec quality, previously was set to 5, however it is now
 
83
     * set to 4 to make sure pjsua instantiates resampler with small filter.
 
84
     */
 
85
    #define PJSUA_DEFAULT_CODEC_QUALITY         4
 
86
 
 
87
    /* Set maximum number of objects to minimum to reduce memory usage */
 
88
    #define PJSUA_MAX_ACC                       4
 
89
    #define PJSUA_MAX_PLAYERS                   4
 
90
    #define PJSUA_MAX_RECORDERS                 4
 
91
    #define PJSUA_MAX_CONF_PORTS                (PJSUA_MAX_CALLS+2*PJSUA_MAX_PLAYERS)
 
92
    #define PJSUA_MAX_BUDDIES                   32
 
93
 
 
94
#endif  /* PJ_WIN32_WINCE */
 
95
 
 
96
 
 
97
/*
 
98
 * Typical configuration for Symbian OS target
 
99
 */
 
100
#if defined(PJ_SYMBIAN) && PJ_SYMBIAN!=0
 
101
 
 
102
    /*
 
103
     * PJLIB settings.
 
104
     */
 
105
 
 
106
    /* Disable floating point support */
 
107
    #define PJ_HAS_FLOATING_POINT               0
 
108
 
 
109
    /* Misc PJLIB setting */
 
110
    #define PJ_MAXPATH                          80
 
111
 
 
112
    /* This is important for Symbian. Symbian lacks vsnprintf(), so
 
113
     * if the log buffer is not long enough it's possible that
 
114
     * large incoming packet will corrupt memory when the log tries
 
115
     * to log the packet.
 
116
     */
 
117
    #define PJ_LOG_MAX_SIZE                     (PJSIP_MAX_PKT_LEN+500)
 
118
 
 
119
    /* Since we don't have threads, log buffer can use static buffer
 
120
     * rather than stack
 
121
     */
 
122
    #define PJ_LOG_USE_STACK_BUFFER             0
 
123
 
 
124
    /* Disable check stack since it increases footprint */
 
125
    #define PJ_OS_HAS_CHECK_STACK               0
 
126
 
 
127
 
 
128
    /*
 
129
     * PJMEDIA settings
 
130
     */
 
131
 
 
132
    /* Disable non-Symbian audio devices */
 
133
    #define PJMEDIA_AUDIO_DEV_HAS_PORTAUDIO     0
 
134
    #define PJMEDIA_AUDIO_DEV_HAS_WMME          0
 
135
 
 
136
    /* Select codecs to disable */
 
137
    #define PJMEDIA_HAS_L16_CODEC               0
 
138
    #define PJMEDIA_HAS_ILBC_CODEC              0
 
139
    #define PJMEDIA_HAS_G722_CODEC              0
 
140
 
 
141
    /* Fine tune Speex's default settings for best performance/quality */
 
142
    #define PJMEDIA_CODEC_SPEEX_DEFAULT_QUALITY 5
 
143
 
 
144
    /* For CPU reason, disable speex AEC and use the echo suppressor. */
 
145
    #define PJMEDIA_HAS_SPEEX_AEC               0
 
146
 
 
147
    /* Previously, resampling is disabled due to performance reason and
 
148
     * this condition prevented some 'light' wideband codecs (e.g: G722.1)
 
149
     * to work along with narrowband codecs. Lately, some tests showed
 
150
     * that 16kHz <-> 8kHz resampling using libresample small filter was 
 
151
     * affordable on ARM9 222 MHz, so here we decided to enable resampling.
 
152
     * Note that it is important to make sure that libresample is created
 
153
     * using small filter. For example PJSUA_DEFAULT_CODEC_QUALITY must
 
154
     * be set to 3 or 4 so pjsua-lib will apply small filter resampling.
 
155
     */
 
156
    //#define PJMEDIA_RESAMPLE_IMP              PJMEDIA_RESAMPLE_NONE
 
157
    #define PJMEDIA_RESAMPLE_IMP                PJMEDIA_RESAMPLE_LIBRESAMPLE
 
158
 
 
159
    /* Use the lighter WSOLA implementation */
 
160
    #define PJMEDIA_WSOLA_IMP                   PJMEDIA_WSOLA_IMP_WSOLA_LITE
 
161
 
 
162
    /* We probably need more buffers especially if MDA audio backend 
 
163
     * is used, so increase the limit 
 
164
     */
 
165
    #define PJMEDIA_SOUND_BUFFER_COUNT          32
 
166
 
 
167
    /*
 
168
     * PJSIP settings.
 
169
     */
 
170
 
 
171
    /* Disable safe module access, since we don't use multithreading */
 
172
    #define PJSIP_SAFE_MODULE                   0
 
173
 
 
174
    /* Use large enough packet size  */
 
175
    #define PJSIP_MAX_PKT_LEN                   2000
 
176
 
 
177
    /* Symbian has problem with too many large blocks */
 
178
    #define PJSIP_POOL_LEN_ENDPT                1000
 
179
    #define PJSIP_POOL_INC_ENDPT                1000
 
180
    #define PJSIP_POOL_RDATA_LEN                2000
 
181
    #define PJSIP_POOL_RDATA_INC                2000
 
182
    #define PJSIP_POOL_LEN_TDATA                2000
 
183
    #define PJSIP_POOL_INC_TDATA                512
 
184
    #define PJSIP_POOL_LEN_UA                   2000
 
185
    #define PJSIP_POOL_INC_UA                   1000
 
186
    #define PJSIP_POOL_TSX_LAYER_LEN            256
 
187
    #define PJSIP_POOL_TSX_LAYER_INC            256
 
188
    #define PJSIP_POOL_TSX_LEN                  512
 
189
    #define PJSIP_POOL_TSX_INC                  128
 
190
 
 
191
    /*
 
192
     * PJSUA settings.
 
193
     */
 
194
 
 
195
    /* Default codec quality, previously was set to 5, however it is now
 
196
     * set to 4 to make sure pjsua instantiates resampler with small filter.
 
197
     */
 
198
    #define PJSUA_DEFAULT_CODEC_QUALITY         4
 
199
 
 
200
    /* Set maximum number of dialog/transaction/calls to minimum */
 
201
    #define PJSIP_MAX_TSX_COUNT                 31
 
202
    #define PJSIP_MAX_DIALOG_COUNT              31
 
203
    #define PJSUA_MAX_CALLS                     4
 
204
 
 
205
    /* Other pjsua settings */
 
206
    #define PJSUA_MAX_ACC                       4
 
207
    #define PJSUA_MAX_PLAYERS                   4
 
208
    #define PJSUA_MAX_RECORDERS                 4
 
209
    #define PJSUA_MAX_CONF_PORTS                (PJSUA_MAX_CALLS+2*PJSUA_MAX_PLAYERS)
 
210
    #define PJSUA_MAX_BUDDIES                   32
 
211
#endif
 
212
 
 
213
 
 
214
/*
 
215
 * Additional configuration to activate APS-Direct feature for
 
216
 * Nokia S60 target
 
217
 *
 
218
 * Please see http://trac.pjsip.org/repos/wiki/Nokia_APS_VAS_Direct
 
219
 */
 
220
#ifdef PJ_CONFIG_NOKIA_APS_DIRECT
 
221
 
 
222
    /* MUST use switchboard rather than the conference bridge */
 
223
    #define PJMEDIA_CONF_USE_SWITCH_BOARD       1
 
224
 
 
225
    /* Enable APS sound device backend and disable MDA & VAS */
 
226
    #define PJMEDIA_AUDIO_DEV_HAS_SYMB_MDA      0
 
227
    #define PJMEDIA_AUDIO_DEV_HAS_SYMB_APS      1
 
228
    #define PJMEDIA_AUDIO_DEV_HAS_SYMB_VAS      0
 
229
 
 
230
    /* Enable passthrough codec framework */
 
231
    #define PJMEDIA_HAS_PASSTHROUGH_CODECS      1
 
232
 
 
233
    /* And selectively enable which codecs are supported by the handset */
 
234
    #define PJMEDIA_HAS_PASSTHROUGH_CODEC_PCMU  1
 
235
    #define PJMEDIA_HAS_PASSTHROUGH_CODEC_PCMA  1
 
236
    #define PJMEDIA_HAS_PASSTHROUGH_CODEC_AMR   1
 
237
    #define PJMEDIA_HAS_PASSTHROUGH_CODEC_G729  1
 
238
    #define PJMEDIA_HAS_PASSTHROUGH_CODEC_ILBC  1
 
239
 
 
240
#endif
 
241
 
 
242
 
 
243
/*
 
244
 * Additional configuration to activate VAS-Direct feature for
 
245
 * Nokia S60 target
 
246
 *
 
247
 * Please see http://trac.pjsip.org/repos/wiki/Nokia_APS_VAS_Direct
 
248
 */
 
249
#ifdef PJ_CONFIG_NOKIA_VAS_DIRECT
 
250
 
 
251
    /* MUST use switchboard rather than the conference bridge */
 
252
    #define PJMEDIA_CONF_USE_SWITCH_BOARD       1
 
253
 
 
254
    /* Enable VAS sound device backend and disable MDA & APS */
 
255
    #define PJMEDIA_AUDIO_DEV_HAS_SYMB_MDA      0
 
256
    #define PJMEDIA_AUDIO_DEV_HAS_SYMB_APS      0
 
257
    #define PJMEDIA_AUDIO_DEV_HAS_SYMB_VAS      1
 
258
 
 
259
    /* Enable passthrough codec framework */
 
260
    #define PJMEDIA_HAS_PASSTHROUGH_CODECS      1
 
261
 
 
262
    /* And selectively enable which codecs are supported by the handset */
 
263
    #define PJMEDIA_HAS_PASSTHROUGH_CODEC_PCMU  1
 
264
    #define PJMEDIA_HAS_PASSTHROUGH_CODEC_PCMA  1
 
265
    #define PJMEDIA_HAS_PASSTHROUGH_CODEC_AMR   1
 
266
    #define PJMEDIA_HAS_PASSTHROUGH_CODEC_G729  1
 
267
    #define PJMEDIA_HAS_PASSTHROUGH_CODEC_ILBC  1
 
268
 
 
269
#endif
 
270
 
 
271
 
 
272
/*
 
273
 * Configuration to activate "APS-Direct" media mode on Windows,
 
274
 * useful for testing purposes only.
 
275
 */
 
276
#ifdef PJ_CONFIG_WIN32_WMME_DIRECT
 
277
 
 
278
    /* MUST use switchboard rather than the conference bridge */
 
279
    #define PJMEDIA_CONF_USE_SWITCH_BOARD       1
 
280
 
 
281
    /* Only WMME supports the "direct" feature */
 
282
    #define PJMEDIA_AUDIO_DEV_HAS_PORTAUDIO     0
 
283
    #define PJMEDIA_AUDIO_DEV_HAS_WMME          1
 
284
 
 
285
    /* Enable passthrough codec framework */
 
286
    #define PJMEDIA_HAS_PASSTHROUGH_CODECS      1
 
287
 
 
288
    /* Only PCMA and PCMU are supported by WMME-direct */
 
289
    #define PJMEDIA_HAS_PASSTHROUGH_CODEC_PCMU  1
 
290
    #define PJMEDIA_HAS_PASSTHROUGH_CODEC_PCMA  1
 
291
    #define PJMEDIA_HAS_PASSTHROUGH_CODEC_AMR   0
 
292
    #define PJMEDIA_HAS_PASSTHROUGH_CODEC_G729  0
 
293
    #define PJMEDIA_HAS_PASSTHROUGH_CODEC_ILBC  0
 
294
 
 
295
#endif
 
296
 
 
297
/*
 
298
 * iPhone sample settings.
 
299
 */
 
300
#if PJ_CONFIG_IPHONE
 
301
    /*
 
302
     * PJLIB settings.
 
303
     */
 
304
 
 
305
    /* Both armv6 and armv7 has FP hardware support.
 
306
     * See https://trac.pjsip.org/repos/ticket/1589 for more info
 
307
     */
 
308
    #define PJ_HAS_FLOATING_POINT               1
 
309
 
 
310
    /*
 
311
     * PJMEDIA settings
 
312
     */
 
313
 
 
314
    /* We have our own native CoreAudio backend */
 
315
    #define PJMEDIA_AUDIO_DEV_HAS_PORTAUDIO     0
 
316
    #define PJMEDIA_AUDIO_DEV_HAS_WMME          0
 
317
    #define PJMEDIA_AUDIO_DEV_HAS_COREAUDIO     1
 
318
 
 
319
    /* The CoreAudio backend has built-in echo canceller! */
 
320
    #define PJMEDIA_HAS_SPEEX_AEC    0
 
321
 
 
322
    /* Disable some codecs */
 
323
    #define PJMEDIA_HAS_L16_CODEC               0
 
324
    #define PJMEDIA_HAS_G722_CODEC              0
 
325
 
 
326
    /* Use the built-in CoreAudio's iLBC codec (yay!) */
 
327
    #define PJMEDIA_HAS_ILBC_CODEC              1
 
328
    #define PJMEDIA_ILBC_CODEC_USE_COREAUDIO    1
 
329
 
 
330
    /* Fine tune Speex's default settings for best performance/quality */
 
331
    #define PJMEDIA_CODEC_SPEEX_DEFAULT_QUALITY 5
 
332
 
 
333
    /*
 
334
     * PJSIP settings.
 
335
     */
 
336
 
 
337
    /* Increase allowable packet size, just in case */
 
338
    //#define PJSIP_MAX_PKT_LEN                 2000
 
339
 
 
340
    /*
 
341
     * PJSUA settings.
 
342
     */
 
343
 
 
344
    /* Default codec quality, previously was set to 5, however it is now
 
345
     * set to 4 to make sure pjsua instantiates resampler with small filter.
 
346
     */
 
347
    #define PJSUA_DEFAULT_CODEC_QUALITY         4
 
348
 
 
349
    /* Set maximum number of dialog/transaction/calls to minimum */
 
350
    #define PJSIP_MAX_TSX_COUNT                 31
 
351
    #define PJSIP_MAX_DIALOG_COUNT              31
 
352
    #define PJSUA_MAX_CALLS                     4
 
353
 
 
354
    /* Other pjsua settings */
 
355
    #define PJSUA_MAX_ACC                       4
 
356
    #define PJSUA_MAX_PLAYERS                   4
 
357
    #define PJSUA_MAX_RECORDERS                 4
 
358
    #define PJSUA_MAX_CONF_PORTS                (PJSUA_MAX_CALLS+2*PJSUA_MAX_PLAYERS)
 
359
    #define PJSUA_MAX_BUDDIES                   32
 
360
 
 
361
#endif
 
362
 
 
363
/*
 
364
 * Minimum size
 
365
 */
 
366
#ifdef PJ_CONFIG_MINIMAL_SIZE
 
367
 
 
368
#   undef PJ_OS_HAS_CHECK_STACK
 
369
#   define PJ_OS_HAS_CHECK_STACK        0
 
370
#   define PJ_LOG_MAX_LEVEL             0
 
371
#   define PJ_ENABLE_EXTRA_CHECK        0
 
372
#   define PJ_HAS_ERROR_STRING          0
 
373
#   undef PJ_IOQUEUE_MAX_HANDLES
 
374
/* Putting max handles to lower than 32 will make pj_fd_set_t size smaller
 
375
 * than native fdset_t and will trigger assertion on sock_select.c.
 
376
 */
 
377
#   define PJ_IOQUEUE_MAX_HANDLES       32
 
378
#   define PJ_CRC32_HAS_TABLES          0
 
379
#   define PJSIP_MAX_TSX_COUNT          15
 
380
#   define PJSIP_MAX_DIALOG_COUNT       15
 
381
#   define PJSIP_UDP_SO_SNDBUF_SIZE     4000
 
382
#   define PJSIP_UDP_SO_RCVBUF_SIZE     4000
 
383
#   define PJMEDIA_HAS_ALAW_ULAW_TABLE  0
 
384
 
 
385
#elif defined(PJ_CONFIG_MAXIMUM_SPEED)
 
386
#   define PJ_SCANNER_USE_BITWISE       0
 
387
#   undef PJ_OS_HAS_CHECK_STACK
 
388
#   define PJ_OS_HAS_CHECK_STACK        0
 
389
#   define PJ_LOG_MAX_LEVEL             3
 
390
#   define PJ_ENABLE_EXTRA_CHECK        0
 
391
#   define PJ_IOQUEUE_MAX_HANDLES       5000
 
392
#   define PJSIP_MAX_TSX_COUNT          ((640*1024)-1)
 
393
#   define PJSIP_MAX_DIALOG_COUNT       ((640*1024)-1)
 
394
#   define PJSIP_UDP_SO_SNDBUF_SIZE     (24*1024*1024)
 
395
#   define PJSIP_UDP_SO_RCVBUF_SIZE     (24*1024*1024)
 
396
#   define PJ_DEBUG                     0
 
397
#   define PJSIP_SAFE_MODULE            0
 
398
#   define PJ_HAS_STRICMP_ALNUM         0
 
399
#   define PJ_HASH_USE_OWN_TOLOWER      1
 
400
#   define PJSIP_UNESCAPE_IN_PLACE      1
 
401
 
 
402
#   ifdef PJ_WIN32
 
403
#     define PJSIP_MAX_NET_EVENTS       10
 
404
#   endif
 
405
 
 
406
#   define PJSUA_MAX_CALLS              512
 
407
 
 
408
#endif
 
409