codec.h | codec.h | |||
---|---|---|---|---|
/* $Id: codec.h 3553 2011-05-05 06:14:19Z nanang $ */ | /* $Id: codec.h 4329 2013-01-23 02:57:30Z nanang $ */ | |||
/* | /* | |||
* Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) | * Copyright (C) 2008-2011 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 307 | skipping to change at line 307 | |||
unsigned vad:1; /**< Voice Activity Detector. */ | unsigned vad:1; /**< Voice Activity Detector. */ | |||
unsigned cng:1; /**< Comfort Noise Generator. */ | unsigned cng:1; /**< Comfort Noise Generator. */ | |||
unsigned penh:1; /**< Perceptual Enhancement */ | unsigned penh:1; /**< Perceptual Enhancement */ | |||
unsigned plc:1; /**< Packet loss concealment */ | unsigned plc:1; /**< Packet loss concealment */ | |||
unsigned reserved:1; /**< Reserved, must be zero. */ | unsigned reserved:1; /**< Reserved, must be zero. */ | |||
pjmedia_codec_fmtp enc_fmtp;/**< Encoder's fmtp params. */ | pjmedia_codec_fmtp enc_fmtp;/**< Encoder's fmtp params. */ | |||
pjmedia_codec_fmtp dec_fmtp;/**< Decoder's fmtp params. */ | pjmedia_codec_fmtp dec_fmtp;/**< Decoder's fmtp params. */ | |||
} setting; | } setting; | |||
} pjmedia_codec_param; | } pjmedia_codec_param; | |||
/** | ||||
* Duplicate codec parameter. | ||||
* | ||||
* @param pool The pool. | ||||
* @param src The codec parameter to be duplicated. | ||||
* | ||||
* @return Duplicated codec parameter. | ||||
*/ | ||||
PJ_DECL(pjmedia_codec_param*) pjmedia_codec_param_clone( | ||||
pj_pool_t *pool, | ||||
const pjmedia_codec_param *src); | ||||
/* | /* | |||
* Forward declaration for pjmedia_codec. | * Forward declaration for pjmedia_codec. | |||
*/ | */ | |||
typedef struct pjmedia_codec pjmedia_codec; | typedef struct pjmedia_codec pjmedia_codec; | |||
/** | /** | |||
* This structure describes codec operations. Each codec MUST implement | * This structure describes codec operations. Each codec MUST implement | |||
* all of these functions. | * all of these functions. | |||
*/ | */ | |||
typedef struct pjmedia_codec_op | typedef struct pjmedia_codec_op | |||
End of changes. 2 change blocks. | ||||
1 lines changed or deleted | 13 lines changed or added | |||
config.h | config.h | |||
---|---|---|---|---|
/* $Id: config.h 4142 2012-05-22 11:30:26Z nanang $ */ | /* $Id: config.h 4429 2013-03-07 09:35:20Z nanang $ */ | |||
/* | /* | |||
* Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) | * Copyright (C) 2008-2011 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 1086 | skipping to change at line 1086 | |||
#if !defined(PJ_THREAD_ALLOCATE_STACK) | #if !defined(PJ_THREAD_ALLOCATE_STACK) | |||
# error "PJ_THREAD_ALLOCATE_STACK should be defined in compat/os_xx.h" | # error "PJ_THREAD_ALLOCATE_STACK should be defined in compat/os_xx.h" | |||
#endif | #endif | |||
PJ_BEGIN_DECL | PJ_BEGIN_DECL | |||
/** PJLIB version major number. */ | /** PJLIB version major number. */ | |||
#define PJ_VERSION_NUM_MAJOR 1 | #define PJ_VERSION_NUM_MAJOR 1 | |||
/** PJLIB version minor number. */ | /** PJLIB version minor number. */ | |||
#define PJ_VERSION_NUM_MINOR 14 | #define PJ_VERSION_NUM_MINOR 16 | |||
/** PJLIB version revision number. */ | /** PJLIB version revision number. */ | |||
#define PJ_VERSION_NUM_REV 2 | #define PJ_VERSION_NUM_REV 0 | |||
/** | /** | |||
* Extra suffix for the version (e.g. "-svn"), or empty for | * Extra suffix for the version (e.g. "-svn"), or empty for | |||
* web release version. | * web release version. | |||
*/ | */ | |||
#define PJ_VERSION_NUM_EXTRA "" | #define PJ_VERSION_NUM_EXTRA "" | |||
/** | /** | |||
* PJLIB version number consists of three bytes with the following format: | * PJLIB version number consists of three bytes with the following format: | |||
* 0xMMIIRR00, where MM: major number, II: minor number, RR: revision | * 0xMMIIRR00, where MM: major number, II: minor number, RR: revision | |||
End of changes. 3 change blocks. | ||||
3 lines changed or deleted | 3 lines changed or added | |||
guid.h | guid.h | |||
---|---|---|---|---|
/* $Id: guid.h 3553 2011-05-05 06:14:19Z nanang $ */ | /* $Id: guid.h 4385 2013-02-27 10:11:59Z nanang $ */ | |||
/* | /* | |||
* Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) | * Copyright (C) 2008-2011 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 82 | skipping to change at line 82 | |||
* characters. Caller is responsible for preallocating the storage used | * characters. Caller is responsible for preallocating the storage used | |||
* in the string. | * in the string. | |||
* | * | |||
* @param str The string to store the result. | * @param str The string to store the result. | |||
* | * | |||
* @return The string. | * @return The string. | |||
*/ | */ | |||
PJ_DECL(pj_str_t*) pj_generate_unique_string(pj_str_t *str); | PJ_DECL(pj_str_t*) pj_generate_unique_string(pj_str_t *str); | |||
/** | /** | |||
* Create a globally unique string in lowercase, which length is | ||||
* PJ_GUID_STRING_LENGTH characters. Caller is responsible for preallocatin | ||||
g | ||||
* the storage used in the string. | ||||
* | ||||
* @param str The string to store the result. | ||||
* | ||||
* @return The string. | ||||
*/ | ||||
PJ_DECL(pj_str_t*) pj_generate_unique_string_lower(pj_str_t *str); | ||||
/** | ||||
* Generate a unique string. | * Generate a unique string. | |||
* | * | |||
* @param pool Pool to allocate memory from. | * @param pool Pool to allocate memory from. | |||
* @param str The string. | * @param str The string. | |||
*/ | */ | |||
PJ_DECL(void) pj_create_unique_string(pj_pool_t *pool, pj_str_t *str); | PJ_DECL(void) pj_create_unique_string(pj_pool_t *pool, pj_str_t *str); | |||
/** | /** | |||
* Generate a unique string in lowercase. | ||||
* | ||||
* @param pool Pool to allocate memory from. | ||||
* @param str The string. | ||||
*/ | ||||
PJ_DECL(void) pj_create_unique_string_lower(pj_pool_t *pool, pj_str_t *str) | ||||
; | ||||
/** | ||||
* @} | * @} | |||
*/ | */ | |||
PJ_END_DECL | PJ_END_DECL | |||
#endif/* __PJ_GUID_H__ */ | #endif/* __PJ_GUID_H__ */ | |||
End of changes. 3 change blocks. | ||||
1 lines changed or deleted | 22 lines changed or added | |||
hash.h | hash.h | |||
---|---|---|---|---|
/* $Id: hash.h 3673 2011-07-20 08:08:46Z bennylp $ */ | /* $Id: hash.h 4385 2013-02-27 10:11:59Z nanang $ */ | |||
/* | /* | |||
* Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) | * Copyright (C) 2008-2011 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 77 | skipping to change at line 77 | |||
* @return the hash value. | * @return the hash value. | |||
*/ | */ | |||
PJ_DECL(pj_uint32_t) pj_hash_calc(pj_uint32_t hval, | PJ_DECL(pj_uint32_t) pj_hash_calc(pj_uint32_t hval, | |||
const void *key, unsigned keylen); | const void *key, unsigned keylen); | |||
/** | /** | |||
* Convert the key to lowercase and calculate the hash value. The resulting | * Convert the key to lowercase and calculate the hash value. The resulting | |||
* string is stored in \c result. | * string is stored in \c result. | |||
* | * | |||
* @param hval The initial hash value, normally zero. | * @param hval The initial hash value, normally zero. | |||
* @param result Buffer to store the result, which must be enough to hol | * @param result Optional. Buffer to store the result, which must be eno | |||
d | ugh | |||
* the string. | * to hold the string. | |||
* @param key The input key to be converted and calculated. | * @param key The input key to be converted and calculated. | |||
* | * | |||
* @return The hash value. | * @return The hash value. | |||
*/ | */ | |||
PJ_DECL(pj_uint32_t) pj_hash_calc_tolower(pj_uint32_t hval, | PJ_DECL(pj_uint32_t) pj_hash_calc_tolower(pj_uint32_t hval, | |||
char *result, | char *result, | |||
const pj_str_t *key); | const pj_str_t *key); | |||
/** | /** | |||
* Create a hash table with the specified 'bucket' size. | * Create a hash table with the specified 'bucket' size. | |||
skipping to change at line 116 | skipping to change at line 116 | |||
* the argument is not NULL and the value is zero, it will | * the argument is not NULL and the value is zero, it will | |||
* be filled with the computed hash upon return. | * be filled with the computed hash upon return. | |||
* | * | |||
* @return the value associated with the key, or NULL if the key is not fou nd. | * @return the value associated with the key, or NULL if the key is not fou nd. | |||
*/ | */ | |||
PJ_DECL(void *) pj_hash_get( pj_hash_table_t *ht, | PJ_DECL(void *) pj_hash_get( pj_hash_table_t *ht, | |||
const void *key, unsigned keylen, | const void *key, unsigned keylen, | |||
pj_uint32_t *hval ); | pj_uint32_t *hval ); | |||
/** | /** | |||
* Variant of #pj_hash_get() with the key being converted to lowercase when | ||||
* calculating the hash value. | ||||
* | ||||
* @see pj_hash_get() | ||||
*/ | ||||
PJ_DECL(void *) pj_hash_get_lower( pj_hash_table_t *ht, | ||||
const void *key, unsigned keylen, | ||||
pj_uint32_t *hval ); | ||||
/** | ||||
* Associate/disassociate a value with the specified key. If value is not | * Associate/disassociate a value with the specified key. If value is not | |||
* NULL and entry already exists, the entry's value will be overwritten. | * NULL and entry already exists, the entry's value will be overwritten. | |||
* If value is not NULL and entry does not exist, a new one will be created | * If value is not NULL and entry does not exist, a new one will be created | |||
* with the specified pool. Otherwise if value is NULL, entry will be | * with the specified pool. Otherwise if value is NULL, entry will be | |||
* deleted if it exists. | * deleted if it exists. | |||
* | * | |||
* @param pool the pool to allocate the new entry if a new entry has to be | * @param pool the pool to allocate the new entry if a new entry has to be | |||
* created. | * created. | |||
* @param ht the hash table. | * @param ht the hash table. | |||
* @param key the key. If pool is not specified, the key MUST point to | * @param key the key. If pool is not specified, the key MUST point to | |||
skipping to change at line 141 | skipping to change at line 151 | |||
* compute the key. This value can be obtained when calling | * compute the key. This value can be obtained when calling | |||
* #pj_hash_get(). | * #pj_hash_get(). | |||
* @param value value to be associated, or NULL to delete the en try with | * @param value value to be associated, or NULL to delete the en try with | |||
* the specified key. | * the specified key. | |||
*/ | */ | |||
PJ_DECL(void) pj_hash_set( pj_pool_t *pool, pj_hash_table_t *ht, | PJ_DECL(void) pj_hash_set( pj_pool_t *pool, pj_hash_table_t *ht, | |||
const void *key, unsigned keylen, pj_uint32_t hva l, | const void *key, unsigned keylen, pj_uint32_t hva l, | |||
void *value ); | void *value ); | |||
/** | /** | |||
* Variant of #pj_hash_set() with the key being converted to lowercase when | ||||
* calculating the hash value. | ||||
* | ||||
* @see pj_hash_set() | ||||
*/ | ||||
PJ_DECL(void) pj_hash_set_lower( pj_pool_t *pool, pj_hash_table_t *ht, | ||||
const void *key, unsigned keylen, | ||||
pj_uint32_t hval, void *value ); | ||||
/** | ||||
* Associate/disassociate a value with the specified key. This function wor ks | * Associate/disassociate a value with the specified key. This function wor ks | |||
* like #pj_hash_set(), except that it doesn't use pool (hence the np -- no | * like #pj_hash_set(), except that it doesn't use pool (hence the np -- no | |||
* pool suffix). If new entry needs to be allocated, it will use the entry_ buf. | * pool suffix). If new entry needs to be allocated, it will use the entry_ buf. | |||
* | * | |||
* @param ht the hash table. | * @param ht the hash table. | |||
* @param key the key. | * @param key the key. | |||
* @param keylen the length of the key, or PJ_HASH_KEY_STRING to use the | * @param keylen the length of the key, or PJ_HASH_KEY_STRING to use the | |||
* string length of the key. | * string length of the key. | |||
* @param hval if the value is not zero, then the hash table will use | * @param hval if the value is not zero, then the hash table will use | |||
* this value to search the entry's index, otherwise it wil l | * this value to search the entry's index, otherwise it wil l | |||
skipping to change at line 164 | skipping to change at line 184 | |||
* to be created. | * to be created. | |||
* @param value value to be associated, or NULL to delete the en try with | * @param value value to be associated, or NULL to delete the en try with | |||
* the specified key. | * the specified key. | |||
*/ | */ | |||
PJ_DECL(void) pj_hash_set_np(pj_hash_table_t *ht, | PJ_DECL(void) pj_hash_set_np(pj_hash_table_t *ht, | |||
const void *key, unsigned keylen, | const void *key, unsigned keylen, | |||
pj_uint32_t hval, pj_hash_entry_buf entry_buf, | pj_uint32_t hval, pj_hash_entry_buf entry_buf, | |||
void *value); | void *value); | |||
/** | /** | |||
* Variant of #pj_hash_set_np() with the key being converted to lowercase | ||||
* when calculating the hash value. | ||||
* | ||||
* @see pj_hash_set_np() | ||||
*/ | ||||
PJ_DECL(void) pj_hash_set_np_lower(pj_hash_table_t *ht, | ||||
const void *key, unsigned keylen, | ||||
pj_uint32_t hval, | ||||
pj_hash_entry_buf entry_buf, | ||||
void *value); | ||||
/** | ||||
* Get the total number of entries in the hash table. | * Get the total number of entries in the hash table. | |||
* | * | |||
* @param ht the hash table. | * @param ht the hash table. | |||
* | * | |||
* @return the number of entries in the hash table. | * @return the number of entries in the hash table. | |||
*/ | */ | |||
PJ_DECL(unsigned) pj_hash_count( pj_hash_table_t *ht ); | PJ_DECL(unsigned) pj_hash_count( pj_hash_table_t *ht ); | |||
/** | /** | |||
* Get the iterator to the first element in the hash table. | * Get the iterator to the first element in the hash table. | |||
End of changes. 5 change blocks. | ||||
4 lines changed or deleted | 36 lines changed or added | |||
pjsua_internal.h | pjsua_internal.h | |||
---|---|---|---|---|
/* $Id: pjsua_internal.h 3829 2011-10-19 12:45:05Z bennylp $ */ | /* $Id: pjsua_internal.h 4389 2013-02-27 10:44:04Z ming $ */ | |||
/* | /* | |||
* Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) | * Copyright (C) 2008-2011 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 247 | skipping to change at line 247 | |||
unsigned channel_count; | unsigned channel_count; | |||
unsigned samples_per_frame; | unsigned samples_per_frame; | |||
unsigned bits_per_sample; | unsigned bits_per_sample; | |||
} pjsua_conf_setting; | } pjsua_conf_setting; | |||
typedef struct pjsua_stun_resolve | typedef struct pjsua_stun_resolve | |||
{ | { | |||
PJ_DECL_LIST_MEMBER(struct pjsua_stun_resolve); | PJ_DECL_LIST_MEMBER(struct pjsua_stun_resolve); | |||
pj_pool_t *pool; /**< Pool */ | pj_pool_t *pool; /**< Pool */ | |||
int ref_cnt; /**< Reference count */ | ||||
pj_bool_t destroy_flag; /**< To be destroyed */ | ||||
pj_bool_t has_result; | ||||
unsigned count; /**< # of entries */ | unsigned count; /**< # of entries */ | |||
pj_str_t *srv; /**< Array of entries */ | pj_str_t *srv; /**< Array of entries */ | |||
unsigned idx; /**< Current index */ | unsigned idx; /**< Current index */ | |||
void *token; /**< App token */ | void *token; /**< App token */ | |||
pj_stun_resolve_cb cb; /**< App callback */ | pj_stun_resolve_cb cb; /**< App callback */ | |||
pj_bool_t blocking; /**< Blocking? */ | pj_bool_t blocking; /**< Blocking? */ | |||
pj_status_t status; /**< Session status */ | pj_status_t status; /**< Session status */ | |||
pj_sockaddr addr; /**< Result */ | pj_sockaddr addr; /**< Result */ | |||
pj_stun_sock *stun_sock; /**< Testing STUN sock */ | pj_stun_sock *stun_sock; /**< Testing STUN sock */ | |||
} pjsua_stun_resolve; | } pjsua_stun_resolve; | |||
End of changes. 2 change blocks. | ||||
1 lines changed or deleted | 4 lines changed or added | |||
pool.h | pool.h | |||
---|---|---|---|---|
/* $Id: pool.h 3553 2011-05-05 06:14:19Z nanang $ */ | /* $Id: pool.h 4395 2013-02-27 12:07:30Z ming $ */ | |||
/* | /* | |||
* Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) | * Copyright (C) 2008-2011 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 505 | skipping to change at line 505 | |||
* | * | |||
* @return Memory buffer of the specified type. | * @return Memory buffer of the specified type. | |||
*/ | */ | |||
#define PJ_POOL_ZALLOC_T(pool,type) \ | #define PJ_POOL_ZALLOC_T(pool,type) \ | |||
((type*)pj_pool_zalloc(pool, sizeof(type))) | ((type*)pj_pool_zalloc(pool, sizeof(type))) | |||
/* | /* | |||
* Internal functions | * Internal functions | |||
*/ | */ | |||
PJ_IDECL(void*) pj_pool_alloc_from_block(pj_pool_block *block, pj_size_t si ze); | PJ_IDECL(void*) pj_pool_alloc_from_block(pj_pool_block *block, pj_size_t si ze); | |||
PJ_DECL(void*) pj_pool_allocate_find(pj_pool_t *pool, unsigned size); | PJ_DECL(void*) pj_pool_allocate_find(pj_pool_t *pool, pj_size_t size); | |||
/** | /** | |||
* @} // PJ_POOL | * @} // PJ_POOL | |||
*/ | */ | |||
/* ************************************************************************ **/ | /* ************************************************************************ **/ | |||
/** | /** | |||
* @defgroup PJ_POOL_FACTORY Pool Factory and Policy | * @defgroup PJ_POOL_FACTORY Pool Factory and Policy | |||
* @ingroup PJ_POOL_GROUP | * @ingroup PJ_POOL_GROUP | |||
* @brief | * @brief | |||
End of changes. 2 change blocks. | ||||
2 lines changed or deleted | 2 lines changed or added | |||
pool_i.h | pool_i.h | |||
---|---|---|---|---|
/* $Id: pool_i.h 3553 2011-05-05 06:14:19Z nanang $ */ | /* $Id: pool_i.h 4395 2013-02-27 12:07:30Z ming $ */ | |||
/* | /* | |||
* Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) | * Copyright (C) 2008-2011 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 48 | skipping to change at line 48 | |||
PJ_IDEF(void*) pj_pool_alloc_from_block( pj_pool_block *block, pj_size_t si ze ) | PJ_IDEF(void*) pj_pool_alloc_from_block( pj_pool_block *block, pj_size_t si ze ) | |||
{ | { | |||
/* The operation below is valid for size==0. | /* The operation below is valid for size==0. | |||
* When size==0, the function will return the pointer to the pool | * When size==0, the function will return the pointer to the pool | |||
* memory address, but no memory will be allocated. | * memory address, but no memory will be allocated. | |||
*/ | */ | |||
if (size & (PJ_POOL_ALIGNMENT-1)) { | if (size & (PJ_POOL_ALIGNMENT-1)) { | |||
size = (size + PJ_POOL_ALIGNMENT) & ~(PJ_POOL_ALIGNMENT-1); | size = (size + PJ_POOL_ALIGNMENT) & ~(PJ_POOL_ALIGNMENT-1); | |||
} | } | |||
if ((unsigned)(block->end - block->cur) >= size) { | if ((pj_size_t)(block->end - block->cur) >= size) { | |||
void *ptr = block->cur; | void *ptr = block->cur; | |||
block->cur += size; | block->cur += size; | |||
return ptr; | return ptr; | |||
} | } | |||
return NULL; | return NULL; | |||
} | } | |||
PJ_IDEF(void*) pj_pool_alloc( pj_pool_t *pool, pj_size_t size) | PJ_IDEF(void*) pj_pool_alloc( pj_pool_t *pool, pj_size_t size) | |||
{ | { | |||
void *ptr = pj_pool_alloc_from_block(pool->block_list.next, size); | void *ptr = pj_pool_alloc_from_block(pool->block_list.next, size); | |||
End of changes. 2 change blocks. | ||||
2 lines changed or deleted | 2 lines changed or added | |||
sip_uri.h | sip_uri.h | |||
---|---|---|---|---|
/* $Id: sip_uri.h 3553 2011-05-05 06:14:19Z nanang $ */ | /* $Id: sip_uri.h 4404 2013-02-27 14:47:37Z riza $ */ | |||
/* | /* | |||
* Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) | * Copyright (C) 2008-2011 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 225 | skipping to change at line 225 | |||
/** | /** | |||
* The declaration of 'base class' for all URI scheme. | * The declaration of 'base class' for all URI scheme. | |||
*/ | */ | |||
struct pjsip_uri | struct pjsip_uri | |||
{ | { | |||
/** All URIs must have URI virtual function table as their first member . */ | /** All URIs must have URI virtual function table as their first member . */ | |||
pjsip_uri_vptr *vptr; | pjsip_uri_vptr *vptr; | |||
}; | }; | |||
/** | /** | |||
* This macro checks that the URL is a "sip:" or "sips:" URL. | * This macro checks that the URL is a "sip:" URL. | |||
* @param url The URL (pointer to) | * @param url The URL (pointer to) | |||
* @return non-zero if TRUE. | * @return non-zero if TRUE. | |||
*/ | */ | |||
#define PJSIP_URI_SCHEME_IS_SIP(url) \ | #define PJSIP_URI_SCHEME_IS_SIP(url) \ | |||
(pj_strnicmp2(pjsip_uri_get_scheme(url), "sip", 3)==0) | (pj_stricmp2(pjsip_uri_get_scheme(url), "sip")==0) | |||
/** | /** | |||
* This macro checks that the URL is a "sips:" URL (not SIP). | * This macro checks that the URL is a "sips:" URL (not SIP). | |||
* @param url The URL (pointer to) | * @param url The URL (pointer to) | |||
* @return non-zero if TRUE. | * @return non-zero if TRUE. | |||
*/ | */ | |||
#define PJSIP_URI_SCHEME_IS_SIPS(url) \ | #define PJSIP_URI_SCHEME_IS_SIPS(url) \ | |||
(pj_strnicmp2(pjsip_uri_get_scheme(url), "sips", 4)==0) | (pj_stricmp2(pjsip_uri_get_scheme(url), "sips")==0) | |||
/** | /** | |||
* This macro checks that the URL is a "tel:" URL. | * This macro checks that the URL is a "tel:" URL. | |||
* @param url The URL (pointer to) | * @param url The URL (pointer to) | |||
* @return non-zero if TRUE. | * @return non-zero if TRUE. | |||
*/ | */ | |||
#define PJSIP_URI_SCHEME_IS_TEL(url) \ | #define PJSIP_URI_SCHEME_IS_TEL(url) \ | |||
(pj_strnicmp2(pjsip_uri_get_scheme(url), "tel", 3)==0) | (pj_stricmp2(pjsip_uri_get_scheme(url), "tel")==0) | |||
/** | /** | |||
* Generic function to get the URI scheme. | * Generic function to get the URI scheme. | |||
* @param uri the URI object. | * @param uri the URI object. | |||
* @return the URI scheme. | * @return the URI scheme. | |||
*/ | */ | |||
PJ_INLINE(const pj_str_t*) pjsip_uri_get_scheme(const void *uri) | PJ_INLINE(const pj_str_t*) pjsip_uri_get_scheme(const void *uri) | |||
{ | { | |||
return (*((pjsip_uri*)uri)->vptr->p_get_scheme)(uri); | return (*((pjsip_uri*)uri)->vptr->p_get_scheme)(uri); | |||
} | } | |||
End of changes. 5 change blocks. | ||||
5 lines changed or deleted | 5 lines changed or added | |||
ssl_sock.h | ssl_sock.h | |||
---|---|---|---|---|
/* $Id: ssl_sock.h 3942 2012-01-16 05:05:47Z nanang $ */ | /* $Id: ssl_sock.h 4376 2013-02-27 09:41:37Z nanang $ */ | |||
/* | /* | |||
* Copyright (C) 2009-2011 Teluu Inc. (http://www.teluu.com) | * Copyright (C) 2009-2011 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 529 | skipping to change at line 529 | |||
/** | /** | |||
* Describes active remote certificate info. | * Describes active remote certificate info. | |||
*/ | */ | |||
pj_ssl_cert_info *remote_cert_info; | pj_ssl_cert_info *remote_cert_info; | |||
/** | /** | |||
* Status of peer certificate verification. | * Status of peer certificate verification. | |||
*/ | */ | |||
pj_uint32_t verify_status; | pj_uint32_t verify_status; | |||
/** | ||||
* Last native error returned by the backend. | ||||
*/ | ||||
unsigned long last_native_err; | ||||
} pj_ssl_sock_info; | } pj_ssl_sock_info; | |||
/** | /** | |||
* Definition of secure socket creation parameters. | * Definition of secure socket creation parameters. | |||
*/ | */ | |||
typedef struct pj_ssl_sock_param | typedef struct pj_ssl_sock_param | |||
{ | { | |||
/** | /** | |||
* Specifies socket address family, either pj_AF_INET() and pj_AF_INET6 (). | * Specifies socket address family, either pj_AF_INET() and pj_AF_INET6 (). | |||
* | * | |||
End of changes. 2 change blocks. | ||||
1 lines changed or deleted | 6 lines changed or added | |||
stun_session.h | stun_session.h | |||
---|---|---|---|---|
/* $Id: stun_session.h 3553 2011-05-05 06:14:19Z nanang $ */ | /* $Id: stun_session.h 4407 2013-02-27 15:02:03Z riza $ */ | |||
/* | /* | |||
* Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) | * Copyright (C) 2008-2011 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 677 | skipping to change at line 677 | |||
pj_bool_t notify, | pj_bool_t notify, | |||
pj_status_t status); | pj_status_t status); | |||
/** | /** | |||
* Explicitly request retransmission of the request. Normally application | * Explicitly request retransmission of the request. Normally application | |||
* doesn't need to do this, but this functionality is needed by ICE to | * doesn't need to do this, but this functionality is needed by ICE to | |||
* speed up connectivity check completion. | * speed up connectivity check completion. | |||
* | * | |||
* @param sess The STUN session instance. | * @param sess The STUN session instance. | |||
* @param tdata The request message previously sent. | * @param tdata The request message previously sent. | |||
* @param mod_count Boolean flag to indicate whether transmission count | ||||
* needs to be incremented. | ||||
* | * | |||
* @return PJ_SUCCESS on success, or the appropriate error. | * @return PJ_SUCCESS on success, or the appropriate error. | |||
* This function will return PJNATH_ESTUNDESTROYED if | * This function will return PJNATH_ESTUNDESTROYED if | |||
* application has destroyed the session in \a on_send_msg( ) | * application has destroyed the session in \a on_send_msg( ) | |||
* callback. | * callback. | |||
*/ | */ | |||
PJ_DECL(pj_status_t) pj_stun_session_retransmit_req(pj_stun_session *sess, | PJ_DECL(pj_status_t) pj_stun_session_retransmit_req(pj_stun_session *sess, | |||
pj_stun_tx_data *tdata); | pj_stun_tx_data *tdata, | |||
pj_bool_t mod_count); | ||||
/** | /** | |||
* Application must call this function to notify the STUN session about | * Application must call this function to notify the STUN session about | |||
* the arrival of STUN packet. The STUN packet MUST have been checked | * the arrival of STUN packet. The STUN packet MUST have been checked | |||
* first with #pj_stun_msg_check() to verify that this is indeed a valid | * first with #pj_stun_msg_check() to verify that this is indeed a valid | |||
* STUN packet. | * STUN packet. | |||
* | * | |||
* The STUN session will decode the packet into pj_stun_msg, and process | * The STUN session will decode the packet into pj_stun_msg, and process | |||
* the message accordingly. If the message is a response, it will search | * the message accordingly. If the message is a response, it will search | |||
* through the outstanding STUN client transactions for a matching | * through the outstanding STUN client transactions for a matching | |||
End of changes. 3 change blocks. | ||||
2 lines changed or deleted | 5 lines changed or added | |||
stun_transaction.h | stun_transaction.h | |||
---|---|---|---|---|
/* $Id: stun_transaction.h 3553 2011-05-05 06:14:19Z nanang $ */ | /* $Id: stun_transaction.h 4407 2013-02-27 15:02:03Z riza $ */ | |||
/* | /* | |||
* Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) | * Copyright (C) 2008-2011 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 227 | skipping to change at line 227 | |||
pj_bool_t retransmit, | pj_bool_t retransmit, | |||
void *pkt, | void *pkt, | |||
unsigned pkt_len); | unsigned pkt_len); | |||
/** | /** | |||
* Request to retransmit the request. Normally application should not need | * Request to retransmit the request. Normally application should not need | |||
* to call this function since retransmission would be handled internally, | * to call this function since retransmission would be handled internally, | |||
* but this functionality is needed by ICE. | * but this functionality is needed by ICE. | |||
* | * | |||
* @param tsx The STUN client transaction instance. | * @param tsx The STUN client transaction instance. | |||
* @param mod_count Boolean flag to indicate whether transmission count | ||||
* needs to be incremented. | ||||
* | * | |||
* @return PJ_SUCCESS on success, or PJNATH_ESTUNDESTROYED | * @return PJ_SUCCESS on success, or PJNATH_ESTUNDESTROYED | |||
* when the user has destroyed the transaction in | * when the user has destroyed the transaction in | |||
* \a on_send_msg() callback, or any other error code | * \a on_send_msg() callback, or any other error code | |||
* as returned by \a on_send_msg() callback. | * as returned by \a on_send_msg() callback. | |||
*/ | */ | |||
PJ_DECL(pj_status_t) pj_stun_client_tsx_retransmit(pj_stun_client_tsx *tsx) | PJ_DECL(pj_status_t) pj_stun_client_tsx_retransmit(pj_stun_client_tsx *tsx, | |||
; | pj_bool_t mod_count); | |||
/** | /** | |||
* Notify the STUN transaction about the arrival of STUN response. | * Notify the STUN transaction about the arrival of STUN response. | |||
* If the STUN response contains a final error (300 and greater), the | * If the STUN response contains a final error (300 and greater), the | |||
* transaction will be terminated and callback will be called. If the | * transaction will be terminated and callback will be called. If the | |||
* STUN response contains response code 100-299, retransmission | * STUN response contains response code 100-299, retransmission | |||
* will cease, but application must still call this function again | * will cease, but application must still call this function again | |||
* with a final response later to allow the transaction to complete. | * with a final response later to allow the transaction to complete. | |||
* | * | |||
* @param tsx The STUN client transaction instance. | * @param tsx The STUN client transaction instance. | |||
End of changes. 3 change blocks. | ||||
3 lines changed or deleted | 5 lines changed or added | |||
transport.h | transport.h | |||
---|---|---|---|---|
/* $Id: transport.h 3553 2011-05-05 06:14:19Z nanang $ */ | /* $Id: transport.h 4346 2013-02-13 08:20:33Z nanang $ */ | |||
/* | /* | |||
* Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) | * Copyright (C) 2008-2011 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 525 | skipping to change at line 525 | |||
info->specific_info_cnt = 0; | info->specific_info_cnt = 0; | |||
} | } | |||
/** | /** | |||
* Get media transport info from the specified transport and all underlying | * Get media transport info from the specified transport and all underlying | |||
* transports if any. The transport also contains information about socket info | * transports if any. The transport also contains information about socket info | |||
* which describes the local address of the transport, and would be needed | * which describes the local address of the transport, and would be needed | |||
* for example to fill in the "c=" and "m=" line of local SDP. | * for example to fill in the "c=" and "m=" line of local SDP. | |||
* | * | |||
* @param tp The transport. | * @param tp The transport. | |||
* @param info Media socket info to be initialized. | * @param info Media transport info to be initialized. | |||
* | * | |||
* @return PJ_SUCCESS on success. | * @return PJ_SUCCESS on success. | |||
*/ | */ | |||
PJ_INLINE(pj_status_t) pjmedia_transport_get_info(pjmedia_transport *tp, | PJ_INLINE(pj_status_t) pjmedia_transport_get_info(pjmedia_transport *tp, | |||
pjmedia_transport_info *in fo) | pjmedia_transport_info *in fo) | |||
{ | { | |||
if (tp && tp->op && tp->op->get_info) | if (tp && tp->op && tp->op->get_info) | |||
return (*tp->op->get_info)(tp, info); | return (*tp->op->get_info)(tp, info); | |||
return PJ_ENOTSUP; | return PJ_ENOTSUP; | |||
} | } | |||
/** | /** | |||
* Utility API to get transport type specific info from the specified media | ||||
* transport info. | ||||
* | ||||
* @param info Media transport info. | ||||
* @param type Media transport type. | ||||
* | ||||
* @return Pointer to media transport specific info, or NULL if | ||||
* specific info for the transport type is not found. | ||||
*/ | ||||
PJ_INLINE(void*) pjmedia_transport_info_get_spc_info( | ||||
pjmedia_transport_info *info | ||||
, | ||||
pjmedia_transport_type type) | ||||
{ | ||||
unsigned i; | ||||
for (i = 0; i < info->specific_info_cnt; ++i) { | ||||
if (info->spc_info[i].type == type) | ||||
return (void*)info->spc_info[i].buffer; | ||||
} | ||||
return NULL; | ||||
} | ||||
/** | ||||
* Attach callbacks to be called on receipt of incoming RTP/RTCP packets. | * Attach callbacks to be called on receipt of incoming RTP/RTCP packets. | |||
* This is just a simple wrapper which calls <tt>attach()</tt> member of | * This is just a simple wrapper which calls <tt>attach()</tt> member of | |||
* the transport. | * the transport. | |||
* | * | |||
* @param tp The media transport. | * @param tp The media transport. | |||
* @param user_data Arbitrary user data to be set when the callbacks are | * @param user_data Arbitrary user data to be set when the callbacks are | |||
* called. | * called. | |||
* @param rem_addr Remote RTP address to send RTP packet to. | * @param rem_addr Remote RTP address to send RTP packet to. | |||
* @param rem_rtcp Optional remote RTCP address. If the argument is NULL | * @param rem_rtcp Optional remote RTCP address. If the argument is NULL | |||
* or if the address is zero, the RTCP address will be | * or if the address is zero, the RTCP address will be | |||
End of changes. 3 change blocks. | ||||
2 lines changed or deleted | 25 lines changed or added | |||