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

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/