activesock.h | activesock.h | |||
---|---|---|---|---|
/* $Id: activesock.h 3299 2010-08-27 06:46:29Z ming $ */ | /* $Id: activesock.h 3350 2010-10-20 09:54:45Z bennylp $ */ | |||
/* | /* | |||
* Copyright (C) 2008-2009 Teluu Inc. (http://www.teluu.com) | * Copyright (C) 2008-2009 Teluu Inc. (http://www.teluu.com) | |||
* Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> | * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> | |||
* | * | |||
* This program is free software; you can redistribute it and/or modify | * This program is free software; you can redistribute it and/or modify | |||
* it under the terms of the GNU General Public License as published by | * it under the terms of the GNU General Public License as published by | |||
* the Free Software Foundation; either version 2 of the License, or | * the Free Software Foundation; either version 2 of the License, or | |||
* (at your option) any later version. | * (at your option) any later version. | |||
* | * | |||
* This program is distributed in the hope that it will be useful, | * This program is distributed in the hope that it will be useful, | |||
skipping to change at line 300 | skipping to change at line 300 | |||
* Close the active socket. This will unregister the socket from the | * Close the active socket. This will unregister the socket from the | |||
* ioqueue and ultimately close the socket. | * ioqueue and ultimately close the socket. | |||
* | * | |||
* @param asock The active socket. | * @param asock The active socket. | |||
* | * | |||
* @return PJ_SUCCESS if the operation has been successful, | * @return PJ_SUCCESS if the operation has been successful, | |||
* or the appropriate error code on failure. | * or the appropriate error code on failure. | |||
*/ | */ | |||
PJ_DECL(pj_status_t) pj_activesock_close(pj_activesock_t *asock); | PJ_DECL(pj_status_t) pj_activesock_close(pj_activesock_t *asock); | |||
#if defined(PJ_IPHONE_OS_HAS_MULTITASKING_SUPPORT) && \ | #if (defined(PJ_IPHONE_OS_HAS_MULTITASKING_SUPPORT) && \ | |||
PJ_IPHONE_OS_HAS_MULTITASKING_SUPPORT!=0 | PJ_IPHONE_OS_HAS_MULTITASKING_SUPPORT!=0) || \ | |||
defined(DOXYGEN) | ||||
/** | /** | |||
* Set iPhone OS background mode setting. Setting to 1 will enable TCP | * Set iPhone OS background mode setting. Setting to 1 will enable TCP | |||
* active socket to receive incoming data when application is in the | * active socket to receive incoming data when application is in the | |||
* background. Setting to 0 will disable it. Default value of this | * background. Setting to 0 will disable it. Default value of this | |||
* setting is PJ_ACTIVESOCK_TCP_IPHONE_OS_BG. | * setting is PJ_ACTIVESOCK_TCP_IPHONE_OS_BG. | |||
* | * | |||
* This API is only available if PJ_IPHONE_OS_HAS_MULTITASKING_SUPPORT | ||||
* is set to non-zero. | ||||
* | ||||
* @param asock The active socket. | * @param asock The active socket. | |||
* @param val The value of background mode setting. | * @param val The value of background mode setting. | |||
* | * | |||
*/ | */ | |||
PJ_DECL(void) pj_activesock_set_iphone_os_bg(pj_activesock_t *asock, | PJ_DECL(void) pj_activesock_set_iphone_os_bg(pj_activesock_t *asock, | |||
int val); | int val); | |||
/** | ||||
* Enable/disable support for iPhone OS background mode. This setting | ||||
* will apply globally and will affect any active sockets created | ||||
* afterwards, if you want to change the setting for a particular | ||||
* active socket, use #pj_activesock_set_iphone_os_bg() instead. | ||||
* By default, this setting is enabled. | ||||
* | ||||
* This API is only available if PJ_IPHONE_OS_HAS_MULTITASKING_SUPPORT | ||||
* is set to non-zero. | ||||
* | ||||
* @param val The value of global background mode setting. | ||||
* | ||||
*/ | ||||
PJ_DECL(void) pj_activesock_enable_iphone_os_bg(pj_bool_t val); | ||||
#endif | #endif | |||
/** | /** | |||
* Associate arbitrary data with the active socket. Application may | * Associate arbitrary data with the active socket. Application may | |||
* inspect this data in the callbacks and associate it with higher | * inspect this data in the callbacks and associate it with higher | |||
* level processing. | * level processing. | |||
* | * | |||
* @param asock The active socket. | * @param asock The active socket. | |||
* @param user_data The user data to be associated with the active | * @param user_data The user data to be associated with the active | |||
* socket. | * socket. | |||
End of changes. 4 change blocks. | ||||
3 lines changed or deleted | 22 lines changed or added | |||
amr_helper.h | amr_helper.h | |||
---|---|---|---|---|
/* $Id: amr_helper.h 2875 2009-08-13 15:57:26Z bennylp $ */ | /* $Id: amr_helper.h 3327 2010-09-30 04:23:27Z bennylp $ */ | |||
/* | /* | |||
* Copyright (C) 2008-2009 Teluu Inc. (http://www.teluu.com) | * Copyright (C) 2008-2009 Teluu Inc. (http://www.teluu.com) | |||
* Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> | * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> | |||
* | * | |||
* This program is free software; you can redistribute it and/or modify | * This program is free software; you can redistribute it and/or modify | |||
* it under the terms of the GNU General Public License as published by | * it under the terms of the GNU General Public License as published by | |||
* the Free Software Foundation; either version 2 of the License, or | * the Free Software Foundation; either version 2 of the License, or | |||
* (at your option) any later version. | * (at your option) any later version. | |||
* | * | |||
* This program is distributed in the hope that it will be useful, | * This program is distributed in the hope that it will be useful, | |||
skipping to change at line 596 | skipping to change at line 596 | |||
*/ | */ | |||
const pj_uint16_t pjmedia_codec_amrwb_framelenbits[10] = | const pj_uint16_t pjmedia_codec_amrwb_framelenbits[10] = | |||
{132, 177, 253, 285, 317, 365, 397, 461, 477, 40}; | {132, 177, 253, 285, 317, 365, 397, 461, 477, 40}; | |||
/** | /** | |||
* Constant of AMR-WB bitrates. | * Constant of AMR-WB bitrates. | |||
*/ | */ | |||
const pj_uint16_t pjmedia_codec_amrwb_bitrates[9] = | const pj_uint16_t pjmedia_codec_amrwb_bitrates[9] = | |||
{6600, 8850, 12650, 14250, 15850, 18250, 19850, 23050, 23850}; | {6600, 8850, 12650, 14250, 15850, 18250, 19850, 23050, 23850}; | |||
/** | /** | |||
* This structure describes AMR frame info, to be fitted into @pjmedia_fram e | * This structure describes AMR frame info, to be fitted into #pjmedia_fram e | |||
* bit info. | * bit info. | |||
*/ | */ | |||
#pragma pack(1) | #pragma pack(1) | |||
typedef struct pjmedia_codec_amr_bit_info { | typedef struct pjmedia_codec_amr_bit_info { | |||
pj_uint8_t frame_type; /**< AMR frame type. */ | pj_uint8_t frame_type; /**< AMR frame type. */ | |||
pj_int8_t mode; /**< AMR mode. */ | pj_int8_t mode; /**< AMR mode. */ | |||
pj_uint8_t start_bit; /**< Frame start bit. */ | pj_uint8_t start_bit; /**< Frame start bit. */ | |||
pj_uint8_t good_quality:1; /**< Flag if frame is good/degraded. */ | pj_uint8_t good_quality:1; /**< Flag if frame is good/degraded. */ | |||
} pjmedia_codec_amr_bit_info; | } pjmedia_codec_amr_bit_info; | |||
#pragma pack() | #pragma pack() | |||
skipping to change at line 709 | skipping to change at line 709 | |||
return -1; | return -1; | |||
} | } | |||
/** | /** | |||
* Prepare a frame before pass it to decoder. This function will do: | * Prepare a frame before pass it to decoder. This function will do: | |||
* - reorder AMR bitstream from descending sensitivity order into | * - reorder AMR bitstream from descending sensitivity order into | |||
* encoder bits order. This can be enabled/disabled via param | * encoder bits order. This can be enabled/disabled via param | |||
* 'setting' by setting/resetting field 'reorder'. | * 'setting' by setting/resetting field 'reorder'. | |||
* - align left the start bit (make the start_bit to be 0). | * - align left the start bit (make the start_bit to be 0). | |||
* | * | |||
* @param amr_nb Set PJ_TRUE for AMR-NB and PJ_FALSE for AMR-WB. | ||||
* @param in Input frame. | * @param in Input frame. | |||
* @param setting Settings, see @pjmedia_codec_amr_pack_setting. | * @param setting Settings, see #pjmedia_codec_amr_pack_setting. | |||
* @param out Output frame. | * @param out Output frame. | |||
* | * | |||
* @return PJ_SUCCESS on success. | * @return PJ_SUCCESS on success. | |||
*/ | */ | |||
PJ_INLINE(pj_status_t) pjmedia_codec_amr_predecode( | PJ_INLINE(pj_status_t) pjmedia_codec_amr_predecode( | |||
const pjmedia_frame *in, | const pjmedia_frame *in, | |||
const pjmedia_codec_amr_pack_setting *setting, | const pjmedia_codec_amr_pack_setting *setting, | |||
pjmedia_frame *out) | pjmedia_frame *out) | |||
{ | { | |||
pj_int8_t amr_bits[477 + 7] = {0}; | pj_int8_t amr_bits[477 + 7] = {0}; | |||
skipping to change at line 848 | skipping to change at line 847 | |||
out_info->start_bit = 0; | out_info->start_bit = 0; | |||
return PJ_SUCCESS; | return PJ_SUCCESS; | |||
} | } | |||
/** | /** | |||
* Pack encoded AMR frame(s) into an RTP payload. | * Pack encoded AMR frame(s) into an RTP payload. | |||
* | * | |||
* @param frames AMR frames to be packed. | * @param frames AMR frames to be packed. | |||
* @param nframes Number of frames to be packed. | * @param nframes Number of frames to be packed. | |||
* @param setting Settings, see @pjmedia_codec_amr_pack_setting. | * @param setting Settings, see #pjmedia_codec_amr_pack_setting. | |||
* @param pkt Payload. | * @param pkt Payload. | |||
* @param pkt_size Payload size, as input this specifies payload maximum s ize, | * @param pkt_size Payload size, as input this specifies payload maximum s ize, | |||
* as output this specifies payload packed size. | * as output this specifies payload packed size. | |||
* | * | |||
* @return PJ_SUCCESS on success. | * @return PJ_SUCCESS on success. | |||
*/ | */ | |||
PJ_INLINE (pj_status_t) pjmedia_codec_amr_pack( | PJ_INLINE (pj_status_t) pjmedia_codec_amr_pack( | |||
const pjmedia_frame frames[], | const pjmedia_frame frames[], | |||
unsigned nframes, | unsigned nframes, | |||
const pjmedia_codec_amr_pack_setting *setting, | const pjmedia_codec_amr_pack_setting *setting, | |||
skipping to change at line 1064 | skipping to change at line 1063 | |||
return PJ_SUCCESS; | return PJ_SUCCESS; | |||
} | } | |||
/** | /** | |||
* Parse AMR payload into frames. | * Parse AMR payload into frames. | |||
* | * | |||
* @param pkt Payload. | * @param pkt Payload. | |||
* @param pkt_size Payload size. | * @param pkt_size Payload size. | |||
* @param ts Base timestamp. | * @param ts Base timestamp. | |||
* @param setting Settings, see @pjmedia_codec_amr_pack_setting. | * @param setting Settings, see #pjmedia_codec_amr_pack_setting. | |||
* @param frames Frames parsed. | * @param frames Frames parsed. | |||
* @param nframes Number of frames parsed. | * @param nframes Number of frames parsed. | |||
* @param cmr Change Mode Request message for local encoder. | * @param cmr Change Mode Request message for local encoder. | |||
* | * | |||
* @return PJ_SUCCESS on success. | * @return PJ_SUCCESS on success. | |||
*/ | */ | |||
PJ_INLINE(pj_status_t) pjmedia_codec_amr_parse( | PJ_INLINE(pj_status_t) pjmedia_codec_amr_parse( | |||
void *pkt, | void *pkt, | |||
pj_size_t pkt_size, | pj_size_t pkt_size, | |||
const pj_timestamp *ts, | const pj_timestamp *ts, | |||
End of changes. 6 change blocks. | ||||
6 lines changed or deleted | 5 lines changed or added | |||
audiodev.h | audiodev.h | |||
---|---|---|---|---|
/* $Id: audiodev.h 3174 2010-05-17 12:51:06Z ming $ */ | /* $Id: audiodev.h 3327 2010-09-30 04:23:27Z bennylp $ */ | |||
/* | /* | |||
* Copyright (C) 2008-2009 Teluu Inc. (http://www.teluu.com) | * Copyright (C) 2008-2009 Teluu Inc. (http://www.teluu.com) | |||
* Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> | * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> | |||
* | * | |||
* This program is free software; you can redistribute it and/or modify | * This program is free software; you can redistribute it and/or modify | |||
* it under the terms of the GNU General Public License as published by | * it under the terms of the GNU General Public License as published by | |||
* the Free Software Foundation; either version 2 of the License, or | * the Free Software Foundation; either version 2 of the License, or | |||
* (at your option) any later version. | * (at your option) any later version. | |||
* | * | |||
* This program is distributed in the hope that it will be useful, | * This program is distributed in the hope that it will be useful, | |||
skipping to change at line 449 | skipping to change at line 449 | |||
*/ | */ | |||
PJ_DECL(const char*) pjmedia_aud_dev_cap_name(pjmedia_aud_dev_cap cap, | PJ_DECL(const char*) pjmedia_aud_dev_cap_name(pjmedia_aud_dev_cap cap, | |||
const char **p_desc); | const char **p_desc); | |||
/** | /** | |||
* Set a capability field value in #pjmedia_aud_param structure. This will | * Set a capability field value in #pjmedia_aud_param structure. This will | |||
* also set the flags field for the specified capability in the structure. | * also set the flags field for the specified capability in the structure. | |||
* | * | |||
* @param param The structure. | * @param param The structure. | |||
* @param cap The audio capability which value is to be set. | * @param cap The audio capability which value is to be set. | |||
* @param value Pointer to value. Please see the type of val ue to | * @param pval Pointer to value. Please see the type of value to | |||
* be supplied in the pjmedia_aud_dev_cap documentation . | * be supplied in the pjmedia_aud_dev_cap documentation . | |||
* | * | |||
* @return PJ_SUCCESS on successful operation or the appropriat e | * @return PJ_SUCCESS on successful operation or the appropriat e | |||
* error code. | * error code. | |||
*/ | */ | |||
PJ_DECL(pj_status_t) pjmedia_aud_param_set_cap(pjmedia_aud_param *param, | PJ_DECL(pj_status_t) pjmedia_aud_param_set_cap(pjmedia_aud_param *param, | |||
pjmedia_aud_dev_cap cap, | pjmedia_aud_dev_cap cap, | |||
const void *pval); | const void *pval); | |||
/** | /** | |||
* Get a capability field value from #pjmedia_aud_param structure. This | * Get a capability field value from #pjmedia_aud_param structure. This | |||
* function will return PJMEDIA_EAUD_INVCAP error if the flag for that | * function will return PJMEDIA_EAUD_INVCAP error if the flag for that | |||
* capability is not set in the flags field in the structure. | * capability is not set in the flags field in the structure. | |||
* | * | |||
* @param param The structure. | * @param param The structure. | |||
* @param cap The audio capability which value is to be retrieved. | * @param cap The audio capability which value is to be retrieved. | |||
* @param value Pointer to value. Please see the type of val ue to | * @param pval Pointer to value. Please see the type of value to | |||
* be supplied in the pjmedia_aud_dev_cap documentation . | * be supplied in the pjmedia_aud_dev_cap documentation . | |||
* | * | |||
* @return PJ_SUCCESS on successful operation or the appropriat e | * @return PJ_SUCCESS on successful operation or the appropriat e | |||
* error code. | * error code. | |||
*/ | */ | |||
PJ_DECL(pj_status_t) pjmedia_aud_param_get_cap(const pjmedia_aud_param *par am, | PJ_DECL(pj_status_t) pjmedia_aud_param_get_cap(const pjmedia_aud_param *par am, | |||
pjmedia_aud_dev_cap cap, | pjmedia_aud_dev_cap cap, | |||
void *pval); | void *pval); | |||
/** | /** | |||
End of changes. 3 change blocks. | ||||
3 lines changed or deleted | 3 lines changed or added | |||
conference.h | conference.h | |||
---|---|---|---|---|
/* $Id: conference.h 2728 2009-06-01 13:56:09Z nanang $ */ | /* $Id: conference.h 3327 2010-09-30 04:23:27Z bennylp $ */ | |||
/* | /* | |||
* Copyright (C) 2008-2009 Teluu Inc. (http://www.teluu.com) | * Copyright (C) 2008-2009 Teluu Inc. (http://www.teluu.com) | |||
* Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> | * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> | |||
* | * | |||
* This program is free software; you can redistribute it and/or modify | * This program is free software; you can redistribute it and/or modify | |||
* it under the terms of the GNU General Public License as published by | * it under the terms of the GNU General Public License as published by | |||
* the Free Software Foundation; either version 2 of the License, or | * the Free Software Foundation; either version 2 of the License, or | |||
* (at your option) any later version. | * (at your option) any later version. | |||
* | * | |||
* This program is distributed in the hope that it will be useful, | * This program is distributed in the hope that it will be useful, | |||
skipping to change at line 233 | skipping to change at line 233 | |||
* @return PJ_SUCCESS on success. | * @return PJ_SUCCESS on success. | |||
*/ | */ | |||
PJ_DECL(pj_status_t) pjmedia_conf_add_port( pjmedia_conf *conf, | PJ_DECL(pj_status_t) pjmedia_conf_add_port( pjmedia_conf *conf, | |||
pj_pool_t *pool, | pj_pool_t *pool, | |||
pjmedia_port *strm_port, | pjmedia_port *strm_port, | |||
const pj_str_t *name, | const pj_str_t *name, | |||
unsigned *p_slot ); | unsigned *p_slot ); | |||
/** | /** | |||
* <i><b>Warning:</b> This API has been deprecated since 1.3 and will be | * <i><b>Warning:</b> This API has been deprecated since 1.3 and will be | |||
* removed in the future release, use #PJMEDIA_SPLITCOMB instead.</i> | * removed in the future release, use @ref PJMEDIA_SPLITCOMB instead.</i> | |||
* | * | |||
* Create and add a passive media port to the conference bridge. Unlike | * Create and add a passive media port to the conference bridge. Unlike | |||
* "normal" media port that is added with #pjmedia_conf_add_port(), media | * "normal" media port that is added with #pjmedia_conf_add_port(), media | |||
* port created with this function will not have its get_frame() and | * port created with this function will not have its get_frame() and | |||
* put_frame() called by the bridge; instead, application MUST continuosly | * put_frame() called by the bridge; instead, application MUST continuosly | |||
* call these functions to the port, to allow media to flow from/to the | * call these functions to the port, to allow media to flow from/to the | |||
* port. | * port. | |||
* | * | |||
* Upon return of this function, application will be given two objects: | * Upon return of this function, application will be given two objects: | |||
* the slot number of the port in the bridge, and pointer to the media | * the slot number of the port in the bridge, and pointer to the media | |||
End of changes. 2 change blocks. | ||||
2 lines changed or deleted | 2 lines changed or added | |||
config.h | config.h | |||
---|---|---|---|---|
/* $Id: config.h 3182 2010-05-19 06:07:40Z bennylp $ */ | /* $Id: config.h 3316 2010-09-22 13:11:11Z ming $ */ | |||
/* | /* | |||
* Copyright (C) 2008-2009 Teluu Inc. (http://www.teluu.com) | * Copyright (C) 2008-2009 Teluu Inc. (http://www.teluu.com) | |||
* Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> | * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> | |||
* | * | |||
* This program is free software; you can redistribute it and/or modify | * This program is free software; you can redistribute it and/or modify | |||
* it under the terms of the GNU General Public License as published by | * it under the terms of the GNU General Public License as published by | |||
* the Free Software Foundation; either version 2 of the License, or | * the Free Software Foundation; either version 2 of the License, or | |||
* (at your option) any later version. | * (at your option) any later version. | |||
* | * | |||
* This program is distributed in the hope that it will be useful, | * This program is distributed in the hope that it will be useful, | |||
skipping to change at line 498 | skipping to change at line 498 | |||
* Libraries sometimes needs to make copy of an address to stack buffer; | * Libraries sometimes needs to make copy of an address to stack buffer; | |||
* the value here affects the stack usage. | * the value here affects the stack usage. | |||
* | * | |||
* Default: 128 | * Default: 128 | |||
*/ | */ | |||
#ifndef PJ_MAX_HOSTNAME | #ifndef PJ_MAX_HOSTNAME | |||
# define PJ_MAX_HOSTNAME (128) | # define PJ_MAX_HOSTNAME (128) | |||
#endif | #endif | |||
/** | /** | |||
* Maximum consecutive identical error for accept() operation before | ||||
* activesock stops calling the next ioqueue accept. | ||||
* | ||||
* Default: 50 | ||||
*/ | ||||
#ifndef PJ_ACTIVESOCK_MAX_CONSECUTIVE_ACCEPT_ERROR | ||||
# define PJ_ACTIVESOCK_MAX_CONSECUTIVE_ACCEPT_ERROR 50 | ||||
#endif | ||||
/** | ||||
* Constants for declaring the maximum handles that can be supported by | * Constants for declaring the maximum handles that can be supported by | |||
* a single IOQ framework. This constant might not be relevant to the | * a single IOQ framework. This constant might not be relevant to the | |||
* underlying I/O queue impelementation, but still, developers should be | * underlying I/O queue impelementation, but still, developers should be | |||
* aware of this constant, to make sure that the program will not break whe n | * aware of this constant, to make sure that the program will not break whe n | |||
* the underlying implementation changes. | * the underlying implementation changes. | |||
*/ | */ | |||
#ifndef PJ_IOQUEUE_MAX_HANDLES | #ifndef PJ_IOQUEUE_MAX_HANDLES | |||
# define PJ_IOQUEUE_MAX_HANDLES (64) | # define PJ_IOQUEUE_MAX_HANDLES (64) | |||
#endif | #endif | |||
End of changes. 2 change blocks. | ||||
1 lines changed or deleted | 11 lines changed or added | |||
config_site_sample.h | config_site_sample.h | |||
---|---|---|---|---|
skipping to change at line 370 | skipping to change at line 370 | |||
# undef PJ_OS_HAS_CHECK_STACK | # undef PJ_OS_HAS_CHECK_STACK | |||
# define PJ_OS_HAS_CHECK_STACK 0 | # define PJ_OS_HAS_CHECK_STACK 0 | |||
# define PJ_LOG_MAX_LEVEL 0 | # define PJ_LOG_MAX_LEVEL 0 | |||
# define PJ_ENABLE_EXTRA_CHECK 0 | # define PJ_ENABLE_EXTRA_CHECK 0 | |||
# define PJ_HAS_ERROR_STRING 0 | # define PJ_HAS_ERROR_STRING 0 | |||
# undef PJ_IOQUEUE_MAX_HANDLES | # undef PJ_IOQUEUE_MAX_HANDLES | |||
/* Putting max handles to lower than 32 will make pj_fd_set_t size smaller | /* Putting max handles to lower than 32 will make pj_fd_set_t size smaller | |||
* than native fdset_t and will trigger assertion on sock_select.c. | * than native fdset_t and will trigger assertion on sock_select.c. | |||
*/ | */ | |||
# define PJ_IOQUEUE_MAX_HANDLES 32 | # define PJ_IOQUEUE_MAX_HANDLES 32 | |||
# define PJ_CRC32_HAS_TABLES 0 | ||||
# define PJSIP_MAX_TSX_COUNT 15 | # define PJSIP_MAX_TSX_COUNT 15 | |||
# define PJSIP_MAX_DIALOG_COUNT 15 | # define PJSIP_MAX_DIALOG_COUNT 15 | |||
# define PJSIP_UDP_SO_SNDBUF_SIZE 4000 | # define PJSIP_UDP_SO_SNDBUF_SIZE 4000 | |||
# define PJSIP_UDP_SO_RCVBUF_SIZE 4000 | # define PJSIP_UDP_SO_RCVBUF_SIZE 4000 | |||
# define PJMEDIA_HAS_LARGE_FILTER 0 | # define PJMEDIA_HAS_ALAW_ULAW_TABLE 0 | |||
# define PJMEDIA_HAS_SMALL_FILTER 0 | ||||
#elif defined(PJ_CONFIG_MAXIMUM_SPEED) | #elif defined(PJ_CONFIG_MAXIMUM_SPEED) | |||
# define PJ_SCANNER_USE_BITWISE 0 | # define PJ_SCANNER_USE_BITWISE 0 | |||
# undef PJ_OS_HAS_CHECK_STACK | # undef PJ_OS_HAS_CHECK_STACK | |||
# define PJ_OS_HAS_CHECK_STACK 0 | # define PJ_OS_HAS_CHECK_STACK 0 | |||
# define PJ_LOG_MAX_LEVEL 3 | # define PJ_LOG_MAX_LEVEL 3 | |||
# define PJ_ENABLE_EXTRA_CHECK 0 | # define PJ_ENABLE_EXTRA_CHECK 0 | |||
# define PJ_IOQUEUE_MAX_HANDLES 5000 | # define PJ_IOQUEUE_MAX_HANDLES 5000 | |||
# define PJSIP_MAX_TSX_COUNT ((640*1024)-1) | # define PJSIP_MAX_TSX_COUNT ((640*1024)-1) | |||
# define PJSIP_MAX_DIALOG_COUNT ((640*1024)-1) | # define PJSIP_MAX_DIALOG_COUNT ((640*1024)-1) | |||
End of changes. 2 change blocks. | ||||
2 lines changed or deleted | 2 lines changed or added | |||
delaybuf.h | delaybuf.h | |||
---|---|---|---|---|
/* $Id: delaybuf.h 2394 2008-12-23 17:27:53Z bennylp $ */ | /* $Id: delaybuf.h 3327 2010-09-30 04:23:27Z bennylp $ */ | |||
/* | /* | |||
* Copyright (C) 2008-2009 Teluu Inc. (http://www.teluu.com) | * Copyright (C) 2008-2009 Teluu Inc. (http://www.teluu.com) | |||
* Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> | * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> | |||
* | * | |||
* This program is free software; you can redistribute it and/or modify | * This program is free software; you can redistribute it and/or modify | |||
* it under the terms of the GNU General Public License as published by | * it under the terms of the GNU General Public License as published by | |||
* the Free Software Foundation; either version 2 of the License, or | * the Free Software Foundation; either version 2 of the License, or | |||
* (at your option) any later version. | * (at your option) any later version. | |||
* | * | |||
* This program is distributed in the hope that it will be useful, | * This program is distributed in the hope that it will be useful, | |||
skipping to change at line 81 | skipping to change at line 81 | |||
* from. | * from. | |||
* @param name Optional name for the buffer for log | * @param name Optional name for the buffer for log | |||
* identification. | * identification. | |||
* @param clock_rate Number of samples processed per second. | * @param clock_rate Number of samples processed per second. | |||
* @param samples_per_frame Number of samples per frame. | * @param samples_per_frame Number of samples per frame. | |||
* @param channel_count Number of channel per frame. | * @param channel_count Number of channel per frame. | |||
* @param max_delay Maximum number of delay to be accommodated, | * @param max_delay Maximum number of delay to be accommodated, | |||
* in ms, if this value is negative or less than | * in ms, if this value is negative or less than | |||
* one frame time, default maximum delay used is | * one frame time, default maximum delay used is | |||
* 400 ms. | * 400 ms. | |||
* @param option Option flags, must be zero for now. | * @param options Option flags, must be zero for now. | |||
* @param p_b Pointer to receive the delay buffer instance. | * @param p_b Pointer to receive the delay buffer instance. | |||
* | * | |||
* @return PJ_SUCCESS if the delay buffer has been | * @return PJ_SUCCESS if the delay buffer has been | |||
* created successfully, otherwise the appropriate | * created successfully, otherwise the appropriate | |||
* error will be returned. | * error will be returned. | |||
*/ | */ | |||
PJ_DECL(pj_status_t) pjmedia_delay_buf_create(pj_pool_t *pool, | PJ_DECL(pj_status_t) pjmedia_delay_buf_create(pj_pool_t *pool, | |||
const char *name, | const char *name, | |||
unsigned clock_rate, | unsigned clock_rate, | |||
unsigned samples_per_frame, | unsigned samples_per_frame, | |||
End of changes. 2 change blocks. | ||||
2 lines changed or deleted | 2 lines changed or added | |||
http_client.h | http_client.h | |||
---|---|---|---|---|
/* $Id: http_client.h 3227 2010-06-29 13:43:05Z ming $ */ | /* $Id: http_client.h 3321 2010-09-27 08:35:08Z bennylp $ */ | |||
/* | /* | |||
* Copyright (C) 2008-2010 Teluu Inc. (http://www.teluu.com) | * Copyright (C) 2008-2010 Teluu Inc. (http://www.teluu.com) | |||
* | * | |||
* This program is free software; you can redistribute it and/or modify | * This program is free software; you can redistribute it and/or modify | |||
* it under the terms of the GNU General Public License as published by | * it under the terms of the GNU General Public License as published by | |||
* the Free Software Foundation; either version 2 of the License, or | * the Free Software Foundation; either version 2 of the License, or | |||
* (at your option) any later version. | * (at your option) any later version. | |||
* | * | |||
* This program is distributed in the hope that it will be useful, | * This program is distributed in the hope that it will be useful, | |||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |||
skipping to change at line 52 | skipping to change at line 52 | |||
*/ | */ | |||
typedef struct pj_http_req pj_http_req; | typedef struct pj_http_req pj_http_req; | |||
/** | /** | |||
* Defines the maximum number of elements in a pj_http_headers | * Defines the maximum number of elements in a pj_http_headers | |||
* structure. | * structure. | |||
*/ | */ | |||
#define PJ_HTTP_HEADER_SIZE 32 | #define PJ_HTTP_HEADER_SIZE 32 | |||
/** | /** | |||
* HTTP header representation. | ||||
*/ | ||||
typedef struct pj_http_header_elmt | ||||
{ | ||||
pj_str_t name; /**< Header name */ | ||||
pj_str_t value; /**< Header value */ | ||||
} pj_http_header_elmt; | ||||
/** | ||||
* This structure describes http request/response headers. | * This structure describes http request/response headers. | |||
* Application should call #pj_http_headers_add_elmt() to | * Application should call #pj_http_headers_add_elmt() to | |||
* add a header field. | * add a header field. | |||
*/ | */ | |||
typedef struct pj_http_headers | typedef struct pj_http_headers | |||
{ | { | |||
unsigned count; /**< Number of header fields */ | /**< Number of header fields */ | |||
struct pj_http_header_elmt | unsigned count; | |||
{ | ||||
pj_str_t name; | /** Header elements/fields */ | |||
pj_str_t value; | pj_http_header_elmt header[PJ_HTTP_HEADER_SIZE]; | |||
} header[PJ_HTTP_HEADER_SIZE]; /**< Header elements/fields */ | ||||
} pj_http_headers; | } pj_http_headers; | |||
/** | /** | |||
* Structure to save HTTP authentication credential. | ||||
*/ | ||||
typedef struct pj_http_auth_cred | ||||
{ | ||||
/** | ||||
* Specify specific authentication schemes to be responded. Valid value | ||||
s | ||||
* are "basic" and "digest". If this field is not set, any authenticati | ||||
on | ||||
* schemes will be responded. | ||||
* | ||||
* Default is empty. | ||||
*/ | ||||
pj_str_t scheme; | ||||
/** | ||||
* Specify specific authentication realm to be responded. If this field | ||||
* is set, only 401/407 response with matching realm will be responded. | ||||
* If this field is not set, any realms will be responded. | ||||
* | ||||
* Default is empty. | ||||
*/ | ||||
pj_str_t realm; | ||||
/** | ||||
* Specify authentication username. | ||||
* | ||||
* Default is empty. | ||||
*/ | ||||
pj_str_t username; | ||||
/** | ||||
* The type of password in \a data field. Currently only 0 is | ||||
* supported, meaning the \a data contains plain-text password. | ||||
* | ||||
* Default is 0. | ||||
*/ | ||||
unsigned data_type; | ||||
/** | ||||
* Specify authentication password. The encoding of the password depend | ||||
s | ||||
* on the value of \a data_type field above. | ||||
* | ||||
* Default is empty. | ||||
*/ | ||||
pj_str_t data; | ||||
} pj_http_auth_cred; | ||||
/** | ||||
* Parameters that can be given during http request creation. Application | * Parameters that can be given during http request creation. Application | |||
* must initialize this structure with #pj_http_req_param_default(). | * must initialize this structure with #pj_http_req_param_default(). | |||
*/ | */ | |||
typedef struct pj_http_req_param | typedef struct pj_http_req_param | |||
{ | { | |||
/** | /** | |||
* The address family of the URL. | * The address family of the URL. | |||
* Default is pj_AF_INET(). | * Default is pj_AF_INET(). | |||
*/ | */ | |||
int addr_family; | int addr_family; | |||
skipping to change at line 128 | skipping to change at line 184 | |||
* | * | |||
* Default is empty. | * Default is empty. | |||
*/ | */ | |||
struct pj_http_reqdata | struct pj_http_reqdata | |||
{ | { | |||
void *data; /**< Request body data */ | void *data; /**< Request body data */ | |||
pj_size_t size; /**< Request body size */ | pj_size_t size; /**< Request body size */ | |||
pj_size_t total_size; /**< If total_size > 0, data */ | pj_size_t total_size; /**< If total_size > 0, data */ | |||
/**< will be provided later */ | /**< will be provided later */ | |||
} reqdata; | } reqdata; | |||
/** | ||||
* Authentication credential needed to respond to 401/407 response. | ||||
*/ | ||||
pj_http_auth_cred auth_cred; | ||||
} pj_http_req_param; | } pj_http_req_param; | |||
/** | /** | |||
* HTTP authentication challenge, parsed from WWW-Authenticate header. | ||||
*/ | ||||
typedef struct pj_http_auth_chal | ||||
{ | ||||
pj_str_t scheme; /**< Auth scheme. */ | ||||
pj_str_t realm; /**< Realm for the challenge. */ | ||||
pj_str_t domain; /**< Domain. */ | ||||
pj_str_t nonce; /**< Nonce challenge. */ | ||||
pj_str_t opaque; /**< Opaque value. */ | ||||
int stale; /**< Stale parameter. */ | ||||
pj_str_t algorithm; /**< Algorithm parameter. */ | ||||
pj_str_t qop; /**< Quality of protection. */ | ||||
} pj_http_auth_chal; | ||||
/** | ||||
* This structure describes HTTP response. | * This structure describes HTTP response. | |||
*/ | */ | |||
typedef struct pj_http_resp | typedef struct pj_http_resp | |||
{ | { | |||
pj_str_t version; /**< HTTP version of the server */ | pj_str_t version; /**< HTTP version of the server */ | |||
pj_uint16_t status_code; /**< Status code of the request */ | pj_uint16_t status_code; /**< Status code of the request */ | |||
pj_str_t reason; /**< Reason phrase */ | pj_str_t reason; /**< Reason phrase */ | |||
pj_http_headers headers; /**< Response headers */ | pj_http_headers headers; /**< Response headers */ | |||
/** | pj_http_auth_chal auth_chal; /**< Parsed WWW-Authenticate header, if | |||
* The value of content-length header field. -1 if not | any. */ | |||
* specified. | pj_int32_t content_length; /**< The value of content-length header | |||
*/ | field. -1 if not specified. */ | |||
pj_int32_t content_length; | ||||
void *data; /**< Data received */ | void *data; /**< Data received */ | |||
pj_size_t size; /**< Data size */ | pj_size_t size; /**< Data size */ | |||
} pj_http_resp; | } pj_http_resp; | |||
/** | /** | |||
* This structure describes HTTP URL. | * This structure describes HTTP URL. | |||
*/ | */ | |||
typedef struct pj_http_url | typedef struct pj_http_url | |||
{ | { | |||
pj_str_t username; /**< Username part */ | ||||
pj_str_t passwd; /**< Password part */ | ||||
pj_str_t protocol; /**< Protocol used */ | pj_str_t protocol; /**< Protocol used */ | |||
pj_str_t host; /**< Host name */ | pj_str_t host; /**< Host name */ | |||
pj_uint16_t port; /**< Port number */ | pj_uint16_t port; /**< Port number */ | |||
pj_str_t path; /**< Path */ | pj_str_t path; /**< Path */ | |||
} pj_http_url; | } pj_http_url; | |||
/** | /** | |||
* This structure describes the callbacks to be called by the HTTP request. | * This structure describes the callbacks to be called by the HTTP request. | |||
*/ | */ | |||
typedef struct pj_http_req_callback | typedef struct pj_http_req_callback | |||
End of changes. 8 change blocks. | ||||
12 lines changed or deleted | 93 lines changed or added | |||
pjsua_internal.h | pjsua_internal.h | |||
---|---|---|---|---|
/* $Id: pjsua_internal.h 3216 2010-06-22 06:02:13Z bennylp $ */ | /* $Id: pjsua_internal.h 3349 2010-10-20 05:31:08Z bennylp $ */ | |||
/* | /* | |||
* Copyright (C) 2008-2009 Teluu Inc. (http://www.teluu.com) | * Copyright (C) 2008-2009 Teluu Inc. (http://www.teluu.com) | |||
* Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> | * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> | |||
* | * | |||
* This program is free software; you can redistribute it and/or modify | * This program is free software; you can redistribute it and/or modify | |||
* it under the terms of the GNU General Public License as published by | * it under the terms of the GNU General Public License as published by | |||
* the Free Software Foundation; either version 2 of the License, or | * the Free Software Foundation; either version 2 of the License, or | |||
* (at your option) any later version. | * (at your option) any later version. | |||
* | * | |||
* This program is distributed in the hope that it will be useful, | * This program is distributed in the hope that it will be useful, | |||
skipping to change at line 64 | skipping to change at line 64 | |||
pjsip_inv_session *inv; /**< The invite session. */ | pjsip_inv_session *inv; /**< The invite session. */ | |||
void *user_data; /**< User/application data. */ | void *user_data; /**< User/application data. */ | |||
pjsip_status_code last_code; /**< Last status code seen. */ | pjsip_status_code last_code; /**< Last status code seen. */ | |||
pj_str_t last_text; /**< Last status text seen. */ | pj_str_t last_text; /**< Last status text seen. */ | |||
pj_time_val start_time;/**< First INVITE sent/received. */ | pj_time_val start_time;/**< First INVITE sent/received. */ | |||
pj_time_val res_time; /**< First response sent/receive d. */ | pj_time_val res_time; /**< First response sent/receive d. */ | |||
pj_time_val conn_time; /**< Connected/confirmed time. */ | pj_time_val conn_time; /**< Connected/confirmed time. */ | |||
pj_time_val dis_time; /**< Disconnect time. */ | pj_time_val dis_time; /**< Disconnect time. */ | |||
pjsua_acc_id acc_id; /**< Account index being used. */ | pjsua_acc_id acc_id; /**< Account index being used. */ | |||
int secure_level;/**< Signaling security level. */ | int secure_level;/**< Signaling security level. */ | |||
pjsua_call_hold_type call_hold_type; /**< How to do call hold. */ | ||||
pj_bool_t local_hold;/**< Flag for call-hold by local. */ | pj_bool_t local_hold;/**< Flag for call-hold by local. */ | |||
pjsua_call_media_status media_st;/**< Media state. */ | pjsua_call_media_status media_st;/**< Media state. */ | |||
pjmedia_dir media_dir; /**< Media direction. */ | pjmedia_dir media_dir; /**< Media direction. */ | |||
pjmedia_session *session; /**< The media session. */ | pjmedia_session *session; /**< The media session. */ | |||
int audio_idx; /**< Index of m=audio in SDP. */ | int audio_idx; /**< Index of m=audio in SDP. */ | |||
pj_uint32_t ssrc; /**< RTP SSRC */ | pj_uint32_t ssrc; /**< RTP SSRC */ | |||
pj_uint32_t rtp_tx_ts; /**< Initial RTP timestamp for s ender. */ | pj_uint32_t rtp_tx_ts; /**< Initial RTP timestamp for s ender. */ | |||
pj_uint16_t rtp_tx_seq;/**< Initial RTP sequence for se nder. */ | pj_uint16_t rtp_tx_seq;/**< Initial RTP sequence for se nder. */ | |||
pj_uint8_t rtp_tx_seq_ts_set; | pj_uint8_t rtp_tx_seq_ts_set; | |||
/**< Bitmask flags if initial RTP sequen ce | /**< Bitmask flags if initial RTP sequen ce | |||
skipping to change at line 95 | skipping to change at line 96 | |||
pj_sockaddr med_rtp_addr; /**< Current RTP source addre ss | pj_sockaddr med_rtp_addr; /**< Current RTP source addre ss | |||
(used to update ICE default | (used to update ICE default | |||
address) */ | address) */ | |||
pj_stun_nat_type rem_nat_type; /**< NAT type of remote endpoint. */ | pj_stun_nat_type rem_nat_type; /**< NAT type of remote endpoint. */ | |||
pjmedia_srtp_use rem_srtp_use; /**< Remote's SRTP usage policy. */ | pjmedia_srtp_use rem_srtp_use; /**< Remote's SRTP usage policy. */ | |||
char last_text_buf_[128]; /**< Buffer for last_text. */ | char last_text_buf_[128]; /**< Buffer for last_text. */ | |||
struct { | struct { | |||
pj_timer_entry reinv_timer;/**< Reinvite retry timer. */ | pj_timer_entry reinv_timer;/**< Reinvite retry timer. */ | |||
pjmedia_sdp_session *new_sdp;/**< The new SDP offer. | pj_uint32_t sdp_ver; /**< SDP version of the bad answer | |||
*/ | */ | |||
int retry_cnt; /**< Retry count. | ||||
*/ | ||||
} lock_codec; /**< Data for codec locking when answer | } lock_codec; /**< Data for codec locking when answer | |||
contains multiple codecs. */ | contains multiple codecs. */ | |||
} pjsua_call; | } pjsua_call; | |||
/** | /** | |||
* Server presence subscription list head. | * Server presence subscription list head. | |||
*/ | */ | |||
struct pjsua_srv_pres | struct pjsua_srv_pres | |||
{ | { | |||
End of changes. 3 change blocks. | ||||
3 lines changed or deleted | 6 lines changed or added | |||
port.h | port.h | |||
---|---|---|---|---|
/* $Id: port.h 3292 2010-08-24 10:45:01Z nanang $ */ | /* $Id: port.h 3327 2010-09-30 04:23:27Z bennylp $ */ | |||
/* | /* | |||
* Copyright (C) 2008-2009 Teluu Inc. (http://www.teluu.com) | * Copyright (C) 2008-2009 Teluu Inc. (http://www.teluu.com) | |||
* Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> | * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> | |||
* | * | |||
* This program is free software; you can redistribute it and/or modify | * This program is free software; you can redistribute it and/or modify | |||
* it under the terms of the GNU General Public License as published by | * it under the terms of the GNU General Public License as published by | |||
* the Free Software Foundation; either version 2 of the License, or | * the Free Software Foundation; either version 2 of the License, or | |||
* (at your option) any later version. | * (at your option) any later version. | |||
* | * | |||
* This program is distributed in the hope that it will be useful, | * This program is distributed in the hope that it will be useful, | |||
skipping to change at line 39 | skipping to change at line 39 | |||
#include <pj/os.h> | #include <pj/os.h> | |||
/** | /** | |||
@addtogroup PJMEDIA_PORT Media Ports Framework | @addtogroup PJMEDIA_PORT Media Ports Framework | |||
@{ | @{ | |||
@section media_port_intro Media Port Concepts | @section media_port_intro Media Port Concepts | |||
@subsection The Media Port | @subsection The Media Port | |||
A media port (represented with pjmedia_port "class") provides a generic | A media port (represented with pjmedia_port "class") provides a generic | |||
and extensible framework for implementing media terminations. A media | and extensible framework for implementing media elements. Media element | |||
itself could be a media source, sink, or processing element. A media | ||||
port interface basically has the following properties: | port interface basically has the following properties: | |||
- media port information (pjmedia_port_info) to describe the | - media port information (pjmedia_port_info) to describe the | |||
media port properties (sampling rate, number of channels, etc.), | media port properties (sampling rate, number of channels, etc.), | |||
- pointer to function to acquire frames from the port (<tt>get_frame() | - optional pointer to function to acquire frames from the port (the | |||
</tt> interface), which will be called by #pjmedia_port_get_frame() | <tt>get_frame() </tt> interface), which will be called by | |||
public API, and | #pjmedia_port_get_frame() public API, and | |||
- pointer to function to store frames to the port (<tt>put_frame()</tt> | - optional pointer to function to store frames to the port (the | |||
interface) which will be called by #pjmedia_port_put_frame() public | <tt>put_frame()</tt> interface) which will be called by | |||
API. | #pjmedia_port_put_frame() public API. | |||
Media ports are passive "objects". Applications (or other PJMEDIA | The <tt>get_frame()</tt> and <tt>put_frame()</tt> interface of course | |||
components) must actively calls #pjmedia_port_get_frame() or | would only need to be implemented if the media port emits and/or takes | |||
#pjmedia_port_put_frame() from/to the media port in order to retrieve/ | media frames respectively. | |||
store media frames. | ||||
Media ports are passive "objects". By default, there is no worker thread | ||||
to run the media flow. Applications (or other PJMEDIA | ||||
components, as explained in @ref PJMEDIA_PORT_CLOCK) must actively call | ||||
#pjmedia_port_get_frame() or #pjmedia_port_put_frame() from/to the media | ||||
port in order to retrieve/store media frames. | ||||
Some media ports (such as @ref PJMEDIA_CONF and @ref PJMEDIA_RESAMPLE_POR T) | Some media ports (such as @ref PJMEDIA_CONF and @ref PJMEDIA_RESAMPLE_POR T) | |||
may be interconnected with each other, while some | may be interconnected with (or encapsulate) other port, to perform the | |||
combined task of the ports, while some | ||||
others represent the ultimate source/sink termination for the media. | others represent the ultimate source/sink termination for the media. | |||
Interconnection means the upstream media port will call <tt>get_frame()</ | ||||
tt> | ||||
and <tt>put_frame()</tt> to its downstream media port. For this to happen | ||||
, | ||||
the media ports need to have the same format, where format is defined as | ||||
combination of sample format, clock rate, channel count, bits per sample, | ||||
and samples per frame for audio media. | ||||
@subsection port_clock_ex1 Example: Manual Resampling | @subsection port_clock_ex1 Example: Manual Resampling | |||
For example, suppose application wants to convert the sampling rate | For example, suppose application wants to convert the sampling rate | |||
of one WAV file to another. In this case, application would create and | of one WAV file to another. In this case, application would create and | |||
arrange media ports connection as follows: | arrange media ports connection as follows: | |||
\image html sample-manual-resampling.jpg | \image html sample-manual-resampling.jpg | |||
Application would setup the media ports using the following pseudo- | Application would setup the media ports using the following pseudo- | |||
End of changes. 5 change blocks. | ||||
14 lines changed or deleted | 28 lines changed or added | |||
presence.h | presence.h | |||
---|---|---|---|---|
/* $Id: presence.h 2762 2009-06-15 16:03:40Z bennylp $ */ | /* $Id: presence.h 3337 2010-10-12 11:35:55Z bennylp $ */ | |||
/* | /* | |||
* Copyright (C) 2008-2009 Teluu Inc. (http://www.teluu.com) | * Copyright (C) 2008-2009 Teluu Inc. (http://www.teluu.com) | |||
* Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> | * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> | |||
* | * | |||
* This program is free software; you can redistribute it and/or modify | * This program is free software; you can redistribute it and/or modify | |||
* it under the terms of the GNU General Public License as published by | * it under the terms of the GNU General Public License as published by | |||
* the Free Software Foundation; either version 2 of the License, or | * the Free Software Foundation; either version 2 of the License, or | |||
* (at your option) any later version. | * (at your option) any later version. | |||
* | * | |||
* This program is distributed in the hope that it will be useful, | * This program is distributed in the hope that it will be useful, | |||
skipping to change at line 304 | skipping to change at line 304 | |||
/** | /** | |||
* This is a utility function to parse PIDF body into PJSIP presence status . | * This is a utility function to parse PIDF body into PJSIP presence status . | |||
* | * | |||
* @param rdata The incoming SIP message containing the PIDF body. | * @param rdata The incoming SIP message containing the PIDF body. | |||
* @param pool Pool to allocate memory to copy the strings into | * @param pool Pool to allocate memory to copy the strings into | |||
* the presence status structure. | * the presence status structure. | |||
* @param status The presence status to be initialized. | * @param status The presence status to be initialized. | |||
* | * | |||
* @return PJ_SUCCESS on success. | * @return PJ_SUCCESS on success. | |||
* | ||||
* @see pjsip_pres_parse_pidf2() | ||||
*/ | */ | |||
PJ_DECL(pj_status_t) pjsip_pres_parse_pidf(pjsip_rx_data *rdata, | PJ_DECL(pj_status_t) pjsip_pres_parse_pidf(pjsip_rx_data *rdata, | |||
pj_pool_t *pool, | pj_pool_t *pool, | |||
pjsip_pres_status *status); | pjsip_pres_status *status); | |||
/** | /** | |||
* This is a utility function to parse PIDF body into PJSIP presence status | ||||
. | ||||
* | ||||
* @param body Text body, with one extra space at the end to place | ||||
* NULL character temporarily during parsing. | ||||
* @param body_len Length of the body, not including the NULL terminati | ||||
on | ||||
* character. | ||||
* @param pool Pool to allocate memory to copy the strings into | ||||
* the presence status structure. | ||||
* @param status The presence status to be initialized. | ||||
* | ||||
* @return PJ_SUCCESS on success. | ||||
* | ||||
* @see pjsip_pres_parse_pidf() | ||||
*/ | ||||
PJ_DECL(pj_status_t) pjsip_pres_parse_pidf2(char *body, unsigned body_len, | ||||
pj_pool_t *pool, | ||||
pjsip_pres_status *status); | ||||
/** | ||||
* This is a utility function to parse X-PIDF body into PJSIP presence stat us. | * This is a utility function to parse X-PIDF body into PJSIP presence stat us. | |||
* | * | |||
* @param rdata The incoming SIP message containing the X-PI DF body. | * @param rdata The incoming SIP message containing the X-PI DF body. | |||
* @param pool Pool to allocate memory to copy the strings into | * @param pool Pool to allocate memory to copy the strings into | |||
* the presence status structure. | * the presence status structure. | |||
* @param status The presence status to be initialized. | * @param status The presence status to be initialized. | |||
* | * | |||
* @return PJ_SUCCESS on success. | * @return PJ_SUCCESS on success. | |||
* | ||||
* @see pjsip_pres_parse_xpidf2() | ||||
*/ | */ | |||
PJ_DECL(pj_status_t) pjsip_pres_parse_xpidf(pjsip_rx_data *rdata, | PJ_DECL(pj_status_t) pjsip_pres_parse_xpidf(pjsip_rx_data *rdata, | |||
pj_pool_t *pool, | pj_pool_t *pool, | |||
pjsip_pres_status *status); | pjsip_pres_status *status); | |||
/** | /** | |||
* This is a utility function to parse X-PIDF body into PJSIP presence stat | ||||
us. | ||||
* | ||||
* @param body Text body, with one extra space at the end to place | ||||
* NULL character temporarily during parsing. | ||||
* @param body_len Length of the body, not including the NULL terminati | ||||
on | ||||
* character. | ||||
* @param pool Pool to allocate memory to copy the strings into | ||||
* the presence status structure. | ||||
* @param status The presence status to be initialized. | ||||
* | ||||
* @return PJ_SUCCESS on success. | ||||
* | ||||
* @see pjsip_pres_parse_xpidf() | ||||
*/ | ||||
PJ_DECL(pj_status_t) pjsip_pres_parse_xpidf2(char *body, unsigned body_len, | ||||
pj_pool_t *pool, | ||||
pjsip_pres_status *status); | ||||
/** | ||||
* @} | * @} | |||
*/ | */ | |||
PJ_END_DECL | PJ_END_DECL | |||
#endif /* __PJSIP_SIMPLE_PRESENCE_H__ */ | #endif /* __PJSIP_SIMPLE_PRESENCE_H__ */ | |||
End of changes. 5 change blocks. | ||||
1 lines changed or deleted | 47 lines changed or added | |||
rtcp_xr.h | rtcp_xr.h | |||
---|---|---|---|---|
/* $Id: rtcp_xr.h 2394 2008-12-23 17:27:53Z bennylp $ */ | /* $Id: rtcp_xr.h 3327 2010-09-30 04:23:27Z bennylp $ */ | |||
/* | /* | |||
* Copyright (C) 2008-2009 Teluu Inc. (http://www.teluu.com) | * Copyright (C) 2008-2009 Teluu Inc. (http://www.teluu.com) | |||
* Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> | * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> | |||
* | * | |||
* This program is free software; you can redistribute it and/or modify | * This program is free software; you can redistribute it and/or modify | |||
* it under the terms of the GNU General Public License as published by | * it under the terms of the GNU General Public License as published by | |||
* the Free Software Foundation; either version 2 of the License, or | * the Free Software Foundation; either version 2 of the License, or | |||
* (at your option) any later version. | * (at your option) any later version. | |||
* | * | |||
* This program is distributed in the hope that it will be useful, | * This program is distributed in the hope that it will be useful, | |||
skipping to change at line 390 | skipping to change at line 390 | |||
* Private APIs: | * Private APIs: | |||
*/ | */ | |||
/** | /** | |||
* This function is called internally by RTCP session when RTCP XR is enabl ed | * This function is called internally by RTCP session when RTCP XR is enabl ed | |||
* to initialize the RTCP XR session. | * to initialize the RTCP XR session. | |||
* | * | |||
* @param session RTCP XR session. | * @param session RTCP XR session. | |||
* @param r_session RTCP session. | * @param r_session RTCP session. | |||
* @param gmin Gmin value (defined in RFC 3611), set to 0 for default (16). | * @param gmin Gmin value (defined in RFC 3611), set to 0 for default (16). | |||
* @param ptime Packet time. | ||||
* @param frames_per_packet | * @param frames_per_packet | |||
Number of frames per packet. | Number of frames per packet. | |||
*/ | */ | |||
void pjmedia_rtcp_xr_init( pjmedia_rtcp_xr_session *session, | void pjmedia_rtcp_xr_init( pjmedia_rtcp_xr_session *session, | |||
struct pjmedia_rtcp_session *r_session, | struct pjmedia_rtcp_session *r_session, | |||
pj_uint8_t gmin, | pj_uint8_t gmin, | |||
unsigned frames_per_packet); | unsigned frames_per_packet); | |||
/** | /** | |||
* This function is called internally by RTCP session to destroy | * This function is called internally by RTCP session to destroy | |||
skipping to change at line 416 | skipping to change at line 415 | |||
/** | /** | |||
* This function is called internally by RTCP session when it receives | * This function is called internally by RTCP session when it receives | |||
* incoming RTCP XR packets. | * incoming RTCP XR packets. | |||
* | * | |||
* @param session RTCP XR session. | * @param session RTCP XR session. | |||
* @param rtcp_pkt The received RTCP XR packet. | * @param rtcp_pkt The received RTCP XR packet. | |||
* @param size Size of the incoming packet. | * @param size Size of the incoming packet. | |||
*/ | */ | |||
void pjmedia_rtcp_xr_rx_rtcp_xr( pjmedia_rtcp_xr_session *session, | void pjmedia_rtcp_xr_rx_rtcp_xr( pjmedia_rtcp_xr_session *session, | |||
const void *rtcp_xr_pkt, | const void *rtcp_pkt, | |||
pj_size_t size); | pj_size_t size); | |||
/** | /** | |||
* This function is called internally by RTCP session whenever an RTP packe t | * This function is called internally by RTCP session whenever an RTP packe t | |||
* is received or lost to let the RTCP XR session update its statistics. | * is received or lost to let the RTCP XR session update its statistics. | |||
* Data passed to this function is a result of analyzation by RTCP and the | * Data passed to this function is a result of analyzation by RTCP and the | |||
* jitter buffer. Whenever some info is available, the value should be zero | * jitter buffer. Whenever some info is available, the value should be zero | |||
* or more (no negative info), otherwise if info is not available the info | * or more (no negative info), otherwise if info is not available the info | |||
* should be -1 so no update will be done for this info in the RTCP XR sess ion. | * should be -1 so no update will be done for this info in the RTCP XR sess ion. | |||
* | * | |||
End of changes. 3 change blocks. | ||||
3 lines changed or deleted | 2 lines changed or added | |||
sdp.h | sdp.h | |||
---|---|---|---|---|
/* $Id: sdp.h 3198 2010-06-04 13:41:34Z nanang $ */ | /* $Id: sdp.h 3327 2010-09-30 04:23:27Z bennylp $ */ | |||
/* | /* | |||
* Copyright (C) 2008-2009 Teluu Inc. (http://www.teluu.com) | * Copyright (C) 2008-2009 Teluu Inc. (http://www.teluu.com) | |||
* Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> | * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> | |||
* | * | |||
* This program is free software; you can redistribute it and/or modify | * This program is free software; you can redistribute it and/or modify | |||
* it under the terms of the GNU General Public License as published by | * it under the terms of the GNU General Public License as published by | |||
* the Free Software Foundation; either version 2 of the License, or | * the Free Software Foundation; either version 2 of the License, or | |||
* (at your option) any later version. | * (at your option) any later version. | |||
* | * | |||
* This program is distributed in the hope that it will be useful, | * This program is distributed in the hope that it will be useful, | |||
skipping to change at line 497 | skipping to change at line 497 | |||
* | * | |||
* @return PJ_SUCCESS when both media transports are compatible, | * @return PJ_SUCCESS when both media transports are compatible, | |||
* otherwise returns PJMEDIA_SDP_ETPORTNOTEQUAL. | * otherwise returns PJMEDIA_SDP_ETPORTNOTEQUAL. | |||
*/ | */ | |||
PJ_DECL(pj_status_t) pjmedia_sdp_transport_cmp(const pj_str_t *t1, | PJ_DECL(pj_status_t) pjmedia_sdp_transport_cmp(const pj_str_t *t1, | |||
const pj_str_t *t2); | const pj_str_t *t2); | |||
/** | /** | |||
* Deactivate SDP media. | * Deactivate SDP media. | |||
* | * | |||
* @param pool Memory pool to allocate memory from. | ||||
* @param m The SDP media to deactivate. | * @param m The SDP media to deactivate. | |||
* | * | |||
* @return PJ_SUCCESS when SDP media successfully deactivated, | * @return PJ_SUCCESS when SDP media successfully deactivated, | |||
* otherwise appropriate status code returned. | * otherwise appropriate status code returned. | |||
*/ | */ | |||
PJ_DECL(pj_status_t) pjmedia_sdp_media_deactivate(pj_pool_t *pool, | PJ_DECL(pj_status_t) pjmedia_sdp_media_deactivate(pj_pool_t *pool, | |||
pjmedia_sdp_media *m); | pjmedia_sdp_media *m); | |||
/** | /** | |||
* Clone SDP media description and deactivate the new SDP media. | * Clone SDP media description and deactivate the new SDP media. | |||
* | * | |||
* @param pool Memory pool to allocate memory for the clone. | ||||
* @param rhs The SDP media to clone. | * @param rhs The SDP media to clone. | |||
* | * | |||
* @return New media descrption with deactivated indication. | * @return New media descrption with deactivated indication. | |||
*/ | */ | |||
PJ_DECL(pjmedia_sdp_media*) pjmedia_sdp_media_clone_deactivate( | PJ_DECL(pjmedia_sdp_media*) pjmedia_sdp_media_clone_deactivate( | |||
pj_pool_t *pool, | pj_pool_t *pool, | |||
const pjmedia_sdp_media *rhs ); | const pjmedia_sdp_media *rhs ); | |||
/* ************************************************************************ ** | /* ************************************************************************ ** | |||
* SDP SESSION DESCRIPTION | * SDP SESSION DESCRIPTION | |||
skipping to change at line 638 | skipping to change at line 640 | |||
unsigned option); | unsigned option); | |||
/** | /** | |||
* Add new attribute to the session descriptor. | * Add new attribute to the session descriptor. | |||
* | * | |||
* @param s The SDP session description. | * @param s The SDP session description. | |||
* @param attr Attribute to add. | * @param attr Attribute to add. | |||
* | * | |||
* @return PJ_SUCCESS or the appropriate error code. | * @return PJ_SUCCESS or the appropriate error code. | |||
*/ | */ | |||
PJ_DECL(pj_status_t) pjmedia_sdp_session_add_attr(pjmedia_sdp_session *m, | PJ_DECL(pj_status_t) pjmedia_sdp_session_add_attr(pjmedia_sdp_session *s, | |||
pjmedia_sdp_attr *attr); | pjmedia_sdp_attr *attr); | |||
PJ_END_DECL | PJ_END_DECL | |||
/** | /** | |||
* @} | * @} | |||
*/ | */ | |||
#endif /* __PJMEDIA_SDP_H__ */ | #endif /* __PJMEDIA_SDP_H__ */ | |||
End of changes. 4 change blocks. | ||||
2 lines changed or deleted | 4 lines changed or added | |||
sip_config.h | sip_config.h | |||
---|---|---|---|---|
/* $Id: sip_config.h 3182 2010-05-19 06:07:40Z bennylp $ */ | /* $Id: sip_config.h 3329 2010-10-01 00:24:23Z bennylp $ */ | |||
/* | /* | |||
* Copyright (C) 2008-2009 Teluu Inc. (http://www.teluu.com) | * Copyright (C) 2008-2009 Teluu Inc. (http://www.teluu.com) | |||
* Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> | * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> | |||
* | * | |||
* This program is free software; you can redistribute it and/or modify | * This program is free software; you can redistribute it and/or modify | |||
* it under the terms of the GNU General Public License as published by | * it under the terms of the GNU General Public License as published by | |||
* the Free Software Foundation; either version 2 of the License, or | * the Free Software Foundation; either version 2 of the License, or | |||
* (at your option) any later version. | * (at your option) any later version. | |||
* | * | |||
* This program is distributed in the hope that it will be useful, | * This program is distributed in the hope that it will be useful, | |||
skipping to change at line 71 | skipping to change at line 71 | |||
PJ_BEGIN_DECL | PJ_BEGIN_DECL | |||
/** | /** | |||
* This structure describes PJSIP run-time configurations/settings. | * This structure describes PJSIP run-time configurations/settings. | |||
* Application may use #pjsip_cfg() function to modify the settings | * Application may use #pjsip_cfg() function to modify the settings | |||
* before creating the stack. | * before creating the stack. | |||
*/ | */ | |||
typedef struct pjsip_cfg_t | typedef struct pjsip_cfg_t | |||
{ | { | |||
/** Global settings. */ | ||||
struct { | ||||
/** | ||||
* Specify port number should be allowed to appear in To and From | ||||
* header. Note that RFC 3261 disallow this, see Table 1 in section | ||||
* 19.1.1 of the RFC. Default is PJSIP_ALLOW_PORT_IN_FROMTO_HDR. | ||||
*/ | ||||
pj_bool_t allow_port_in_fromto_hdr; | ||||
} endpt; | ||||
/** Transaction layer settings. */ | /** Transaction layer settings. */ | |||
struct { | struct { | |||
/** Maximum number of transactions. The value is initialized with | /** Maximum number of transactions. The value is initialized with | |||
* PJSIP_MAX_TSX_COUNT | * PJSIP_MAX_TSX_COUNT | |||
*/ | */ | |||
unsigned max_count; | unsigned max_count; | |||
/* Timeout values: */ | /* Timeout values: */ | |||
skipping to change at line 349 | skipping to change at line 360 | |||
* break certain applications). So normally it's disabled, unless | * break certain applications). So normally it's disabled, unless | |||
* when benchmarking (to show off big performance). | * when benchmarking (to show off big performance). | |||
* | * | |||
* Default: 0 | * Default: 0 | |||
*/ | */ | |||
#ifndef PJSIP_UNESCAPE_IN_PLACE | #ifndef PJSIP_UNESCAPE_IN_PLACE | |||
# define PJSIP_UNESCAPE_IN_PLACE 0 | # define PJSIP_UNESCAPE_IN_PLACE 0 | |||
#endif | #endif | |||
/** | /** | |||
* Specify port number should be allowed to appear in To and From | ||||
* header. Note that RFC 3261 disallow this, see Table 1 in section | ||||
* 19.1.1 of the RFC. This setting can also be altered at run-time | ||||
* via pjsip_cfg setting, see pjsip_cfg_t.allow_port_in_fromto_hdr | ||||
* field. | ||||
* | ||||
* Default: 0 | ||||
*/ | ||||
#ifndef PJSIP_ALLOW_PORT_IN_FROMTO_HDR | ||||
# define PJSIP_ALLOW_PORT_IN_FROMTO_HDR 0 | ||||
#endif | ||||
/** | ||||
* This macro controls maximum numbers of ioqueue events to be processed | * This macro controls maximum numbers of ioqueue events to be processed | |||
* in a single pjsip_endpt_handle_events() poll. When PJSIP detects that | * in a single pjsip_endpt_handle_events() poll. When PJSIP detects that | |||
* there are probably more events available from the network and total | * there are probably more events available from the network and total | |||
* events so far is less than this value, PJSIP will call pj_ioqueue_poll() | * events so far is less than this value, PJSIP will call pj_ioqueue_poll() | |||
* again to get more events. | * again to get more events. | |||
* | * | |||
* Value 1 works best for ioqueue with select() back-end, while for IOCP it is | * Value 1 works best for ioqueue with select() back-end, while for IOCP it is | |||
* probably best to set this value equal to PJSIP_MAX_TIMED_OUT_ENTRIES | * probably best to set this value equal to PJSIP_MAX_TIMED_OUT_ENTRIES | |||
* since IOCP only processes one event at a time. | * since IOCP only processes one event at a time. | |||
* | * | |||
End of changes. 3 change blocks. | ||||
1 lines changed or deleted | 25 lines changed or added | |||
sip_errno.h | sip_errno.h | |||
---|---|---|---|---|
/* $Id: sip_errno.h 3110 2010-02-25 11:58:19Z nanang $ */ | /* $Id: sip_errno.h 3323 2010-09-28 07:43:18Z bennylp $ */ | |||
/* | /* | |||
* Copyright (C) 2008-2009 Teluu Inc. (http://www.teluu.com) | * Copyright (C) 2008-2009 Teluu Inc. (http://www.teluu.com) | |||
* Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> | * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> | |||
* | * | |||
* This program is free software; you can redistribute it and/or modify | * This program is free software; you can redistribute it and/or modify | |||
* it under the terms of the GNU General Public License as published by | * it under the terms of the GNU General Public License as published by | |||
* the Free Software Foundation; either version 2 of the License, or | * the Free Software Foundation; either version 2 of the License, or | |||
* (at your option) any later version. | * (at your option) any later version. | |||
* | * | |||
* This program is distributed in the hope that it will be useful, | * This program is distributed in the hope that it will be useful, | |||
skipping to change at line 98 | skipping to change at line 98 | |||
/** | /** | |||
* @hideinitializer | * @hideinitializer | |||
* SIP stack is shutting down. | * SIP stack is shutting down. | |||
*/ | */ | |||
#define PJSIP_ESHUTDOWN (PJSIP_ERRNO_START_PJSIP + 3) /* 1 71003 */ | #define PJSIP_ESHUTDOWN (PJSIP_ERRNO_START_PJSIP + 3) /* 1 71003 */ | |||
/** | /** | |||
* @hideinitializer | * @hideinitializer | |||
* SIP object is not initialized. | * SIP object is not initialized. | |||
*/ | */ | |||
#define PJSIP_ENOTINITIALIZED (PJSIP_ERRNO_START_PJSIP + 4) /* 171004 */ | #define PJSIP_ENOTINITIALIZED (PJSIP_ERRNO_START_PJSIP + 4) /* 171004 */ | |||
/** | ||||
* @hideinitializer | ||||
* Missing route set (for tel: URI) | ||||
*/ | ||||
#define PJSIP_ENOROUTESET (PJSIP_ERRNO_START_PJSIP + 5) /* 171005 */ | ||||
/************************************************************ | /************************************************************ | |||
* MESSAGING ERRORS | * MESSAGING ERRORS | |||
***********************************************************/ | ***********************************************************/ | |||
/** | /** | |||
* @hideinitializer | * @hideinitializer | |||
* General invalid message error (e.g. syntax error) | * General invalid message error (e.g. syntax error) | |||
*/ | */ | |||
#define PJSIP_EINVALIDMSG (PJSIP_ERRNO_START_PJSIP + 20) /* 171020 */ | #define PJSIP_EINVALIDMSG (PJSIP_ERRNO_START_PJSIP + 20) /* 171020 */ | |||
/** | /** | |||
End of changes. 2 change blocks. | ||||
1 lines changed or deleted | 6 lines changed or added | |||
sip_msg.h | sip_msg.h | |||
---|---|---|---|---|
/* $Id: sip_msg.h 3241 2010-08-01 09:24:58Z bennylp $ */ | /* $Id: sip_msg.h 3340 2010-10-13 09:41:37Z bennylp $ */ | |||
/* | /* | |||
* Copyright (C) 2008-2009 Teluu Inc. (http://www.teluu.com) | * Copyright (C) 2008-2009 Teluu Inc. (http://www.teluu.com) | |||
* Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> | * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> | |||
* | * | |||
* This program is free software; you can redistribute it and/or modify | * This program is free software; you can redistribute it and/or modify | |||
* it under the terms of the GNU General Public License as published by | * it under the terms of the GNU General Public License as published by | |||
* the Free Software Foundation; either version 2 of the License, or | * the Free Software Foundation; either version 2 of the License, or | |||
* (at your option) any later version. | * (at your option) any later version. | |||
* | * | |||
* This program is distributed in the hope that it will be useful, | * This program is distributed in the hope that it will be useful, | |||
skipping to change at line 537 | skipping to change at line 537 | |||
*/ | */ | |||
PJ_DECL(void) pjsip_media_type_init2(pjsip_media_type *mt, | PJ_DECL(void) pjsip_media_type_init2(pjsip_media_type *mt, | |||
char *type, | char *type, | |||
char *subtype); | char *subtype); | |||
/** | /** | |||
* Compare two media types. | * Compare two media types. | |||
* | * | |||
* @param mt1 The first media type. | * @param mt1 The first media type. | |||
* @param mt2 The second media type. | * @param mt2 The second media type. | |||
* @param cmp_param Specify how to compare the media type parameters: | ||||
* - 0: do not compare parameters | ||||
* - 1: compare parameters but ignore parameters that | ||||
* only appear in one of the media type. | ||||
* - 2: compare the parameters. | ||||
* | * | |||
* @return Zero if both media types are equal, -1 if mt1 < mt2, | * @return Zero if both media types are equal, -1 if mt1 < mt2, | |||
* 1 if mt1 > mt2. | * 1 if mt1 > mt2. | |||
*/ | */ | |||
PJ_DECL(int) pjsip_media_type_cmp(const pjsip_media_type *mt1, | PJ_DECL(int) pjsip_media_type_cmp(const pjsip_media_type *mt1, | |||
const pjsip_media_type *mt2); | const pjsip_media_type *mt2, | |||
int cmp_param); | ||||
/** | /** | |||
* Copy SIP media type to another. | * Copy SIP media type to another. | |||
* | * | |||
* @param pool Pool to duplicate strings. | * @param pool Pool to duplicate strings. | |||
* @param dst Destination structure. | * @param dst Destination structure. | |||
* @param src Source structure. | * @param src Source structure. | |||
*/ | */ | |||
PJ_DECL(void) pjsip_media_type_cp(pj_pool_t *pool, | PJ_DECL(void) pjsip_media_type_cp(pj_pool_t *pool, | |||
pjsip_media_type *dst, | pjsip_media_type *dst, | |||
End of changes. 3 change blocks. | ||||
2 lines changed or deleted | 8 lines changed or added | |||
sip_transaction.h | sip_transaction.h | |||
---|---|---|---|---|
/* $Id: sip_transaction.h 3138 2010-04-14 06:57:35Z nanang $ */ | /* $Id: sip_transaction.h 3311 2010-09-15 07:42:14Z bennylp $ */ | |||
/* | /* | |||
* Copyright (C) 2008-2009 Teluu Inc. (http://www.teluu.com) | * Copyright (C) 2008-2009 Teluu Inc. (http://www.teluu.com) | |||
* Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> | * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> | |||
* | * | |||
* This program is free software; you can redistribute it and/or modify | * This program is free software; you can redistribute it and/or modify | |||
* it under the terms of the GNU General Public License as published by | * it under the terms of the GNU General Public License as published by | |||
* the Free Software Foundation; either version 2 of the License, or | * the Free Software Foundation; either version 2 of the License, or | |||
* (at your option) any later version. | * (at your option) any later version. | |||
* | * | |||
* This program is distributed in the hope that it will be useful, | * This program is distributed in the hope that it will be useful, | |||
skipping to change at line 88 | skipping to change at line 88 | |||
*/ | */ | |||
struct pjsip_transaction | struct pjsip_transaction | |||
{ | { | |||
/* | /* | |||
* Administrivia | * Administrivia | |||
*/ | */ | |||
pj_pool_t *pool; /**< Pool owned by the tsx. */ | pj_pool_t *pool; /**< Pool owned by the tsx. */ | |||
pjsip_module *tsx_user; /**< Transaction user. */ | pjsip_module *tsx_user; /**< Transaction user. */ | |||
pjsip_endpoint *endpt; /**< Endpoint instance. */ | pjsip_endpoint *endpt; /**< Endpoint instance. */ | |||
pj_mutex_t *mutex; /**< Mutex for this tsx. */ | pj_mutex_t *mutex; /**< Mutex for this tsx. */ | |||
pj_mutex_t *mutex_b; /**< Second mutex to avoid | ||||
deadlock. It is used to | ||||
protect timer. | ||||
*/ | ||||
/* | /* | |||
* Transaction identification. | * Transaction identification. | |||
*/ | */ | |||
char obj_name[PJ_MAX_OBJ_NAME]; /**< Log info. */ | char obj_name[PJ_MAX_OBJ_NAME]; /**< Log info. */ | |||
pjsip_role_e role; /**< Role (UAS or UAC) */ | pjsip_role_e role; /**< Role (UAS or UAC) */ | |||
pjsip_method method; /**< The method. */ | pjsip_method method; /**< The method. */ | |||
pj_int32_t cseq; /**< The CSeq */ | pj_int32_t cseq; /**< The CSeq */ | |||
pj_str_t transaction_key;/**< Hash table key. */ | pj_str_t transaction_key;/**< Hash table key. */ | |||
pj_uint32_t hashed_key; /**< Key's hashed va lue. */ | pj_uint32_t hashed_key; /**< Key's hashed va lue. */ | |||
End of changes. 2 change blocks. | ||||
1 lines changed or deleted | 5 lines changed or added | |||
stereo.h | stereo.h | |||
---|---|---|---|---|
/* $Id: stereo.h 2394 2008-12-23 17:27:53Z bennylp $ */ | /* $Id: stereo.h 3327 2010-09-30 04:23:27Z bennylp $ */ | |||
/* | /* | |||
* Copyright (C) 2008-2009 Teluu Inc. (http://www.teluu.com) | * Copyright (C) 2008-2009 Teluu Inc. (http://www.teluu.com) | |||
* Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> | * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> | |||
* | * | |||
* This program is free software; you can redistribute it and/or modify | * This program is free software; you can redistribute it and/or modify | |||
* it under the terms of the GNU General Public License as published by | * it under the terms of the GNU General Public License as published by | |||
* the Free Software Foundation; either version 2 of the License, or | * the Free Software Foundation; either version 2 of the License, or | |||
* (at your option) any later version. | * (at your option) any later version. | |||
* | * | |||
* This program is distributed in the hope that it will be useful, | * This program is distributed in the hope that it will be useful, | |||
skipping to change at line 145 | skipping to change at line 145 | |||
for (i=1; i<=channel_count; ++i) | for (i=1; i<=channel_count; ++i) | |||
multi[samples_per_frame-i] = *src; | multi[samples_per_frame-i] = *src; | |||
samples_per_frame -= channel_count; | samples_per_frame -= channel_count; | |||
--src; | --src; | |||
} | } | |||
return PJ_SUCCESS; | return PJ_SUCCESS; | |||
} | } | |||
/** | /** | |||
* Options for channel converter port. The @pjmedia_stereo_options is also | * Options for channel converter port. The #pjmedia_stereo_options is also | |||
* valid for this port options. | * valid for this port options. | |||
*/ | */ | |||
enum pjmedia_stereo_port_options | typedef enum pjmedia_stereo_port_options | |||
{ | { | |||
/** | /** | |||
* Specifies whether this port should not destroy downstream port when | * Specifies whether this port should not destroy downstream port when | |||
* this port is destroyed. | * this port is destroyed. | |||
*/ | */ | |||
PJMEDIA_STEREO_DONT_DESTROY_DN = 4 | PJMEDIA_STEREO_DONT_DESTROY_DN = 4 | |||
}; | } pjmedia_stereo_port_options; | |||
/** | /** | |||
* Create a mono-multi channel converter port. This creates a converter ses sion, | * Create a mono-multi channel converter port. This creates a converter ses sion, | |||
* which will adjust the samples of audio frame to a different channel coun t | * which will adjust the samples of audio frame to a different channel coun t | |||
* when the port's get_frame() and put_frame() is called. | * when the port's get_frame() and put_frame() is called. | |||
* | * | |||
* When the port's get_frame() is called, this port will get a frame from | * When the port's get_frame() is called, this port will get a frame from | |||
* the downstream port and convert the frame to the target channel count be fore | * the downstream port and convert the frame to the target channel count be fore | |||
* returning it to the caller. | * returning it to the caller. | |||
* | * | |||
End of changes. 4 change blocks. | ||||
4 lines changed or deleted | 4 lines changed or added | |||
stream.h | stream.h | |||
---|---|---|---|---|
/* $Id: stream.h 3237 2010-07-15 10:18:59Z nanang $ */ | /* $Id: stream.h 3327 2010-09-30 04:23:27Z bennylp $ */ | |||
/* | /* | |||
* Copyright (C) 2008-2009 Teluu Inc. (http://www.teluu.com) | * Copyright (C) 2008-2009 Teluu Inc. (http://www.teluu.com) | |||
* Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> | * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> | |||
* | * | |||
* This program is free software; you can redistribute it and/or modify | * This program is free software; you can redistribute it and/or modify | |||
* it under the terms of the GNU General Public License as published by | * it under the terms of the GNU General Public License as published by | |||
* the Free Software Foundation; either version 2 of the License, or | * the Free Software Foundation; either version 2 of the License, or | |||
* (at your option) any later version. | * (at your option) any later version. | |||
* | * | |||
* This program is distributed in the hope that it will be useful, | * This program is distributed in the hope that it will be useful, | |||
skipping to change at line 128 | skipping to change at line 128 | |||
and/or timestamp for sender are set . | and/or timestamp for sender are set . | |||
bit 0/LSB : sequence flag | bit 0/LSB : sequence flag | |||
bit 1 : timestamp flag */ | bit 1 : timestamp flag */ | |||
int jb_init; /**< Jitter buffer init delay in msec. | int jb_init; /**< Jitter buffer init delay in msec. | |||
(-1 for default). */ | (-1 for default). */ | |||
int jb_min_pre; /**< Jitter buffer minimum prefe tch | int jb_min_pre; /**< Jitter buffer minimum prefe tch | |||
delay in msec (-1 for default). */ | delay in msec (-1 for default). */ | |||
int jb_max_pre; /**< Jitter buffer maximum prefe tch | int jb_max_pre; /**< Jitter buffer maximum prefe tch | |||
delay in msec (-1 for default). */ | delay in msec (-1 for default). */ | |||
int jb_max; /**< Jitter buffer max delay in msec. */ | int jb_max; /**< Jitter buffer max delay in msec. */ | |||
#if defined(PJMEDIA_STREAM_ENABLE_KA) && PJMEDIA_STREAM_ENABLE_KA!=0 | ||||
pj_bool_t use_ka; /**< Stream keep-alive and NAT hole punc | ||||
h | ||||
(see #PJMEDIA_STREAM_ENABLE_KA) | ||||
is enabled? | ||||
*/ | ||||
#endif | ||||
}; | }; | |||
/** | /** | |||
* @see pjmedia_stream_info. | * @see pjmedia_stream_info. | |||
*/ | */ | |||
typedef struct pjmedia_stream_info pjmedia_stream_info; | typedef struct pjmedia_stream_info pjmedia_stream_info; | |||
/** | /** | |||
* Create a media stream based on the specified parameter. After the stream | * Create a media stream based on the specified parameter. After the stream | |||
* has been created, application normally would want to get the media port | * has been created, application normally would want to get the media port | |||
End of changes. 2 change blocks. | ||||
1 lines changed or deleted | 9 lines changed or added | |||
transport_ice.h | transport_ice.h | |||
---|---|---|---|---|
/* $Id: transport_ice.h 2945 2009-10-14 13:13:18Z bennylp $ */ | /* $Id: transport_ice.h 3327 2010-09-30 04:23:27Z bennylp $ */ | |||
/* | /* | |||
* Copyright (C) 2008-2009 Teluu Inc. (http://www.teluu.com) | * Copyright (C) 2008-2009 Teluu Inc. (http://www.teluu.com) | |||
* Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> | * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> | |||
* | * | |||
* This program is free software; you can redistribute it and/or modify | * This program is free software; you can redistribute it and/or modify | |||
* it under the terms of the GNU General Public License as published by | * it under the terms of the GNU General Public License as published by | |||
* the Free Software Foundation; either version 2 of the License, or | * the Free Software Foundation; either version 2 of the License, or | |||
* (at your option) any later version. | * (at your option) any later version. | |||
* | * | |||
* This program is distributed in the hope that it will be useful, | * This program is distributed in the hope that it will be useful, | |||
skipping to change at line 156 | skipping to change at line 156 | |||
* @return PJ_SUCCESS on success, or the appropriate error code . | * @return PJ_SUCCESS on success, or the appropriate error code . | |||
*/ | */ | |||
PJ_DECL(pj_status_t) pjmedia_ice_create(pjmedia_endpt *endpt, | PJ_DECL(pj_status_t) pjmedia_ice_create(pjmedia_endpt *endpt, | |||
const char *name, | const char *name, | |||
unsigned comp_cnt, | unsigned comp_cnt, | |||
const pj_ice_strans_cfg *cfg, | const pj_ice_strans_cfg *cfg, | |||
const pjmedia_ice_cb *cb, | const pjmedia_ice_cb *cb, | |||
pjmedia_transport **p_tp); | pjmedia_transport **p_tp); | |||
/** | /** | |||
* The same as @pjmedia_ice_create with additional \a options param. | * The same as #pjmedia_ice_create() with additional \a options param. | |||
* | * | |||
* @param endpt The media endpoint. | * @param endpt The media endpoint. | |||
* @param name Optional name to identify this ICE media transport | * @param name Optional name to identify this ICE media transport | |||
* for logging purposes. | * for logging purposes. | |||
* @param comp_cnt Number of components to be created. | * @param comp_cnt Number of components to be created. | |||
* @param cfg Pointer to configuration settings. | * @param cfg Pointer to configuration settings. | |||
* @param cb Optional structure containing ICE specific callbacks . | * @param cb Optional structure containing ICE specific callbacks . | |||
* @param options Options, see #pjmedia_transport_ice_options. | * @param options Options, see #pjmedia_transport_ice_options. | |||
* @param p_tp Pointer to receive the media transport instance. | * @param p_tp Pointer to receive the media transport instance. | |||
* | * | |||
End of changes. 2 change blocks. | ||||
2 lines changed or deleted | 2 lines changed or added | |||