config.h   config.h 
/* $Id: config.h 4139 2012-05-22 09:52:29Z bennylp $ */ /* $Id: config.h 4189 2012-07-03 03:11:24Z 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 469 skipping to change at line 469
* is destroyed. This works better when memory verification programs * is destroyed. This works better when memory verification programs
* such as Rational Purify is used. * such as Rational Purify is used.
* *
* Default: 0 * Default: 0
*/ */
#ifndef PJ_POOL_DEBUG #ifndef PJ_POOL_DEBUG
# define PJ_POOL_DEBUG 0 # define PJ_POOL_DEBUG 0
#endif #endif
/** /**
* Enable timer heap debugging facility. When this is enabled, application
* can call pj_timer_heap_dump() to show the contents of the timer heap
* along with the source location where the timer entries were scheduled.
* See https://trac.pjsip.org/repos/ticket/1527 for more info.
*
* Default: 0
*/
#ifndef PJ_TIMER_DEBUG
# define PJ_TIMER_DEBUG 0
#endif
/**
* Specify this as \a stack_size argument in #pj_thread_create() to specify * Specify this as \a stack_size argument in #pj_thread_create() to specify
* that thread should use default stack size for the current platform. * that thread should use default stack size for the current platform.
* *
* Default: 8192 * Default: 8192
*/ */
#ifndef PJ_THREAD_DEFAULT_STACK_SIZE #ifndef PJ_THREAD_DEFAULT_STACK_SIZE
# define PJ_THREAD_DEFAULT_STACK_SIZE 8192 # define PJ_THREAD_DEFAULT_STACK_SIZE 8192
#endif #endif
/** /**
skipping to change at line 1122 skipping to change at line 1134
PJ_BEGIN_DECL PJ_BEGIN_DECL
/** PJLIB version major number. */ /** PJLIB version major number. */
#define PJ_VERSION_NUM_MAJOR 2 #define PJ_VERSION_NUM_MAJOR 2
/** PJLIB version minor number. */ /** PJLIB version minor number. */
#define PJ_VERSION_NUM_MINOR 0 #define PJ_VERSION_NUM_MINOR 0
/** PJLIB version revision number. */ /** PJLIB version revision number. */
#define PJ_VERSION_NUM_REV 0 #define PJ_VERSION_NUM_REV 1
/** /**
* Extra suffix for the version (e.g. "-trunk"), or empty for * Extra suffix for the version (e.g. "-trunk"), 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. 
2 lines changed or deleted 14 lines changed or added


 format.h   format.h 
/* $Id: format.h 4017 2012-04-04 05:39:50Z ming $ */ /* $Id: format.h 4158 2012-06-06 09:56:14Z 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 171 skipping to change at line 171
* and the third plane contains only the V (Cr) sample. * and the third plane contains only the V (Cr) sample.
*/ */
PJMEDIA_FORMAT_I420 = PJMEDIA_FORMAT_PACK('I', '4', '2', '0' ), PJMEDIA_FORMAT_I420 = PJMEDIA_FORMAT_PACK('I', '4', '2', '0' ),
/** /**
* IYUV is alias for I420. * IYUV is alias for I420.
*/ */
PJMEDIA_FORMAT_IYUV = PJMEDIA_FORMAT_I420, PJMEDIA_FORMAT_IYUV = PJMEDIA_FORMAT_I420,
/** /**
* This is planar 4:2:2/16bpp YUV format. * This is planar 4:2:0/12bpp YUV format, similar to I420 or IYUV but
* the U (Cb) and V (Cr) planes order is switched, i.e: the second plan
e
* contains the V (Cb) samples and the third plane contains the V (Cr)
* samples.
*/ */
PJMEDIA_FORMAT_YV12 = PJMEDIA_FORMAT_PACK('Y', 'V', '1', '2' ), PJMEDIA_FORMAT_YV12 = PJMEDIA_FORMAT_PACK('Y', 'V', '1', '2' ),
/** /**
* This is planar 4:2:2/16bpp YUV format, the data can be treated as
* three planes of color components, where the first plane contains
* only the Y samples, the second plane contains only the U (Cb) sample
s,
* and the third plane contains only the V (Cr) sample.
*/
PJMEDIA_FORMAT_I422 = PJMEDIA_FORMAT_PACK('I', '4', '2', '2'
),
/**
* The JPEG version of planar 4:2:0/12bpp YUV format. * The JPEG version of planar 4:2:0/12bpp YUV format.
*/ */
PJMEDIA_FORMAT_I420JPEG = PJMEDIA_FORMAT_PACK('J', '4', '2', '0'), PJMEDIA_FORMAT_I420JPEG = PJMEDIA_FORMAT_PACK('J', '4', '2', '0'),
/** /**
* The JPEG version of planar 4:2:2/16bpp YUV format. * The JPEG version of planar 4:2:2/16bpp YUV format.
*/ */
PJMEDIA_FORMAT_I422JPEG = PJMEDIA_FORMAT_PACK('J', '4', '2', '2'), PJMEDIA_FORMAT_I422JPEG = PJMEDIA_FORMAT_PACK('J', '4', '2', '2'),
/** /**
 End of changes. 3 change blocks. 
2 lines changed or deleted 16 lines changed or added


 pjsua_internal.h   pjsua_internal.h 
/* $Id: pjsua_internal.h 4099 2012-04-26 16:46:27Z nanang $ */ /* $Id: pjsua_internal.h 4175 2012-06-22 08:53:11Z 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 110 skipping to change at line 110
*/ */
#define PJSUA_MAX_CALL_MEDIA PJMEDIA_MAX_SDP_MEDIA #define PJSUA_MAX_CALL_MEDIA PJMEDIA_MAX_SDP_MEDIA
/* Call answer's list. */ /* Call answer's list. */
typedef struct call_answer typedef struct call_answer
{ {
PJ_DECL_LIST_MEMBER(struct call_answer); PJ_DECL_LIST_MEMBER(struct call_answer);
pjsua_msg_data *msg_data; /**< Answer's headers list. */ pjsua_msg_data *msg_data; /**< Answer's headers list. */
pj_str_t *reason; /**< Answer's reason phrase. */ pj_str_t *reason; /**< Answer's reason phrase. */
unsigned code; /**< Answer's status code. */ unsigned code; /**< Answer's status code. */
pjsua_call_setting *opt; /**< Answer's call setting. */
} call_answer; } call_answer;
/** /**
* Structure to be attached to invite dialog. * Structure to be attached to invite dialog.
* Given a dialog "dlg", application can retrieve this structure * Given a dialog "dlg", application can retrieve this structure
* by accessing dlg->mod_data[pjsua.mod.id]. * by accessing dlg->mod_data[pjsua.mod.id].
*/ */
struct pjsua_call struct pjsua_call
{ {
unsigned index; /**< Index in pjsua array. */ unsigned index; /**< Index in pjsua array. */
pjsua_call_setting opt; /**< Call setting. */ pjsua_call_setting opt; /**< Call setting. */
pj_bool_t opt_inited;/**< Initial call setting has been set,
to avoid different opt in answer.
*/
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. */
skipping to change at line 171 skipping to change at line 174
pjsip_dialog *dlg; /**< Call dialog. */ pjsip_dialog *dlg; /**< Call dialog. */
pjmedia_sdp_session *rem_sdp;/**< Remote SDP. */ pjmedia_sdp_session *rem_sdp;/**< Remote SDP. */
pj_pool_t *pool_prov;/**< Provisional pool. */ pj_pool_t *pool_prov;/**< Provisional pool. */
pj_bool_t med_ch_deinit;/**< Media channel de-init-ed? */ pj_bool_t med_ch_deinit;/**< Media channel de-init-ed? */
union { union {
struct { struct {
pjsua_msg_data *msg_data;/**< Headers for outgoing INVITE. */ pjsua_msg_data *msg_data;/**< Headers for outgoing INVITE. */
} out_call; } out_call;
struct { struct {
call_answer answers;/**< A list of call answers. */ call_answer answers;/**< A list of call answers. */
pjsip_dialog *replaced_dlg; /**< Replaced dialog. */
} inc_call; } inc_call;
} call_var; } call_var;
} async_call; /**< Temporary storage for async } async_call; /**< Temporary storage for async
outgoing/incoming call. */ outgoing/incoming call. */
pj_bool_t rem_offerer; /**< Was remote SDP offerer? */ pj_bool_t rem_offerer; /**< Was remote SDP offerer? */
unsigned rem_aud_cnt; /**< No of active audio in last remot e unsigned rem_aud_cnt; /**< No of active audio in last remot e
offer. */ offer. */
unsigned rem_vid_cnt; /**< No of active video in last remot e unsigned rem_vid_cnt; /**< No of active video in last remot e
offer. */ offer. */
skipping to change at line 212 skipping to change at line 216
pjsua_acc_config cfg; /**< Account configuration. */ pjsua_acc_config cfg; /**< Account configuration. */
pj_bool_t valid; /**< Is this account valid? */ pj_bool_t valid; /**< Is this account valid? */
int index; /**< Index in accounts array. */ int index; /**< Index in accounts array. */
pj_str_t display; /**< Display name, if any. */ pj_str_t display; /**< Display name, if any. */
pj_str_t user_part; /**< User part of local URI. */ pj_str_t user_part; /**< User part of local URI. */
pj_str_t contact; /**< Our Contact header. */ pj_str_t contact; /**< Our Contact header. */
pj_str_t reg_contact; /**< Contact header for REGISTER. pj_str_t reg_contact; /**< Contact header for REGISTER.
It may be different than acc It may be different than acc
contact if outbound is used */ contact if outbound is used */
pjsip_host_port via_addr; /**< Address for Via header */
pjsip_transport *via_tp; /**< Transport associated with
the Via address */
pj_str_t srv_domain; /**< Host part of reg server. */ pj_str_t srv_domain; /**< Host part of reg server. */
int srv_port; /**< Port number of reg server. */ int srv_port; /**< Port number of reg server. */
pjsip_regc *regc; /**< Client registration session. */ pjsip_regc *regc; /**< Client registration session. */
pj_status_t reg_last_err; /**< Last registration error. */ pj_status_t reg_last_err; /**< Last registration error. */
int reg_last_code; /**< Last status last register. */ int reg_last_code; /**< Last status last register. */
struct { struct {
pj_bool_t active; /**< Flag of reregister status. */ pj_bool_t active; /**< Flag of reregister status. */
skipping to change at line 659 skipping to change at line 666
void pjsua_pres_delete_acc(int acc_id, unsigned flags); void pjsua_pres_delete_acc(int acc_id, unsigned flags);
/** /**
* Init IM module handler to handle incoming MESSAGE outside dialog. * Init IM module handler to handle incoming MESSAGE outside dialog.
*/ */
pj_status_t pjsua_im_init(void); pj_status_t pjsua_im_init(void);
/** /**
* Start MWI subscription * Start MWI subscription
*/ */
void pjsua_start_mwi(pjsua_acc *acc); pj_status_t pjsua_start_mwi(pjsua_acc_id acc_id, pj_bool_t force_renew);
/** /**
* Init call subsystem. * Init call subsystem.
*/ */
pj_status_t pjsua_call_subsys_init(const pjsua_config *cfg); pj_status_t pjsua_call_subsys_init(const pjsua_config *cfg);
/** /**
* Start call subsystem. * Start call subsystem.
*/ */
pj_status_t pjsua_call_subsys_start(void); pj_status_t pjsua_call_subsys_start(void);
skipping to change at line 754 skipping to change at line 761
*/ */
pj_status_t pjsua_aud_subsys_init(void); pj_status_t pjsua_aud_subsys_init(void);
pj_status_t pjsua_aud_subsys_start(void); pj_status_t pjsua_aud_subsys_start(void);
pj_status_t pjsua_aud_subsys_destroy(void); pj_status_t pjsua_aud_subsys_destroy(void);
void pjsua_aud_stop_stream(pjsua_call_media *call_med); void pjsua_aud_stop_stream(pjsua_call_media *call_med);
pj_status_t pjsua_aud_channel_update(pjsua_call_media *call_med, pj_status_t pjsua_aud_channel_update(pjsua_call_media *call_med,
pj_pool_t *tmp_pool, pj_pool_t *tmp_pool,
pjmedia_stream_info *si, pjmedia_stream_info *si,
const pjmedia_sdp_session *local_sdp, const pjmedia_sdp_session *local_sdp,
const pjmedia_sdp_session *remote_sdp); const pjmedia_sdp_session *remote_sdp);
void pjsua_check_snd_dev_idle();
/* /*
* Video * Video
*/ */
pj_status_t pjsua_vid_subsys_init(void); pj_status_t pjsua_vid_subsys_init(void);
pj_status_t pjsua_vid_subsys_start(void); pj_status_t pjsua_vid_subsys_start(void);
pj_status_t pjsua_vid_subsys_destroy(void); pj_status_t pjsua_vid_subsys_destroy(void);
void pjsua_vid_stop_stream(pjsua_call_media *call_med); void pjsua_vid_stop_stream(pjsua_call_media *call_med);
pj_status_t pjsua_vid_channel_init(pjsua_call_media *call_med); pj_status_t pjsua_vid_channel_init(pjsua_call_media *call_med);
pj_status_t pjsua_vid_channel_update(pjsua_call_media *call_med, pj_status_t pjsua_vid_channel_update(pjsua_call_media *call_med,
 End of changes. 7 change blocks. 
2 lines changed or deleted 11 lines changed or added


 publish.h   publish.h 
/* $Id: publish.h 3553 2011-05-05 06:14:19Z nanang $ */ /* $Id: publish.h 4173 2012-06-20 10:39:05Z 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 224 skipping to change at line 224
* *
* @param pubc The client publication structure. * @param pubc The client publication structure.
* @param hdr_list The list of headers. * @param hdr_list The list of headers.
* *
* @return PJ_SUCCESS on success. * @return PJ_SUCCESS on success.
*/ */
PJ_DECL(pj_status_t) pjsip_publishc_set_headers(pjsip_publishc *pubc, PJ_DECL(pj_status_t) pjsip_publishc_set_headers(pjsip_publishc *pubc,
const pjsip_hdr *hdr_list); const pjsip_hdr *hdr_list);
/** /**
* Set the "sent-by" field of the Via header for outgoing requests.
*
* @param pubc The client publication structure.
* @param via_addr Set via_addr to use for the Via header or NULL to use
* the transport's published name.
* @param via_tp via_addr will only be used if we are using via_tp
* transport.
*
* @return PJ_SUCCESS on success.
*/
PJ_DECL(pj_status_t) pjsip_publishc_set_via_sent_by(pjsip_publishc *pubc,
pjsip_host_port *via_add
r,
pjsip_transport *via_tp
);
/**
* Create PUBLISH request for the specified client publication structure. * Create PUBLISH request for the specified client publication structure.
* Application can use this function to both create initial publication * Application can use this function to both create initial publication
* or to modify existing publication. * or to modify existing publication.
* *
* After the PUBLISH request is created, application MUST fill in the * After the PUBLISH request is created, application MUST fill in the
* body part of the request with the appropriate content for the Event * body part of the request with the appropriate content for the Event
* being published. * being published.
* *
* Note that publication refresh are handled automatically by the session * Note that publication refresh are handled automatically by the session
* (as long as auto_refresh argument below is non-zero), and application * (as long as auto_refresh argument below is non-zero), and application
 End of changes. 2 change blocks. 
1 lines changed or deleted 18 lines changed or added


 sip_config.h   sip_config.h 
/* $Id: sip_config.h 4094 2012-04-26 09:31:00Z bennylp $ */ /* $Id: sip_config.h 4172 2012-06-19 14:35:18Z 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 950 skipping to change at line 950
* pending. If this is set to false, the client will return error * pending. If this is set to false, the client will return error
* on the PUBLISH request if there is another PUBLISH transaction still * on the PUBLISH request if there is another PUBLISH transaction still
* in progress. * in progress.
* *
* Default: 1 (yes) * Default: 1 (yes)
*/ */
#ifndef PJSIP_PUBLISHC_QUEUE_REQUEST #ifndef PJSIP_PUBLISHC_QUEUE_REQUEST
# define PJSIP_PUBLISHC_QUEUE_REQUEST 1 # define PJSIP_PUBLISHC_QUEUE_REQUEST 1
#endif #endif
/**
* Specify the default expiration time for Message Waiting Indication
* (RFC 3842) event subscription, for both client and server subscription.
* For client subscription, application can override this by specifying
* positive non-zero value in "expires" parameter when calling
* #pjsip_mwi_initiate(). For server subscription, we would take the
* expiration value from the Expires header sent by client in the SUBSCRIBE
* request if the header exists and its value is less than this setting,
* otherwise this setting will be used.
*
* Default: 3600 seconds
*/
#ifndef PJSIP_MWI_DEFAULT_EXPIRES
# define PJSIP_MWI_DEFAULT_EXPIRES 3600
#endif
PJ_END_DECL PJ_END_DECL
/** /**
* @} * @}
*/ */
#include <pj/config.h> #include <pj/config.h>
#endif /* __PJSIP_SIP_CONFIG_H__ */ #endif /* __PJSIP_SIP_CONFIG_H__ */
 End of changes. 2 change blocks. 
1 lines changed or deleted 17 lines changed or added


 sip_dialog.h   sip_dialog.h 
/* $Id: sip_dialog.h 3553 2011-05-05 06:14:19Z nanang $ */ /* $Id: sip_dialog.h 4173 2012-06-20 10:39:05Z 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 170 skipping to change at line 170
/** Transport selector. */ /** Transport selector. */
pjsip_tpselector tp_sel; pjsip_tpselector tp_sel;
/* Dialog usages. */ /* Dialog usages. */
unsigned usage_cnt; /**< Number of registered usages. */ unsigned usage_cnt; /**< Number of registered usages. */
pjsip_module *usage[PJSIP_MAX_MODULE]; /**< Array of usages, pjsip_module *usage[PJSIP_MAX_MODULE]; /**< Array of usages,
priority sorted */ priority sorted */
/** Module specific data. */ /** Module specific data. */
void *mod_data[PJSIP_MAX_MODULE]; /**< Module data. */ void *mod_data[PJSIP_MAX_MODULE]; /**< Module data. */
/**
* If via_addr is set, it will be used as the "sent-by" field of the
* Via header for outgoing requests as long as the request uses via_tp
* transport. Normally application should not use or access these field
s.
*/
pjsip_host_port via_addr; /**< Via address.
*/
const void *via_tp; /**< Via transport.
*/
}; };
/** /**
* This utility function returns PJ_TRUE if the specified method is a * This utility function returns PJ_TRUE if the specified method is a
* dialog creating request. This method property is used to determine * dialog creating request. This method property is used to determine
* whether Contact header should be included in outgoing request. * whether Contact header should be included in outgoing request.
* *
* @param m The SIP method. * @param m The SIP method.
* *
* @return PJ_TRUE if the method creates a dialog. * @return PJ_TRUE if the method creates a dialog.
skipping to change at line 291 skipping to change at line 299
* @param sel Transport selector containing the specification of * @param sel Transport selector containing the specification of
* transport or listener to be used by this dialog * transport or listener to be used by this dialog
* to send requests. * to send requests.
* *
* @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) pjsip_dlg_set_transport(pjsip_dialog *dlg, PJ_DECL(pj_status_t) pjsip_dlg_set_transport(pjsip_dialog *dlg,
const pjsip_tpselector *sel); const pjsip_tpselector *sel);
/** /**
* Set the "sent-by" field of the Via header for outgoing requests.
*
* @param dlg The dialog instance.
* @param via_addr Set via_addr to use for the Via header or NULL to use
* the transport's published name.
* @param via_tp via_addr will only be used if we are using via_tp
* transport.
*
* @return PJ_SUCCESS on success.
*/
PJ_DECL(pj_status_t) pjsip_dlg_set_via_sent_by(pjsip_dialog *dlg,
pjsip_host_port *via_addr,
pjsip_transport *via_tp);
/**
* Create a new (forked) dialog on receipt on forked response in rdata. * Create a new (forked) dialog on receipt on forked response in rdata.
* The new dialog will be created from original_dlg, except that it will ha ve * The new dialog will be created from original_dlg, except that it will ha ve
* new remote tag as copied from the To header in the response. Upon return , * new remote tag as copied from the To header in the response. Upon return ,
* the new_dlg will have been registered to the user agent. Applications ju st * the new_dlg will have been registered to the user agent. Applications ju st
* need to add modules as dialog's usages. * need to add modules as dialog's usages.
* *
* Note that initially, the session count in the dialog will be initialized * Note that initially, the session count in the dialog will be initialized
* to zero. * to zero.
* *
* @param original_dlg The original UAC dialog. * @param original_dlg The original UAC dialog.
skipping to change at line 393 skipping to change at line 416
/** /**
* Check if the specified module has been registered as usage to the dialog . * Check if the specified module has been registered as usage to the dialog .
* *
* @param dlg The dialog. * @param dlg The dialog.
* @param module The module. * @param module The module.
* *
* @return PJ_TRUE if the specified module is currently * @return PJ_TRUE if the specified module is currently
* registered as a usage to the dialog. * registered as a usage to the dialog.
*/ */
PJ_DECL(pj_bool_t) pjsip_dlg_has_usage(pjsip_dialog *dlg, PJ_DECL(pj_bool_t) pjsip_dlg_has_usage(pjsip_dialog *dlg,
pjsip_module *module); pjsip_module *module);
/** /**
* Attach module specific data to the dialog. Application can also set * Attach module specific data to the dialog. Application can also set
* the value directly by accessing dlg->mod_data[module_id]. * the value directly by accessing dlg->mod_data[module_id].
* *
* @param dlg The dialog * @param dlg The dialog
* @param mod_id The ID of the module from which the data is to b e * @param mod_id The ID of the module from which the data is to b e
* set to the dialog. * set to the dialog.
* @param data Arbitrary data. * @param data Arbitrary data.
* *
 End of changes. 4 change blocks. 
2 lines changed or deleted 28 lines changed or added


 sip_endpoint.h   sip_endpoint.h 
/* $Id: sip_endpoint.h 3999 2012-03-30 07:10:13Z bennylp $ */ /* $Id: sip_endpoint.h 4154 2012-06-05 10:41:17Z bennylp $ */
/* /*
* 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 150 skipping to change at line 150
* periodically (by calling #pjsip_endpt_handle_events) to ensure that the * periodically (by calling #pjsip_endpt_handle_events) to ensure that the
* timer events are handled in timely manner. When the timeout for the time r * timer events are handled in timely manner. When the timeout for the time r
* has elapsed, the callback specified in the entry argument will be called . * has elapsed, the callback specified in the entry argument will be called .
* This function, like all other endpoint functions, is thread safe. * This function, like all other endpoint functions, is thread safe.
* *
* @param endpt The endpoint. * @param endpt The endpoint.
* @param entry The timer entry. * @param entry The timer entry.
* @param delay The relative delay of the timer. * @param delay The relative delay of the timer.
* @return PJ_OK (zero) if successfull. * @return PJ_OK (zero) if successfull.
*/ */
#if PJ_TIMER_DEBUG
#define pjsip_endpt_schedule_timer(ept,ent,d) \
pjsip_endpt_schedule_timer_dbg(ept, ent, d, \
__FILE__, __LINE__)
PJ_DECL(pj_status_t) pjsip_endpt_schedule_timer_dbg(pjsip_endpoint *endpt,
pj_timer_entry *entry,
const pj_time_val *delay
,
const char *src_file,
int src_line);
#else
PJ_DECL(pj_status_t) pjsip_endpt_schedule_timer( pjsip_endpoint *endpt, PJ_DECL(pj_status_t) pjsip_endpt_schedule_timer( pjsip_endpoint *endpt,
pj_timer_entry *entry, pj_timer_entry *entry,
const pj_time_val *delay ); const pj_time_val *delay );
#endif
/** /**
* Cancel the previously registered timer. * Cancel the previously registered timer.
* This function, like all other endpoint functions, is thread safe. * This function, like all other endpoint functions, is thread safe.
* *
* @param endpt The endpoint. * @param endpt The endpoint.
* @param entry The timer entry previously registered. * @param entry The timer entry previously registered.
*/ */
PJ_DECL(void) pjsip_endpt_cancel_timer( pjsip_endpoint *endpt, PJ_DECL(void) pjsip_endpt_cancel_timer( pjsip_endpoint *endpt,
pj_timer_entry *entry ); pj_timer_entry *entry );
 End of changes. 3 change blocks. 
1 lines changed or deleted 14 lines changed or added


 sip_event.h   sip_event.h 
/* $Id: sip_event.h 3553 2011-05-05 06:14:19Z nanang $ */ /* $Id: sip_event.h 4154 2012-06-05 10:41:17Z bennylp $ */
/* /*
* 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 37 skipping to change at line 37
PJ_BEGIN_DECL PJ_BEGIN_DECL
/** /**
* @defgroup PJSIP_EVENT Event * @defgroup PJSIP_EVENT Event
* @ingroup PJSIP_CORE_CORE * @ingroup PJSIP_CORE_CORE
* @brief Representation of events as they are distributed among modules. * @brief Representation of events as they are distributed among modules.
* @{ * @{
*/ */
#include <pj/types.h> #include <pj/types.h>
#include <pj/timer.h>
/** /**
* Event IDs. * Event IDs.
*/ */
typedef enum pjsip_event_id_e typedef enum pjsip_event_id_e
{ {
/** Unidentified event. */ /** Unidentified event. */
PJSIP_EVENT_UNKNOWN, PJSIP_EVENT_UNKNOWN,
/** Timer event, normally only used internally in transaction. */ /** Timer event, normally only used internally in transaction. */
 End of changes. 2 change blocks. 
1 lines changed or deleted 2 lines changed or added


 sip_regc.h   sip_regc.h 
/* $Id: sip_regc.h 4038 2012-04-11 10:01:00Z bennylp $ */ /* $Id: sip_regc.h 4173 2012-06-20 10:39:05Z 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 187 skipping to change at line 187
*/ */
PJ_DECL(pj_status_t) pjsip_regc_init(pjsip_regc *regc, PJ_DECL(pj_status_t) pjsip_regc_init(pjsip_regc *regc,
const pj_str_t *srv_url, const pj_str_t *srv_url,
const pj_str_t *from_url, const pj_str_t *from_url,
const pj_str_t *to_url, const pj_str_t *to_url,
int ccnt, int ccnt,
const pj_str_t contact[], const pj_str_t contact[],
pj_uint32_t expires); pj_uint32_t expires);
/** /**
* Set the "sent-by" field of the Via header for outgoing requests.
*
* @param regc The client registration structure.
* @param via_addr Set via_addr to use for the Via header or NULL to use
* the transport's published name.
* @param via_tp via_addr will only be used if we are using via_tp
* transport.
*
* @return PJ_SUCCESS on success.
*/
PJ_DECL(pj_status_t) pjsip_regc_set_via_sent_by(pjsip_regc *regc,
pjsip_host_port *via_addr,
pjsip_transport *via_tp);
/**
* Set the number of seconds to refresh the client registration before * Set the number of seconds to refresh the client registration before
* the registration expires. * the registration expires.
* *
* @param regc The registration structure. * @param regc The registration structure.
* @param delay The number of seconds to refresh the client * @param delay The number of seconds to refresh the client
* registration before the registration expires. * registration before the registration expires.
* *
* @return PJ_SUCCESS on success. * @return PJ_SUCCESS on success.
*/ */
PJ_DECL(pj_status_t) PJ_DECL(pj_status_t)
 End of changes. 2 change blocks. 
1 lines changed or deleted 16 lines changed or added


 sip_transport.h   sip_transport.h 
/* $Id: sip_transport.h 3999 2012-03-30 07:10:13Z bennylp $ */ /* $Id: sip_transport.h 4173 2012-06-20 10:39:05Z 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 573 skipping to change at line 573
* Special flag to indicate that this transmit data is a request that h as * Special flag to indicate that this transmit data is a request that h as
* been updated with proper authentication response and is ready to be * been updated with proper authentication response and is ready to be
* sent for retry. * sent for retry.
*/ */
pj_bool_t auth_retry; pj_bool_t auth_retry;
/** /**
* Arbitrary data attached by PJSIP modules. * Arbitrary data attached by PJSIP modules.
*/ */
void *mod_data[PJSIP_MAX_MODULE]; void *mod_data[PJSIP_MAX_MODULE];
/**
* If via_addr is set, it will be used as the "sent-by" field of the
* Via header for outgoing requests as long as the request uses via_tp
* transport. Normally application should not use or access these field
s.
*/
pjsip_host_port via_addr; /**< Via address. */
const void *via_tp; /**< Via transport.
*/
}; };
/** /**
* Create a new, blank transmit buffer. The reference count is initialized * Create a new, blank transmit buffer. The reference count is initialized
* to zero. * to zero.
* *
* @param mgr The transport manager. * @param mgr The transport manager.
* @param tdata Pointer to receive transmit data. * @param tdata Pointer to receive transmit data.
* *
* @return PJ_SUCCESS, or the appropriate error code. * @return PJ_SUCCESS, or the appropriate error code.
 End of changes. 2 change blocks. 
1 lines changed or deleted 11 lines changed or added


 ssl_sock.h   ssl_sock.h 
/* $Id: ssl_sock.h 3999 2012-03-30 07:10:13Z bennylp $ */ /* $Id: ssl_sock.h 4146 2012-05-30 06:35:59Z 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


 timer.h   timer.h 
/* $Id: timer.h 3034 2009-12-16 13:30:34Z bennylp $ */ /* $Id: timer.h 4154 2012-06-05 10:41:17Z bennylp $ */
/* /*
* 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
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details. * GNU General Public License for more details.
skipping to change at line 86 skipping to change at line 86
* *
* @param timer_heap The timer heap. * @param timer_heap The timer heap.
* @param entry Timer entry which timer's has expired. * @param entry Timer entry which timer's has expired.
*/ */
typedef void pj_timer_heap_callback(pj_timer_heap_t *timer_heap, typedef void pj_timer_heap_callback(pj_timer_heap_t *timer_heap,
struct pj_timer_entry *entry); struct pj_timer_entry *entry);
/** /**
* This structure represents an entry to the timer. * This structure represents an entry to the timer.
*/ */
struct pj_timer_entry typedef struct pj_timer_entry
{ {
/** /**
* User data to be associated with this entry. * User data to be associated with this entry.
* Applications normally will put the instance of object that * Applications normally will put the instance of object that
* owns the timer entry in this field. * owns the timer entry in this field.
*/ */
void *user_data; void *user_data;
/** /**
* Arbitrary ID assigned by the user/owner of this entry. * Arbitrary ID assigned by the user/owner of this entry.
skipping to change at line 118 skipping to change at line 118
* Internal unique timer ID, which is assigned by the timer heap. * Internal unique timer ID, which is assigned by the timer heap.
* Application should not touch this ID. * Application should not touch this ID.
*/ */
pj_timer_id_t _timer_id; pj_timer_id_t _timer_id;
/** /**
* The future time when the timer expires, which the value is updated * The future time when the timer expires, which the value is updated
* by timer heap when the timer is scheduled. * by timer heap when the timer is scheduled.
*/ */
pj_time_val _timer_value; pj_time_val _timer_value;
};
#if PJ_TIMER_DEBUG
const char *src_file;
int src_line;
#endif
} pj_timer_entry;
/** /**
* Calculate memory size required to create a timer heap. * Calculate memory size required to create a timer heap.
* *
* @param count Number of timer entries to be supported. * @param count Number of timer entries to be supported.
* @return Memory size requirement in bytes. * @return Memory size requirement in bytes.
*/ */
PJ_DECL(pj_size_t) pj_timer_heap_mem_size(pj_size_t count); PJ_DECL(pj_size_t) pj_timer_heap_mem_size(pj_size_t count);
/** /**
skipping to change at line 207 skipping to change at line 212
pj_timer_heap_callback *cb ); pj_timer_heap_callback *cb );
/** /**
* Schedule a timer entry which will expire AFTER the specified delay. * Schedule a timer entry which will expire AFTER the specified delay.
* *
* @param ht The timer heap. * @param ht The timer heap.
* @param entry The entry to be registered. * @param entry The entry to be registered.
* @param delay The interval to expire. * @param delay The interval to expire.
* @return PJ_SUCCESS, or the appropriate error code. * @return PJ_SUCCESS, or the appropriate error code.
*/ */
#if PJ_TIMER_DEBUG
# define pj_timer_heap_schedule(ht,e,d) \
pj_timer_heap_schedule_dbg(ht,e,d,__FILE__,__LINE__)
PJ_DECL(pj_status_t) pj_timer_heap_schedule_dbg( pj_timer_heap_t *ht,
pj_timer_entry *entry,
const pj_time_val *delay,
const char *src_file,
int src_line);
#else
PJ_DECL(pj_status_t) pj_timer_heap_schedule( pj_timer_heap_t *ht, PJ_DECL(pj_status_t) pj_timer_heap_schedule( pj_timer_heap_t *ht,
pj_timer_entry *entry, pj_timer_entry *entry,
const pj_time_val *delay); const pj_time_val *delay);
#endif /* PJ_TIMER_DEBUG */
/** /**
* Cancel a previously registered timer. * Cancel a previously registered timer.
* *
* @param ht The timer heap. * @param ht The timer heap.
* @param entry The entry to be cancelled. * @param entry The entry to be cancelled.
* @return The number of timer cancelled, which should be one if t he * @return The number of timer cancelled, which should be one if t he
* entry has really been registered, or zero if no timer w as * entry has really been registered, or zero if no timer w as
* cancelled. * cancelled.
*/ */
skipping to change at line 261 skipping to change at line 277
* @param ht The timer heap. * @param ht The timer heap.
* @param next_delay If this parameter is not NULL, it will be filled up wi th * @param next_delay If this parameter is not NULL, it will be filled up wi th
* the time delay until the next timer elapsed, or * the time delay until the next timer elapsed, or
* PJ_MAXINT32 in the sec part if no entry exist. * PJ_MAXINT32 in the sec part if no entry exist.
* *
* @return The number of timers expired. * @return The number of timers expired.
*/ */
PJ_DECL(unsigned) pj_timer_heap_poll( pj_timer_heap_t *ht, PJ_DECL(unsigned) pj_timer_heap_poll( pj_timer_heap_t *ht,
pj_time_val *next_delay); pj_time_val *next_delay);
#if PJ_TIMER_DEBUG
/**
* Dump timer heap entries.
*
* @param ht The timer heap.
*/
PJ_DECL(void) pj_timer_heap_dump(pj_timer_heap_t *ht);
#endif
/** /**
* @} * @}
*/ */
PJ_END_DECL PJ_END_DECL
#endif /* __PJ_TIMER_H__ */ #endif /* __PJ_TIMER_H__ */
 End of changes. 6 change blocks. 
3 lines changed or deleted 28 lines changed or added


 types.h   types.h 
/* $Id: types.h 3999 2012-03-30 07:10:13Z bennylp $ */ /* $Id: types.h 4154 2012-06-05 10:41:17Z bennylp $ */
/* /*
* 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 212 skipping to change at line 212
* I/O queue framework. * I/O queue framework.
*/ */
typedef struct pj_ioqueue_key_t pj_ioqueue_key_t; typedef struct pj_ioqueue_key_t pj_ioqueue_key_t;
/** /**
* Opaque data to identify timer heap. * Opaque data to identify timer heap.
*/ */
typedef struct pj_timer_heap_t pj_timer_heap_t; typedef struct pj_timer_heap_t pj_timer_heap_t;
/** /**
* Forward declaration for timer entry.
*/
typedef struct pj_timer_entry pj_timer_entry;
/**
* Opaque data type for atomic operations. * Opaque data type for atomic operations.
*/ */
typedef struct pj_atomic_t pj_atomic_t; typedef struct pj_atomic_t pj_atomic_t;
/** /**
* Value type of an atomic variable. * Value type of an atomic variable.
*/ */
typedef PJ_ATOMIC_VALUE_TYPE pj_atomic_value_t; typedef PJ_ATOMIC_VALUE_TYPE pj_atomic_value_t;
/* ************************************************************************ * */ /* ************************************************************************ * */
 End of changes. 2 change blocks. 
6 lines changed or deleted 1 lines changed or added


 vid_port.h   vid_port.h 
/* $Id: vid_port.h 3893 2011-12-01 10:49:07Z ming $ */ /* $Id: vid_port.h 4168 2012-06-18 05:59:08Z ming $ */
/* /*
* Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2008-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 81 skipping to change at line 81
/** /**
* Initialize the parameter with the default values. Note that this typical ly * Initialize the parameter with the default values. Note that this typical ly
* would only fill the structure to zeroes unless they have different defau lt * would only fill the structure to zeroes unless they have different defau lt
* values. * values.
* *
* @param prm The parameter. * @param prm The parameter.
*/ */
PJ_DECL(void) pjmedia_vid_port_param_default(pjmedia_vid_port_param *prm); PJ_DECL(void) pjmedia_vid_port_param_default(pjmedia_vid_port_param *prm);
/** /**
* Create a video port with the specified parameter. * Create a video port with the specified parameter. When video port opens
* the video stream with different parameter than the requested values in
* the \a prm.vidparam argument, it will automatically do the necessary
* conversion.
* *
* @param pool Pool to allocate memory from. * @param pool Pool to allocate memory from.
* @param prm The video port parameter. * @param prm The video port parameter.
* @param p_vp Pointer to receive the result. * @param p_vp Pointer to receive the result.
* *
* @return PJ_SUCCESS if video port has been created * @return PJ_SUCCESS if video port has been created
* successfully, or the appropriate error code. * successfully, or the appropriate error code.
*/ */
PJ_DECL(pj_status_t) pjmedia_vid_port_create(pj_pool_t *pool, PJ_DECL(pj_status_t) pjmedia_vid_port_create(pj_pool_t *pool,
const pjmedia_vid_port_param *p rm, const pjmedia_vid_port_param *p rm,
 End of changes. 2 change blocks. 
2 lines changed or deleted 5 lines changed or added


 videodev.h   videodev.h 
/* $Id: videodev.h 4016 2012-04-04 05:05:50Z bennylp $ */ /* $Id: videodev.h 4167 2012-06-15 08:13:43Z ming $ */
/* /*
* Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2008-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 660 skipping to change at line 660
* created successfully, this function will return PJ_SUCCESS and the * created successfully, this function will return PJ_SUCCESS and the
* stream pointer will be returned in the p_strm argument. * stream pointer will be returned in the p_strm argument.
* *
* The opened stream may have been opened with different size and fps * The opened stream may have been opened with different size and fps
* than the requested values in the \a param argument. Application should * than the requested values in the \a param argument. Application should
* check the actual size and fps that the stream was opened with by inspect ing * check the actual size and fps that the stream was opened with by inspect ing
* the values in the \a param argument and see if they have changed. Also * the values in the \a param argument and see if they have changed. Also
* if the device ID in the \a param specifies default device, it may be * if the device ID in the \a param specifies default device, it may be
* replaced with the actual device ID upon return. * replaced with the actual device ID upon return.
* *
* @param param Sound device parameters to be used for the stream. * @param param On input, it specifies the video device parameters
* to be used for the stream. On output, this will be
* set to the actual video device parameters used to
* open the stream.
* @param cb Pointer to structure containing video stream * @param cb Pointer to structure containing video stream
* callbacks. * callbacks.
* @param user_data Arbitrary user data, which will be given back in th e * @param user_data Arbitrary user data, which will be given back in th e
* callbacks. * callbacks.
* @param p_strm Pointer to receive the video stream. * @param p_strm Pointer to receive the video stream.
* *
* @return PJ_SUCCESS on successful operation or the appropria te * @return PJ_SUCCESS on successful operation or the appropria te
* error code. * error code.
*/ */
PJ_DECL(pj_status_t) pjmedia_vid_dev_stream_create( PJ_DECL(pj_status_t) pjmedia_vid_dev_stream_create(
 End of changes. 2 change blocks. 
2 lines changed or deleted 5 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/