| 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_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 | |
|